packages: nagios-ocpd/ocpd.init - more strict check of nagios config - verb...

glen glen at pld-linux.org
Mon Oct 12 14:24:26 CEST 2009


Author: glen                         Date: Mon Oct 12 12:24:26 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- more strict check of nagios config
- verbose status

---- Files affected:
packages/nagios-ocpd:
   ocpd.init (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: packages/nagios-ocpd/ocpd.init
diff -u packages/nagios-ocpd/ocpd.init:1.2 packages/nagios-ocpd/ocpd.init:1.3
--- packages/nagios-ocpd/ocpd.init:1.2	Mon Oct 12 14:23:54 2009
+++ packages/nagios-ocpd/ocpd.init	Mon Oct 12 14:24:21 2009
@@ -41,41 +41,66 @@
 	local val ret=0
 
 	# check for nagios setup
-	val=$(awk -F= '/^process_performance_data/{print $2}' $nagios_cfg)
+	val=$(awk -F= '/^process_performance_data=/{print $2}' $nagios_cfg)
 	if [ "$val" != "1" ]; then
 		echo >&2 "'process_performance_data' must be '1' in $nagios_cfg"
 		ret=1
 	fi
-	val=$(awk -F= '/^host_perfdata_file_mode/{print $2}' $nagios_cfg)
+
+	# host perfdata file
+	val=$(awk -F= '/^host_perfdata_file_mode=/{print $2}' $nagios_cfg)
 	if [ "$val" != "p" ]; then
 		echo >&2 "'host_perfdata_file_mode' must be 'p' in $nagios_cfg"
 		ret=1
 	fi
 
-	val=$(awk -F= '/^service_perfdata_file_mode/{print $2}' $nagios_cfg)
-	if [ "$val" != "p" ]; then
-		echo >&2 "'service_perfdata_file_mode' must be 'p' in $nagios_cfg"
+	val=$(awk -F= '/^host_perfdata_file=/{print $2}' $nagios_cfg)
+	if [ -z "$val" ]; then
+		echo >&2 "'host_perfdata_file' not set in $nagios_cfg. set it to /var/spool/nagios/host-perfdata.fifo"
 		ret=1
 	fi
 
-	val=$(awk -F= '/^process_performance_data/{print $2}' $nagios_cfg)
-	if [ "$val" != "1" ]; then
-		echo >&2 "'process_performance_data' must be '1' in $nagios_cfg"
+	val=$(awk -F= '/^host_perfdata_file_processing_interval=/{print $2}' $nagios_cfg)
+	if [ "$val" != "0" ]; then
+		echo >&2 "'host_perfdata_file_processing_interval' must be '0' in $nagios_cfg"
 		ret=1
 	fi
 
-	val=$(awk -F= '/^host_perfdata_file_processing_interval/{print $2}' $nagios_cfg)
-	if [ "$val" != "0" ]; then
-		echo >&2 "'host_perfdata_file_processing_interval' must be '0' in $nagios_cfg"
+	val=$(awk -F= '/^host_perfdata_file_template=/{print $2}' $nagios_cfg)
+	req='$HOSTNAME$\t$HOSTSTATEID$\t$HOSTOUTPUT$|$HOSTPERFDATA$'
+	reqt='$HOSTNAME$\\t$HOSTSTATEID$\\t$HOSTOUTPUT$|$HOSTPERFDATA$'
+	if [ "$val" != "$req" ]; then
+		echo >&2 -E "'host_perfdata_file_template' must be '$reqt' in $nagios_cfg"
 		ret=1
 	fi
 
-	val=$(awk -F= '/^service_perfdata_file_processing_interval/{print $2}' $nagios_cfg)
+	# service perfdata file
+	val=$(awk -F= '/^service_perfdata_file_mode=/{print $2}' $nagios_cfg)
+	if [ "$val" != "p" ]; then
+		echo >&2 "'service_perfdata_file_mode' must be 'p' in $nagios_cfg"
+		ret=1
+	fi
+
+	val=$(awk -F= '/^service_perfdata_file_processing_interval=/{print $2}' $nagios_cfg)
 	if [ "$val" != "0" ]; then
 		echo >&2 "'service_perfdata_file_processing_interval' must be '0' in $nagios_cfg"
 		ret=1
 	fi
 
+	val=$(awk -F= '/^service_perfdata_file_template=/{print $2}' $nagios_cfg)
+	req='$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATEID$\t$SERVICEOUTPUT$|$SERVICEPERFDATA$'
+	reqt='$HOSTNAME$\\t$SERVICEDESC$\\t$SERVICESTATEID$\\t$SERVICEOUTPUT$|$SERVICEPERFDATA$'
+	if [ "$val" != "$req" ]; then
+		echo >&2 "'service_perfdata_file_template' must be '$reqt' in $nagios_cfg"
+		ret=1
+	fi
+
+	val=$(awk -F= '/^service_perfdata_file=/{print $2}' $nagios_cfg)
+	if [ -z "$val" ]; then
+		echo >&2 "'service_perfdata_file' not set in $nagios_cfg. set it to /var/spool/nagios/service-perfdata.fifo"
+		ret=1
+	fi
+
 	# check for nsca
 	val=$(awk '!/#/ { print }' $nsca_central_file)
 	if [ -z "$val" ]; then
@@ -83,6 +108,12 @@
 		ret=1
 	fi
 
+	val=$(awk -F= '/^password/{print $2}' $nsca_cfg)
+	if [ -z "$val" ]; then
+		echo >&2 "'password' must be set in $nsca_cfg"
+		ret=1
+	fi
+
 	return $ret
 }
 
@@ -138,6 +169,21 @@
 	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/nagios-ocpd
 }
 
+ocpd_status() {
+	status OCP_daemon
+	RETVAL=$?
+
+	local nsca_host=$(awk '!/#/ { print }' $nsca_central_file)
+	local hostfifo=$(awk -F= '/^host_perfdata_file=/{print $2}' $nagios_cfg)
+	local servicefifo=$(awk -F= '/^service_perfdata_file=/{print $2}' $nagios_cfg)
+
+	echo "Host fifo: $hostfifo"
+	echo "Service FIFO: $servicefifo"
+	echo "send_nsca: $nsca"
+	echo "NSCA Host: $nsca_host"
+	echo "send_nsca config: $nsca_cfg"
+}
+
 stop() {
 	if [ ! -f /var/lock/subsys/nagios-ocpd ]; then
 		msg_not_running "Nagios OCHS Processor Daemon"
@@ -186,8 +232,7 @@
 	checkconfig 1
 	;;
   status)
-	status OCP_daemon
-	RETVAL=$?
+	ocpd_status
 	;;
   *)
 	msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|checkconfig|status}"
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios-ocpd/ocpd.init?r1=1.2&r2=1.3&f=u



More information about the pld-cvs-commit mailing list