Просмотр исходного кода

From: Jerome Tytgat - checks to see if named process is running

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@154 f882894a-f735-0410-b71e-b25c423dba1c
Subhendu Ghosh 23 лет назад
Родитель
Сommit
61bcc19b2e
1 измененных файлов с 147 добавлено и 0 удалено
  1. 147 0
      contrib/check_procr.sh

+ 147 - 0
contrib/check_procr.sh

@@ -0,0 +1,147 @@
+#!/bin/bash
+
+#
+# Check_procr.sh 
+# 
+# Program: Process running check plugin for Nagios
+# License : GPL
+# Copyright (c) 2002 Jerome Tytgat (j.tytgat@sioban.net)
+#
+# check_procr.sh,v 1.0 2002/09/18 15:28 
+#
+# Description :
+#   
+#  This plugin check if at least one  process is running
+#
+# Usage :
+#
+#  check_procr.sh -p process_name
+#
+# Example :
+#   
+#  To know if snort is running
+#	check_procr.sh -p snort
+#	> OK - total snort running : PID=23441
+#
+# Linux Redhat 7.3
+#
+
+help_usage() {
+        echo "Usage:"
+        echo " $0 -p <process_name>"
+        echo " $0 (-v | --version)"
+        echo " $0 (-h | --help)"
+}
+
+help_version() {
+        echo "check_procr.sh (nagios-plugins) 1.0"
+        echo "The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute"
+        echo "copies of the plugins under the terms of the GNU General Public License."
+	echo "For more information about these matters, see the file named COPYING."
+        echo "Copyright (c) 2002 Jerome Tytgat - j.tytgat@sioban.net"
+	echo "Greetings goes to Websurg which kindly let me took time to develop this"
+        echo "                  Manu Feig and Jacques Kern who were my beta testers, thanks to them !"
+}
+
+verify_dep() {
+	needed="bash cut egrep expr grep let ps sed sort tail test tr wc"
+	for i in `echo $needed`
+	do
+		type $i > /dev/null 2>&1 /dev/null
+		if [ $? -eq 1 ]
+		then
+			echo "I am missing an important component : $i"
+			echo "Cannot continue, sorry, try to find the missing one..."
+			exit 3
+		fi
+	done
+}
+
+myself=$0
+
+verify_dep
+
+if [ "$1" = "-h" -o "$1" = "--help" ]
+then 
+	help_version	
+	echo ""
+	echo "This plugin will check if a process is running."
+	echo ""
+	help_usage
+	echo ""
+	echo "Required Arguments:"
+        echo " -p, --process STRING"
+        echo "    process name we want to verify"
+	echo ""
+	exit 3
+fi
+
+if [ "$1" = "-v" -o "$1" = "--version" ]
+then
+	help_version
+        exit 3
+fi
+
+if [ `echo $@|tr "=" " "|wc -w` -lt 2 ]
+then 
+	echo "Bad arguments number (need two)!"
+	help_usage
+	exit 3
+fi
+
+tt=0
+process_name=""
+exclude_process_name=""
+wt=""
+ct=""
+
+# Test of the command lines arguments
+while test $# -gt 0
+do
+	
+	case "$1" in
+		-p|--process)
+			if [ -n "$process_name" ]
+			then
+				echo "Only one --process argument is useful..."
+                                help_usage
+                                exit 3
+			fi
+			shift
+			process_name="`echo $1|tr \",\" \"|\"`"
+			;;
+		*)
+			echo "Unknown argument $1"
+			help_usage
+			exit 3
+			;;
+	esac
+	shift
+done
+
+# ps line construction set...
+for i in `ps ho pid -C $process_name`
+do
+	 pid_list="$pid_list $i"
+done
+
+if [ -z "$pid_list" ]
+then
+	crit=1
+else
+	crit=0
+fi
+
+# Finally Inform Nagios of what we found...
+if [ $crit -eq 1 ]
+then
+	echo "CRITICAL - process $process_name is not running !"
+	exit 2
+else
+	echo "OK - process $process_name is running : PID=$pid_list "
+	exit 0
+fi
+
+# Hey what are we doing here ???
+exit 3
+