[Gluster-users] How do I rotate **all** the Gluster logs?
Joe Julian
joe at julianfamily.org
Fri Jul 19 19:01:50 UTC 2013
Semiosis and I have found copytruncate to be a reliable method to use with logrotate.
Greg Scott <GregScott at infrasupport.com> wrote:
>Thanks Vijay -
>
>> The appropriate mechanism to do log rotation would be to use
>logrotate command with the
>> config file available at /etc/logrotate.d/glusterfs. This mechanism
>rotates log files of all glusterfs processes.
>> The log rotate <volname> command will be deprecated in a future
>release.
>
>I wonder how to do this? If I am following this correctly - there are
>a bunch of layers to make this happen:
>
>First, a facility named anacron runs periodically to handle things such
>as log file maintenance. Looking at a file named /etc/anacrontab that
>drives the whole thing:
>
>[root at chicago-fw1 etc]# more /etc/anacrontab
># /etc/anacrontab: configuration file for anacron
>
># See anacron(8) and anacrontab(5) for details.
>
>SHELL=/bin/sh
>PATH=/sbin:/bin:/usr/sbin:/usr/bin
>MAILTO=root
># the maximal random delay added to the base delay of the jobs
>RANDOM_DELAY=45
># the jobs will be started during the following hours only
>START_HOURS_RANGE=3-22
>
>#period in days delay in minutes job-identifier command
>1 5 cron.daily nice run-parts /etc/cron.daily
>7 25 cron.weekly nice run-parts /etc/cron.weekly
>@monthly 45 cron.monthly nice run-parts
>/etc/cron.monthly
>[root at chicago-fw1 etc]#
>
>So cron.daily probably schedules things to run every day, probably at 5
>minutes past midnight. Cron.weekly and cron.monthly are empty.
>Looking at /etc/cron.daily:
>
>[root at chicago-fw1 etc]# ls /etc/cron.daily
>00webalizer certwatch logrotate man-db.cron mlocate prelink
>[root at chicago-fw1 etc]#
>
>And the script we care about must be logrotate. Looking at that:
>
>[root at chicago-fw1 etc]# more /etc/cron.daily/logrotate
>#!/bin/sh
>
>/usr/sbin/logrotate /etc/logrotate.conf
>EXITVALUE=$?
>if [ $EXITVALUE != 0 ]; then
>/usr/bin/logger -t logrotate "ALERT exited abnormally with
>[$EXITVALUE]"
>fi
>exit 0
>[root at chicago-fw1 etc]#
>
>A file named /etc/logrotate.conf drives it. Looking at that file:
>
>[root at chicago-fw1 etc]# more /etc/logrotate.conf
># see "man logrotate" for details
># rotate log files weekly
>weekly
>
># keep 4 weeks worth of backlogs
>rotate 4
>
># create new (empty) log files after rotating old ones
>create
>
># use date as a suffix of the rotated file
>dateext
>
># uncomment this if you want your log files compressed
>#compress
>
># RPM packages drop log rotation information into this directory
>include /etc/logrotate.d
>
># no packages own wtmp and btmp -- we'll rotate them here
>/var/log/wtmp {
> monthly
> create 0664 root utmp
> minsize 1M
> rotate 1
>}
>
>/var/log/btmp {
> missingok
> monthly
> create 0600 root utmp
> rotate 1
>}
>
># system-specific logs may be also be configured here.
>[root at chicago-fw1 etc]#
>
>The logrotate .conf file has an include for everything in
>/etc/logrotate.d, so what's in there?
>
>[root at chicago-fw1 etc]# ls /etc/logrotate.d
>chrony glusterd httpd libvirtd libvirtd.uml
>samba syslog yum
>cups glusterfsd iptraf-ng libvirtd.lxc ppp
>squid vsftpd
>dracut_log glusterfs-fuse iscsiuiolog libvirtd.qemu psacct
>sssd wpa_supplicant
>[root at chicago-fw1 etc]#
>
>And the piece that rotates the Gluster logs:
>
>[root at chicago-fw1 etc]# more /etc/logrotate.d/glusterd
>/var/log/glusterfs/*glusterd.vol.log {
> missingok
> postrotate
>/bin/kill -HUP `cat /var/run/glusterd.pid 2>/dev/null` 2>/dev/null ||
>true
> endscript
>}
>[root at chicago-fw1 etc]#
>
>So the task seems to be editing this file by hand to include the log
>file for my Gluster volume. Or better, what about just making a file
>named <volume> to rotate the log file associated with <volume> named
>/var/log/glusterfs/<volume>.
>
>My volume name is firewall-scripts. Here is a first shot at it.
>Create a file named /etc/logrotate.d/firewall-scripts that looks like
>this:
>
>[root at chicago-fw1 logrotate.d]# more /etc/logrotate.d/firewall-scripts
>/var/log/glusterfs/firewall-scripts.log
>
>There is no way it will be this simple. It's **never** this simple.
>
>
>And it's not.
>
>[root at chicago-fw1 logrotate.d]# /usr/sbin/logrotate /etc/logrotate.conf
>error: firewall-scripts:1 missing '{' after log files definition
>error: found error in file firewall-scripts, skipping
>[root at chicago-fw1 logrotate.d]#
>
>It looks like you need a section that restarts the process associated
>with that log file at the end. Here is where I get a little bit shakey
>- what process should I be looking for? Or should I just edit
>/etc/logrotate.d/glusterd?
>
>Here I go again stumbling blindly down Trial and Error Avenue. I could
>really use some guidance here.
>
>- Greg
>_______________________________________________
>Gluster-users mailing list
>Gluster-users at gluster.org
>http://supercolony.gluster.org/mailman/listinfo/gluster-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20130719/dc6102fb/attachment.html>
More information about the Gluster-users
mailing list