More fun info:

$ sudo lsof -s | awk '$5 == "REG"' | sort -n -r -k 7,7 | head -n 50 | grep
deleted
rsyslogd  11331      root   20w      REG                9,2 117175430149
 8847368 /var/log/joe/CISCO/app7/logfile.1 (deleted)
rsyslogd  11331      root    9w      REG                9,2  53533745904
 8839187 /var/log/joe/Microsoft/app1/logfile.1 (deleted)
rsyslogd  11331      root   10w      REG                9,2  16268001760
 8839237 /var/log/joe/Microsoft/app2/logfile.1 (deleted)
rsyslogd  11331      root   18w      REG                9,2   1831944964
 8847369 /var/log/joe/Microsoft/app3/logfile.1 (deleted)




On Tue, Jun 25, 2013 at 12:10 PM, Xuri Nagarin <[email protected]> wrote:

> Happening again:
>
> $ sudo du -sh *
> 9.8M bin
> 26M boot
> 220K dev
> 6.9M etc
> 3.5G home
> 129M lib
> 22M lib64
> 20K lost+found
> 8.0K media
> 8.0K mnt
> 6.4G opt
> du: cannot access `proc/2713/task/9576': No such file or directory
> du: cannot access `proc/9490/task/9490/fd/4': No such file or directory
> du: cannot access `proc/9490/task/9490/fdinfo/4': No such file or directory
> du: cannot access `proc/9490/fd/4': No such file or directory
> du: cannot access `proc/9490/fdinfo/4': No such file or directory
> 0 proc
> 116K root
> 13M sbin
> 4.0K selinux
> 4.0K srv
> 0 sys
> 296K tmp
> 1.3G usr
> 39G var
>
> $ sudo df -kh
> Filesystem            Size  Used Avail Use% Mounted on
> /dev/md2              913G  212G  655G  25% /
> tmpfs                  16G     0   16G   0% /dev/shm
> /dev/md0               97M   31M   62M  34% /boot
>
> I am seeing the same baheviour on a second system.
>
>
>
>
>
>
>
> On Tue, Jun 25, 2013 at 12:04 PM, Xuri Nagarin <[email protected]> wrote:
>
>> My suspicion was something to do with dynamic file creation but looking
>> at the code, both static and dynamic file creation use the same function of
>> file "open":
>>
>> From tools/omfile.c
>> ------------xxxxxxxxxxxxxxxxx---------------
>> fd = open((char*) newFileName,
>> O_WRONLY|O_APPEND|O_CREAT|O_NOCTTY|O_CLOEXEC,
>>  556                                 pData->fCreateMode);
>> ------------xxxxxxxxxxxxxxxxx---------------
>>
>> "O_APPEND" should take care of file being rotated while rsyslog is trying
>> to write to it.
>>
>>
>>
>>
>> On Tue, Jun 25, 2013 at 11:47 AM, Xuri Nagarin <[email protected]> wrote:
>>
>>> Not a typo or error, in RHEL the rsyslogd start up script in init.d has
>>> an explicit variable "PIDFILE" set as:
>>> PIDFILE=/var/run/syslogd.pid
>>>
>>> :)
>>>
>>> I did not write the script, using whatever was bundled in the RPM I
>>> grabbed from Adiscon.
>>>
>>> To confirm:
>>> $ ps ax | grep rsyslog
>>> 11331 ?        Sl    61:18 /sbin/rsyslogd -i /var/run/syslogd.pid -x
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Jun 25, 2013 at 11:41 AM, Soham Chakraborty <
>>> [email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> In the logrotate config, change it to /var/run/rsyslog.pid and test. On
>>>> a
>>>> quick skim, it looks like a typo.
>>>>
>>>> Soham
>>>>
>>>>
>>>> On Tue, Jun 25, 2013 at 11:07 PM, David Lang <[email protected]> wrote:
>>>>
>>>> > well, one thing that looks wrong is that logrotate is looking for
>>>> > /var/run/syslog.pid, but on my systems the pid is in
>>>> /var/log/rsyslog.pid
>>>> >
>>>> > are you sure that rsyslog is actually getting the HUP?
>>>> >
>>>> > can you try sending it a HUP manually and see if it closes the files?
>>>> >
>>>> > David Lang
>>>> >
>>>> >
>>>> > On Tue, 25 Jun 2013, Xuri Nagarin wrote:
>>>> >
>>>> >  Date: Tue, 25 Jun 2013 11:34:08 -0700
>>>> >> From: Xuri Nagarin <[email protected]>
>>>> >> Reply-To: rsyslog-users <[email protected]>
>>>> >> To: rsyslog-users <[email protected]>
>>>> >> Subject: Re: [rsyslog] HUP-ing rsyslog does not free up disk space
>>>> >>
>>>> >>
>>>> >> Hi David,
>>>> >>
>>>> >> The master conf file is simple with few additions that are
>>>> >> self-explanatory. The other conf in rsyslog.d, I have added comments
>>>> >> inline
>>>> >> in the conf that explain the config logic.
>>>> >>
>>>> >>
>>>> >> /etc/rsyslog.conf
>>>> >> ==============================**==============================**
>>>> >> ===========
>>>> >> module(load="impstats" interval="600" severity="7"
>>>> >>
>>>> >> log.syslog="off" /* need to turn log stream logging off! */
>>>> >> log.file="/var/log/rsyslog-**stats.log")
>>>> >>
>>>> >> $ModLoad imuxsock.so    # Unix sockets
>>>> >> $ModLoad imklog.so      # Kernel logger
>>>> >> $MainMsgQueueSize 1000000
>>>> >> $OMFileIOBufferSize 512k
>>>> >> $MaxMessageSize 8k
>>>> >> $MainMsgQueueWorkerThreads 64
>>>> >> $umask 0000
>>>> >> $FileOwner joe
>>>> >> $FileGroup joe
>>>> >> $DirOwner joe
>>>> >> $DirGroup joe
>>>> >> $DirCreateMode 0755
>>>> >> $FileCreateMode 0644
>>>> >>
>>>> >> $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
>>>> >> $IncludeConfig /etc/rsyslog.d/*.conf
>>>> >>
>>>> >> $RuleSet local
>>>> >> *.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
>>>> >> $DefaultRuleset local
>>>> >> ==============================**==============================**
>>>> >> ===========
>>>> >>
>>>> >> /etc/rsyslog.d/cef.conf
>>>> >> ==============================**==============================**
>>>> >> ===========
>>>> >> # Senders are four Arcsight Logger devices that send logs in CEF
>>>> format
>>>> >>
>>>> >> #template for writing CEF formatted logs
>>>> >> template(name="cefdynfile" type="string"
>>>> >> string="/var/log/joe/%$!**vendor%/%$!product%/logfile")
>>>> >>
>>>> >> #template for writing logs from non-CEF sources
>>>> >> template(name="noncefdynfile" type="string"
>>>> >> string="/var/log/joe/noncef/%**hostname%/%programname%/**logfile")
>>>> >>
>>>> >> ruleset(name="tcpcef") {
>>>> >>
>>>> >> #CEF uses the pipe delimiter, fields 2 and 3 are product vendor and
>>>> >> product
>>>> >> type respectively
>>>> >> set $!vendor = field($msg, 124, 2);
>>>> >> set $!product = field($msg, 124, 3);
>>>> >>
>>>> >> # Rules to write CEF formatted logs to disk and send logs by app
>>>> type to
>>>> >> their flume destinations that are listening on the same box
>>>> >>
>>>> >> if $syslogtag=="CEF:" then { action (type="omfile" ASyncWriting="on"
>>>> >> IOBufferSize="8192K" FileOwner="joe" FileGroup="joe" DirOwner="joe"
>>>> >> DirGroup="joe" DirCreateMode="0755" FileCreateMode="0644"
>>>> >> DynaFile="cefdynfile")  }
>>>> >> if $!product == "app1" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5161" Protocol="tcp") stop }
>>>> >> if $!product == "app2" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5146" Protocol="tcp") stop }
>>>> >> if $!product == "app3" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5172" Protocol="tcp") stop }
>>>> >> if $!product == "app4" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5162" Protocol="tcp") stop }
>>>> >> if $!product == "app5" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5166" Protocol="tcp") stop }
>>>> >> if $!product == "app6" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5163" Protocol="tcp") stop }
>>>> >> if $!product == "app7" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5164" Protocol="tcp") stop }
>>>> >> if $!product == "app8" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5177" Protocol="tcp") stop }
>>>> >> if $!product == "app9" then { action (type="omfwd" Target="127.0.0.1"
>>>> >> Port="5144" Protocol="tcp") stop }
>>>> >> if $!product == "app10" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5145" Protocol="tcp") stop }
>>>> >> if $!product == "app11" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5148" Protocol="tcp") stop }
>>>> >> if $!product == "app12" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5180" Protocol="tcp") stop }
>>>> >> if $!product == "app13" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5147" Protocol="tcp") stop }
>>>> >> if $!product == "app14" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5149" Protocol="tcp") stop }
>>>> >> if $!product == "app15" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5150" Protocol="tcp") stop }
>>>> >> if $!product == "app16" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5151" Protocol="tcp") stop }
>>>> >> if $!product == "app17" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5152" Protocol="tcp") stop }
>>>> >> if $!product == "app18" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5153" Protocol="tcp") stop }
>>>> >> if $!product == "app19" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5155" Protocol="tcp") stop }
>>>> >> if $!product == "app20" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5156" Protocol="tcp") stop }
>>>> >> if $!product == "app21" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5157" Protocol="tcp") stop }
>>>> >> if $!product == "app22" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5158" Protocol="tcp") stop }
>>>> >> if $!product == "app23" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5159" Protocol="tcp") stop }
>>>> >> if $!product == "app24" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5160" Protocol="tcp") stop }
>>>> >> if $!product == "app25" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5178" Protocol="tcp") stop }
>>>> >> if $!product == "app26" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5165" Protocol="tcp") stop }
>>>> >> if $!product == "app27" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5165" Protocol="tcp") stop }
>>>> >> if $!product == "app28" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5167" Protocol="tcp") stop }
>>>> >> if $!product == "app29" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5167" Protocol="tcp") stop }
>>>> >> if $!product == "app30" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5179" Protocol="tcp") stop }
>>>> >> if $!product == "app31" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5169" Protocol="tcp") stop }
>>>> >> if $!product == "app32" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5170" Protocol="tcp") stop }
>>>> >> if $!product == "app33" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5171" Protocol="tcp") stop }
>>>> >> if $!product == "app34" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5174" Protocol="tcp") stop }
>>>> >> if $!product == "app35" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5173" Protocol="tcp") stop }
>>>> >> if $!product == "app36" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5175" Protocol="tcp") stop }
>>>> >> if $!product == "app37" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5176" Protocol="tcp") stop }
>>>> >> if $!product == "app38" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5154" Protocol="tcp") stop }
>>>> >> if $!product == "app39" then { action (type="omfwd"
>>>> Target="127.0.0.1"
>>>> >> Port="5181" Protocol="tcp") stop }
>>>> >>
>>>> >> # Unfortunately, the four Arcsight Loggers also send us garbage so
>>>> >> whatever
>>>> >> could not be parsed/classified correctly by the rules above, gets
>>>> parked
>>>> >> in
>>>> >> a catchall file.
>>>> >>
>>>> >> if $fromhost-ip == '10.1.1.100' or $fromhost-ip == '10.1.1.101' or
>>>> >> $fromhost-ip == '10.1.1.102' or $fromhost-ip == '10.1.1.103' then {
>>>> action
>>>> >> (type="omfile" FileOwner="joe" FileGroup="joe" DirOwner="joe"
>>>> >> DirGroup="joe" DirCreateMode="0755" FileCreateMode="0644"
>>>> >> file="/var/log/joe/fallback/**logfile")
>>>> >>      & action (type="omfwd" Target="127.0.0.1" Port="5182"
>>>> Protocol="tcp"
>>>> >> )
>>>> >> stop  }
>>>> >>
>>>> >> # Take care of all the non-CEF / BSD Syslog formatted streams coming
>>>> in
>>>> >> else {
>>>> >> action (type="omfile" ASyncWriting="on" IOBufferSize="8192K"
>>>> >> FileOwner="joe" FileGroup="joe" DirOwner="joe" DirGroup="joe"
>>>> >> DirCreateMode="0755" FileCreateMode="0644" DynaFile="noncefdynfile")
>>>> >>      & action (type="omfwd" Target="127.0.0.1" Port="5182"
>>>> Protocol="tcp")
>>>> >> }
>>>> >> }
>>>> >>
>>>> >> module(load="imtcp" ) # needs to be done just once
>>>> >> input(type="imtcp" port="514" ruleset="tcpcef")
>>>> >> ==============================**==============================**
>>>> >> ===========
>>>> >>
>>>> >>
>>>> >> Here's the logrotate code:
>>>> >> ==============================**==============================**
>>>> >> ===========
>>>> >> /var/log/joe/*/*/*
>>>> >> /var/log/joe/*/*/*/*
>>>> >> {
>>>> >> missingok
>>>> >> size 1G
>>>> >> rotate 0
>>>> >> sharedscripts
>>>> >> postrotate
>>>> >> if [ -f /var/run/syslog.pid ]; then \
>>>> >> kill -HUP `cat /var/run/syslog.pid`; \
>>>> >> fi;
>>>> >> endscript
>>>> >> }
>>>> >> ==============================**==============================**
>>>> >> ===========
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >> On Tue, Jun 25, 2013 at 10:12 AM, David Lang <[email protected]> wrote:
>>>> >>
>>>> >>  On Tue, 25 Jun 2013, Xuri Nagarin wrote:
>>>> >>>
>>>> >>>  On RHEL 6.2 64-bit, I have Rsyslog 7.4.1 (actually, the issue has
>>>> >>> existed
>>>> >>>
>>>> >>>> for earlier versions too).
>>>> >>>>
>>>> >>>> After logrotation, the logrotate script HUPs the rsyslogd pid but
>>>> the
>>>> >>>> disk
>>>> >>>> space doesn't free up until I restart rsyslog. After a few hours
>>>> "df"
>>>> >>>> reports a full filesystem whereas "ls" shows much smaller file
>>>> sizes. In
>>>> >>>> between this confusion, rsyslog seems to stop receiving log
>>>> streams.
>>>> >>>>
>>>> >>>> Is there a way for rsyslog to switch file handles when it is
>>>> HUP-ed?
>>>> >>>>
>>>> >>>>
>>>> >>> rsyslog is already supposed to close and re-open files when it's
>>>> HUP-ed,
>>>> >>> and it seems to be working for me and many others.
>>>> >>>
>>>> >>> could you send your config file so we can see if there is anything
>>>> >>> unusual
>>>> >>> in it?
>>>> >>>
>>>> >>> David Lang
>>>> >>> ______________________________****_________________
>>>> >>> rsyslog mailing list
>>>> >>> http://lists.adiscon.net/****mailman/listinfo/rsyslog<
>>>> http://lists.adiscon.net/**mailman/listinfo/rsyslog>
>>>> >>> <http:**//lists.adiscon.net/mailman/**listinfo/rsyslog<
>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog>
>>>> >>> >
>>>> >>> http://www.rsyslog.com/****professional-services/<
>>>> http://www.rsyslog.com/**professional-services/>
>>>> >>> <http://**www.rsyslog.com/professional-**services/<
>>>> 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.
>>>> >>>
>>>> >>>  ______________________________**_________________
>>>> >> rsyslog mailing list
>>>> >> http://lists.adiscon.net/**mailman/listinfo/rsyslog<
>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog>
>>>> >> http://www.rsyslog.com/**professional-services/<
>>>> 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.
>>>> >>
>>>> >>  ______________________________**_________________
>>>> > rsyslog mailing list
>>>> > http://lists.adiscon.net/**mailman/listinfo/rsyslog<
>>>> http://lists.adiscon.net/mailman/listinfo/rsyslog>
>>>> > http://www.rsyslog.com/**professional-services/<
>>>> 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.
>>>> >
>>>> _______________________________________________
>>>> 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.
>>>>
>>>
>>>
>>
>
_______________________________________________
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