aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/check_procr.sh147
1 files changed, 147 insertions, 0 deletions
diff --git a/contrib/check_procr.sh b/contrib/check_procr.sh
new file mode 100644
index 00000000..c99a17e1
--- /dev/null
+++ b/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
+