[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gluster-devel] new glusterfs logging framework
From: |
Balamurugan Arumugam |
Subject: |
[Gluster-devel] new glusterfs logging framework |
Date: |
Tue, 30 Jul 2013 05:29:43 -0400 (EDT) |
Hi All,
Recently new logging framework was introduced [1][2][3] in glusterfs master
branch. You could read more about this on doc/logging.txt. In brief, current
log target is moved to syslog and user has an option to this new logging at
compile time (passing '--disable-syslog' to ./configure or '--without syslog'
to rpmbuild) and run time (having a file /var/log/glusterd/logger.conf and
restarting gluster services).
As rsyslog is used as syslog server in Fedora and CentOS/RHEL and default
configuration of rsyslog does not have any rule specific to gluster logs, you
see all logs are in /var/log/messages in JSON format.
Below is the way to make them neat and clean.
For fedora users:
1. It requires to install rsyslog-mmjsonparse rpm (yum -y install
rsyslog-mmjsonparse)
2. Place below configuration under /etc/rsyslog.d/gluster.conf file.
#$RepeatedMsgReduction on
$ModLoad mmjsonparse
*.* :mmjsonparse:
template (name="GlusterLogFile" type="string"
string="/var/log/gluster/%app-name%.log")
template (name="GlusterPidLogFile" type="string"
string="/var/log/gluster/%app-name%-%procid%.log")
template(name="GLFS_template" type="list") {
property(name="$!mmcount")
constant(value="/")
property(name="syslogfacility-text" caseConversion="upper")
constant(value="/")
property(name="syslogseverity-text" caseConversion="upper")
constant(value=" ")
constant(value="[")
property(name="timereported" dateFormat="rfc3339")
constant(value="] ")
constant(value="[")
property(name="$!gf_code")
constant(value="] ")
constant(value="[")
property(name="$!gf_message")
constant(value="] ")
property(name="$!msg")
constant(value="\n")
}
if $app-name == 'gluster' or $app-name == 'glusterd' then {
action(type="omfile"
DynaFile="GlusterLogFile"
Template="GLFS_template")
stop
}
if $app-name contains 'gluster' then {
action(type="omfile"
DynaFile="GlusterPidLogFile"
Template="GLFS_template")
stop
}
3. Restart rsyslog (service rsyslog restart)
4. Done. All gluster process specific logs are separated into /var/log/gluster/
directory
Note: Fedora 19 users
There is a bug in rsyslog of fedora 19 [4], so its required to recompile
rsyslog source rpm downloaded from fedora repository ('rpmbuild --rebuild
rsyslog-7.2.6-1.fc19.src.rpm' works fine) and use generated rsyslog and
rsyslog-mmjsonparse binary rpms
For CentOS/RHEL users:
Current rsyslog available in CentOS/RHEL does not have json support. I have
added the support which requires some testing. I will update once done.
TODO:
1. need to add volume:brick specific tag to logging so that those logs can be
separated out than pid.
2. enable gfapi to use this logging framework
I would like to get feedback/suggestion about this logging framework
Regards,
Bala
[1] http://review.gluster.org/4977
[2] http://review.gluster.org/5002
[3] http://review.gluster.org/4915
[4] https://bugzilla.redhat.com/show_bug.cgi?id=989886
- [Gluster-devel] new glusterfs logging framework,
Balamurugan Arumugam <=
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Pablo, 2013/07/30
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Joe Julian, 2013/07/30
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Joe Julian, 2013/07/30
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Balamurugan Arumugam, 2013/07/31
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Balamurugan Arumugam, 2013/07/31
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Anand Avati, 2013/07/31
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Balamurugan Arumugam, 2013/07/31
- Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework, Balamurugan Arumugam, 2013/07/31