summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBala.FA <barumuga@redhat.com>2013-08-09 17:21:56 +0530
committerVijay Bellur <vbellur@redhat.com>2013-08-13 07:08:21 -0700
commite75071a5eee1a69caac4d0477f5458ddfe776f07 (patch)
treefe558086ecf8d2842e74a4e3343b4b04354edc23
parente3f2d5fb1e8a12317959748eee15d4ec1f8f3fa6 (diff)
log: add rsyslog gluster configuration file
This patch comes with rsyslog gluster configuration file for fedora and rhel >= 6. It disables syslog at rpm build time if targetted platform is rhel < 6 as there is no rsyslog support. Change-Id: I95c076874b6891ff08dee1b35980f95529fb0f37 BUG: 928648 Signed-off-by: Bala.FA <barumuga@redhat.com> Reviewed-on: http://review.gluster.org/5543 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
-rw-r--r--extras/Makefile.am5
-rw-r--r--extras/gluster-rsyslog-5.8.conf15
-rw-r--r--extras/gluster-rsyslog-7.2.conf42
-rw-r--r--glusterfs.spec.in30
4 files changed, 90 insertions, 2 deletions
diff --git a/extras/Makefile.am b/extras/Makefile.am
index a49e862..2eb49ae 100644
--- a/extras/Makefile.am
+++ b/extras/Makefile.am
@@ -5,10 +5,11 @@ EditorMode_DATA = glusterfs-mode.el glusterfs.vim
SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM geo-rep
confdir = $(sysconfdir)/glusterfs
-conf_DATA = glusterfs-logrotate
+conf_DATA = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf
EXTRA_DIST = specgen.scm MacOSX/Portfile glusterfs-mode.el glusterfs.vim \
migrate-unify-to-distribute.sh backend-xattr-sanitize.sh \
backend-cleanup.sh disk_usage_sync.sh quota-remove-xattr.sh \
quota-metadata-cleanup.sh glusterfs-logrotate clear_xattrs.sh \
- group-virt.example glusterd-sysconfig
+ group-virt.example glusterd-sysconfig gluster-rsyslog-7.2.conf \
+ gluster-rsyslog-5.8.conf
diff --git a/extras/gluster-rsyslog-5.8.conf b/extras/gluster-rsyslog-5.8.conf
new file mode 100644
index 0000000..da6232b
--- /dev/null
+++ b/extras/gluster-rsyslog-5.8.conf
@@ -0,0 +1,15 @@
+##### gluster.conf #####
+$RepeatedMsgReduction on
+
+$ModLoad mmcount
+$mmcountKey gf_code
+
+$template Glusterfsd_dynLogFile,"/var/log/glusterfs/bricks/%app-name%.log"
+$template Gluster_dynLogFile,"/var/log/glusterfs/%app-name%.log"
+
+$template GLFS_Template,"%msgid%/%syslogfacility-text:::uppercase%/%syslogseverity-text:::uppercase% [%TIMESTAMP:::date-rfc3339%] %msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
+
+if $app-name contains 'gluster' then :mmcount:
+if $app-name contains 'glusterfsd' then ?Glusterfsd_dynLogFile;GLFS_Template
+if $app-name contains 'gluster' and not ( $app-name contains 'glusterfsd' ) then ?Gluster_dynLogFile;GLFS_Template
+if $app-name contains 'gluster' then ~
diff --git a/extras/gluster-rsyslog-7.2.conf b/extras/gluster-rsyslog-7.2.conf
new file mode 100644
index 0000000..744acbc
--- /dev/null
+++ b/extras/gluster-rsyslog-7.2.conf
@@ -0,0 +1,42 @@
+##### gluster.conf #####
+$RepeatedMsgReduction on
+
+$ModLoad mmjsonparse
+*.* :mmjsonparse:
+
+template (name="Glusterfsd_dynLogFile" type="string" string="/var/log/glusterfs/bricks/%app-name%.log")
+template (name="Gluster_dynLogFile" type="string" string="/var/log/glusterfs/%app-name%.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 contains 'glusterfsd' then {
+ action(type="omfile"
+ DynaFile="Glusterfsd_dynLogFile"
+ Template="GLFS_template")
+ stop
+}
+
+if $app-name contains 'gluster' then {
+ action(type="omfile"
+ DynaFile="Gluster_dynLogFile"
+ Template="GLFS_template")
+ stop
+}
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index c2ef6d1..9308a64 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -35,6 +35,11 @@
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@tar.gz --without syslog
%{?_without_syslog:%global _without_syslog --disable-syslog}
+# disable syslog forcefully as rhel < 6 doesn't have rsyslog
+%if ( 0%{?rhel} && 0%{?rhel} < 6 )
+%global _without_syslog --disable-syslog
+%endif
+
# there is no systemtap support! Perhaps some day there will be
%global _without_systemtap --enable-systemtap=no
@@ -175,6 +180,12 @@ both GlusterFS server and client framework.
%package libs
Summary: GlusterFS common libraries
Group: Applications/File
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
+Requires: rsyslog-mmjsonparse
+%endif
+%if ( 0%{?rhel} && 0%{?rhel} == 6 )
+Requires: rsyslog-mmcount
+%endif
%description libs
GlusterFS is a clustered file-system capable of scaling to several
@@ -485,6 +496,16 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
%endif
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
+%{__install} -D -p -m 0644 extras/gluster-rsyslog-7.2.conf \
+ %{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf
+%endif
+
+%if ( 0%{?rhel} && 0%{?rhel} == 6 )
+%{__install} -D -p -m 0644 extras/gluster-rsyslog-5.8.conf \
+ %{buildroot}%{_sysconfdir}/rsyslog.d/gluster.conf
+%endif
+
# the rest of the ghosts
touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info
touch %{buildroot}%{_sharedstatedir}/glusterd/options
@@ -564,12 +585,21 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%post libs
/sbin/ldconfig
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
+%_init_restart rsyslog
+%endif
%postun libs
/sbin/ldconfig
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
+%_init_restart rsyslog
+%endif
%files libs
%{_libdir}/*.so.*
+%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
+%{_sysconfdir}/rsyslog.d/gluster.conf
+%endif
%exclude %{_libdir}/libgfapi.*
%files cli