On Thu, 12 Sep 2013 08:07:49 -0700 (PDT)
David Lang <[email protected]> wrote:

> On Thu, 12 Sep 2013, Erik van Dam wrote:
> 
> > Hi David,
> >
> > Thank you for your reply aswell. I don't see any increased load on the 
> > server if it's having issues, cpu utilization is about 5%.
> >
> > I parse the apache logs like this:
> >
> > CustomLog "|/usr/bin/logger -t apache -p local0.info" combined
> >
> > So the sum up your advice:
> > - run udp
> > - upgrade rsyslog (style filters is better)
> > - increment $DynaFileCacheSize
> >
> > The only problem is is that the client wants to use tls but using udp this 
> > has to be out of the question?
> 
> The problem that you have when using a TCP based transport (which is needed 
> to 
> use encryption) is that your entire system can back up if the server gets 
> behind 
> in processing the messages.
> 
> you can address this on the client by setting high/low watermarks to tell 
> rsyslog that if it gets behind and the queue gets close to filling up that it 
> should throw away some messages instead of letting the queue fill up, which 
> is 
> what causes things to stop.
> 
> When the queue fills up, the proceses writing the logs are going to stall, 
> but 
> they will not be eating any CPU, they will be blocked.
> 
> On the syslog server, the system may have it's CPU pegged, or it may be 
> stalled 
> waiting for disk I/O (which should show up as a high CPU wait time)
> 
> are you sure the syslog server is not showing high utilization when you get 
> into 
> trouble?
> 
> even before you get into trouble, could you please run top on the syslog 
> server 
> and then hit 'H' to show the individual threads? if you can cut-n-paste the 
> upper part of the report (the header info and the rsyslog lines, which I 
> expect 
> to be the top processes showing)? I expect that it will help us see what's 
> going 
> on.
> 
> David Lang
> 
> David Lang
> 
Hi David,

Thanks for your reply. No i'm not sure about the syslog server itself, i can 
only talk about the clients, but i will monitor the syslog server on the next 
run.

Regards,
Erik

















> > Regards,
> > Erik
> >
> >
> >
> > On Mon, 9 Sep 2013 07:36:57 -0700 (PDT)
> > David Lang <[email protected]> wrote:
> >
> >> when you use reliable logging (tcp) to send logs, then you can run into the
> >> problem that if there is a problem delivering logs, your system that is
> >> generating the logs will stop and wait for the logs to be delivered.
> >>
> >> This is probably what is going on here.
> >>
> >> on your central box, does it look like it is falling behind? what sort of 
> >> CPU
> >> utilization are you seeing for rsyslog there?
> >>
> >> rsyslog 7 is significantly faster than rsyslog 5, so that shold help (but 
> >> it may
> >> not be enough, depending on how bad the problem is)
> >>
> >> the fact that you use if..then style filters is a very large performance 
> >> hit on
> >> rsyslog 5, but not on 7, so you will get a huge speedup just from that.
> >>
> >> One issue that I see is that you are using the filename templates, the 
> >> default
> >> number of files that rsyslog keeps open for this is _way_ too small for 
> >> anything
> >> serious. you will need to set $DynaFileCacheSize to something large enough 
> >> to
> >> handle all the open files that you will have at any one time. try setting 
> >> it to
> >> 1000 to get you started and see if that makes a difference.
> >>
> >> how are you getting the logs from apache to rsyslog?
> >>
> >> David Lang
> >>
> >>
> >>   On Mon, 9
> >> Sep 2013, Erik van Dam wrote:
> >>
> >>> Date: Mon, 9 Sep 2013 15:45:32 +0200
> >>> From: Erik van Dam <[email protected]>
> >>> Reply-To: rsyslog-users <[email protected]>
> >>> To: [email protected]
> >>> Subject: [rsyslog] rsyslog bringing machines down due amount of messages 
> >>> (?)
> >>>
> >>> Hi everybody,
> >>>
> >>> I have a 8 client machines who send tcp syslog messages to an syslog 
> >>> server. On two machines i'm logging more than the others; apache access 
> >>> logs. This results in two completely unresponsive machines. Now if i 
> >>> restart rsyslog on the machine that becomes unresponsive everything is 
> >>> fine, i can't notice anything like load or memory consumption while they 
> >>> are unresponsive? Previously i used certificates but in the process of 
> >>> finding the problem i disabled this. Further i tried using disk queue. 
> >>> IMUXSock set to 0 as of 
> >>> http://www.rsyslog.com/tag/imuxsockratelimitinterval/
> >>>
> >>> Private information has been renamed, i'm grateful if anybody has some 
> >>> pointers for me. Sofar i tried:
> >>>
> >>> - disk queue = not really an affect
> >>> - restart rsyslog = relieves (a buffer within rsyslog that gets full?)
> >>> - remove tls on client side = not really an affect
> >>>
> >>> What might resolve some issues:
> >>>
> >>> - change tcp to udp
> >>> - goto rsyslog 7.4.(4) ?
> >>>
> >>> =====================================================CLIENT==========================================================
> >>> Rsyslog version:
> >>>
> >>> rsyslog-5.8.10-2.el6.x86_64
> >>> rsyslog-gnutls-5.8.10-2.el6.x86_64
> >>>
> >>>
> >>> $ModLoad imuxsock.so      # provides support for local system logging 
> >>> (e.g. via logger command)
> >>> $ModLoad imklog.so        # provides kernel logging support (previously 
> >>> done by rklogd)
> >>> $IMUXSockRateLimitInterval 0
> >>> $SystemLogRateLimitInterval 0
> >>> $SystemLogRateLimitBurst 0
> >>> $WorkDirectory /var/log
> >>> $MainMsgQueueFileName /var/log/rsyslog.main.q
> >>> $ActionQueueFileName /var/log/rsyslog.action.q
> >>> $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
> >>>
> >>>
> >>> local5.*                                                @@syslogserver:514
> >>> & ~
> >>>
> >>> local0.*                                          @@syslogserver:514 # 
> >>> log the access logs
> >>> & ~
> >>>
> >>> local1.*                                          /var/log/httpd/error_log
> >>> local1.*                                                
> >>> @@syslogserver:514 # log the error logs
> >>> & ~
> >>>
> >>> *.* @@syslogserver:514 # forward everything to remote server
> >>>
> >>> *.info;mail.none;authpriv.none;cron.none                /var/log/messages
> >>> authpriv.*                                              /var/log/secure
> >>> mail.*                                                  -/var/log/maillog
> >>> cron.*                                                  /var/log/cron
> >>> *.emerg                                                 *
> >>> uucp,news.crit                                          /var/log/spooler
> >>> local7.*                                                /var/log/boot.log
> >>>
> >>> =====================================================SERVER==========================================================
> >>> rsyslog-gnutls-5.8.10-2.el6.x86_64
> >>> rsyslog-5.8.10-2.el6.x86_64
> >>>
> >>>
> >>> $ModLoad imuxsock.so      # provides support for local system logging 
> >>> (e.g. via logger command)
> >>> $ModLoad imklog.so        # provides kernel logging support (previously 
> >>> done by rklogd)
> >>> $IMUXSockRateLimitInterval 0
> >>> $ModLoad imudp.so
> >>> $UDPServerRun 514
> >>> $ModLoad imtcp.so
> >>> $PreserveFQDN on
> >>> $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
> >>>
> >>> $DefaultNetstreamDriver gtls
> >>> $DefaultNetstreamDriverCAFile /etc/rsyslog/protected/ca.pem
> >>> $DefaultNetstreamDriverCertFile /etc/rsyslog/protected/cert.pem
> >>> $DefaultNetstreamDriverKeyFile /etc/rsyslog/protected/key.pem
> >>>
> >>> $InputTCPServerStreamDriverPermittedPeer machine1
> >>> $InputTCPServerStreamDriverPermittedPeer machine2
> >>> $InputTCPServerStreamDriverPermittedPeer machine3
> >>> $InputTCPServerStreamDriverPermittedPeer machine4
> >>> $InputTCPServerStreamDriverPermittedPeer machine5
> >>> $InputTCPServerStreamDriverPermittedPeer machine6
> >>> $InputTCPServerStreamDriverPermittedPeer machine7
> >>> $InputTCPServerStreamDriverMode 1
> >>> $InputTCPServerRun 514
> >>>
> >>>
> >>> $template 
> >>> DailyPerHostLogs,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_messages.log"
> >>> $template 
> >>> DailyrootshPerHostLogs,"/bigdisk/syslog/rootsh/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_messages.log"
> >>> local5.info                                               
> >>> -?DailyrootshPerHostLogs
> >>> & ~
> >>>
> >>> $template 
> >>> cactilog,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_cacti-access.log"
> >>> if $syslogfacility-text == 'local0' and $msg contains '/cacti' then 
> >>> -?cactilog
> >>> & ~
> >>>
> >>> $template 
> >>> nagioslog,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_nagios-access.log"
> >>> if $syslogfacility-text == 'local0' and $msg contains '/nagios' then 
> >>> -?nagioslog
> >>> & ~
> >>>
> >>> $template 
> >>> somedomainname,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_somedomainname.log"
> >>> if $syslogfacility-text == 'local0' and $msg contains 'somedomainname' 
> >>> then -?somedomainname
> >>> & ~
> >>>
> >>> $template 
> >>> somedomainname,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_somedomainname.log"
> >>> if $syslogfacility-text == 'local0' and $msg contains 'somedomainname' 
> >>> then -?somedomainname
> >>> & ~
> >>>
> >>> $template 
> >>> somedomainname,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_somedomainname.log"
> >>> if $syslogfacility-text == 'local0' and $msg contains 'somedomainname' 
> >>> then -?somedomainname
> >>> & ~
> >>>
> >>> $template 
> >>> somedomainname,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_somedomainname.log"
> >>> if $syslogfacility-text == 'local0' and $msg contains 'somedomainname' 
> >>> then -?somedomainname
> >>> & ~
> >>>
> >>> $template 
> >>> nagiosandcactierror,"/bigdisk/syslog/%$YEAR%/%$MONTH%/%$DAY%/%FROMHOST-IP%_nagiosandcactierror.log"
> >>> if $syslogfacility-text == 'local1' then -?nagiosandcactierror
> >>> & ~
> >>>
> >>> local0.* ~
> >>>
> >>> *.*                                                     -?DailyPerHostLogs
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >> _______________________________________________
> >> rsyslog mailing list
> >> http://lists.adiscon.net/mailman/listinfo/rsyslog
> >> http://www.rsyslog.com/professional-services/
> >> What's up with rsyslog? Follow https://twitter.com/rgerhards
> >> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad 
> >> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you 
> >> DON'T LIKE THAT.
> >>
> >
> >
> >
> 


-- 
Met vriendelijke groet,

Erik van Dam
RedBee / FortyTwo
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to