gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework


From: Pablo
Subject: Re: [Gluster-devel] [Gluster-users] new glusterfs logging framework
Date: Tue, 30 Jul 2013 12:18:12 -0300

I think that adding all that 'rsyslog' configuration only to see logs is too much. (I admit it, I don't know how to configure rsyslog at that level so that may influence my opinion)

Regards,


El 30/07/2013 06:29 a.m., Balamurugan Arumugam escribió:
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-users mailing list
address@hidden
http://supercolony.gluster.org/mailman/listinfo/gluster-users





reply via email to

[Prev in Thread] Current Thread [Next in Thread]