Code

Fix for regex input of '|', being output causing problems with Nagios' parsing of
[nagiosplug.git] / command.cfg.in
index 4ccb26c7587e6774264f2dd4d62062f76a082916..aff33d29ccdcbb92b6fcfcb2f1f8b2b261ee45d5 100644 (file)
@@ -1,8 +1,6 @@
 ###############################################################################
 # COMMAND CONFIGURATION
 #
-# $Id$
-#
 # SYNTAX:
 # command[<command_name>]=<command_line>
 #
 # Note: Service check, service notification, host check, host notification,
 #    service event handler, and host event handler functions are all defined
 #    here.
+#
+# Note: Use the convertcfg program in the contrib directory of the Nagios 
+#   distribution to convert this file into a object file format.
+#
 ###############################################################################
 
 # Service notification command - send email with problem summary
@@ -43,6 +45,20 @@ command[host-notify-by-email]=/bin/echo -e "***** Nagios *****\n\nHost "$HOSTALI
 
 command[host-notify-by-epager]=/bin/echo '$HOSTALIAS$ is $HOSTSTATE$!' | /bin/mail -s 'Host $HOSTNAME$ is $HOSTSTATE$!' $CONTACTPAGER$
 
+
+## Send notifications to a pager using modem with Qpage (www.qpage.com)
+
+command[notify-by-qpage]=/usr/bin/printf "Service: %s\nHost: %s\nAddress: %s\nState: %s\nInfo: %s\nDate: %s" '$SERVICEDESC$' '$HOSTNAME$' '$HOSTADDRESS$' '$SERVICESTATE$' '$OUTPUT$' '$DATETIME' | /usr/local/bin/qpage -l 0 -p $CONTACTPAGER$
+
+command[host-notify-by-qpage]=/usr/bin/printf "Host: %s is %s\nInfo: %s\nDate: %s" '$HOSTALIAS$' '$HOSTSTATES$' '$OUTPUT$' '$DATETIME' | /usr/local/bin/qpage -l 0 -p $CONTACTPAGER$
+
+## Send notifications using SMSclient (www.smsclient.org)
+command[notify-by-smsclient]=/usr/bin/sms_client -q $CONTACTPAGER$ "$NOTIFICATIONTYPE$: $HOSTADDRESS$ $HOSTALIAS$: $SERVICEDESC$ is $SERVICESTATE$"
+command[host-notify-by-smsclient]=/usr/bin/sms_client -q $CONTACTPAGER$ "Host $HOSTALIAS$ is $HOSTSTATE$; $OUTPUT$; $DATETIME$"
+
+
+
+
 # These are some example service check commands.  See the HTML
 # documentation on the plugins for examples of how to configure
 # command definitions.
@@ -50,12 +66,15 @@ command[host-notify-by-epager]=/bin/echo '$HOSTALIAS$ is $HOSTSTATE$!' | /bin/ma
 command[check_tcp]=@libexecdir@/check_tcp -H $HOSTADDRESS$ -p $ARG1$
 command[check_udp]=@libexecdir@/check_udp -H $HOSTADDRESS$ -p $ARG1$
 command[check_ftp]=@libexecdir@/check_ftp -H $HOSTADDRESS$
-command[check_pop]=@libexecdir@/check_pop $HOSTADDRESS$
-command[check_smtp]=@libexecdir@/check_smtp $HOSTADDRESS$
-command[check_nntp]=@libexecdir@/check_nntp $HOSTADDRESS$
+command[check_pop]=@libexecdir@/check_pop -H $HOSTADDRESS$
+command[check_smtp]=@libexecdir@/check_smtp -H $HOSTADDRESS$
+command[check_nntp]=@libexecdir@/check_nntp -H $HOSTADDRESS$
 command[check_telnet]=@libexecdir@/check_tcp -H $HOSTADDRESS$ -p 23
-command[check_users]=@libexecdir@/check_users $ARG1$ $ARG2$
-command[check_hpjd]=@libexecdir@/check_hpjd $HOSTADDRESS$ public
+command[check_users]=@libexecdir@/check_users -w $ARG1$ -c $ARG2$
+command[check_ntp]=@libexecdir@/check_ntp -H $HOSTADDRESS$
+command[check_ntp_ntpq]=@libexecdir@/check_ntp -H $HOSTADDRESS$ -j 10 -k 15
+command[check_flexlm]=@libexecdir@/check_flexlm -F $ARG1$
+command[check_hpjd]=@libexecdir@/check_hpjd -H $HOSTADDRESS$ -C public
 command[check_mrtg]=@libexecdir@/check_mrtg $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$
 command[traffic_average]=@libexecdir@/check_mrtgtraf $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$ $ARG5$
 command[check_load]=@libexecdir@/check_load $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$
@@ -69,7 +88,8 @@ command[check_ping]=@libexecdir@/check_ping -H $HOSTADDRESS$ -w 10:20% -c 60:100
 command[check_procs]=@libexecdir@/check_procs -w $ARG1$ -c $ARG2$
 command[check_procs_zombie]=@libexecdir@/check_procs -w $ARG1$ -c $ARG2$ -s Z
 command[check_procs_httpd]=@libexecdir@/check_procs -w 5:$ARG1$ -c 1:$ARG2$ -C httpd
-command[check_vsz]=@libexecdir@/check_vsz -w 8096 -c 16182 -C httpd
+command[check_procs_vsz]=@libexecdir@/check_procs -w 8096 -c 16182 -C httpd --metric VSZ
+command[check_ups]=@libexecdir@/check_ups -H $HOSTADDRESS$ -u $ARG1$
 
 # An example of using check_by_ssh as an active service check
 command[ssh_disk]=@libexecdir@/check_by_ssh -H $HOSTADDRESS$ -C '@libexecdir@/check_disk -w 85% -c 95% -p $ARG1$'
@@ -92,7 +112,7 @@ command[snmp_swap]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.
 
 #
 # Slightly more generic SNMP OIDs
-#
+# note: using partial textual OIDs here - use numeric oids if you don't have MIBDIRS defined per Net-SNMP (net-snmp.org)
 
 command[snmp_procs]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrSystem.hrSystemProcesses -w :$ARG2$ -c :$ARG3$ -l processes
 
@@ -102,9 +122,9 @@ command[snmp_mem2]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hr
 
 command[snmp_swap2]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.102,host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.102 -w $ARG2$ -c $ARG3$
 
-command[snmp_mem]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.101,host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.101 -w $ARG2$ -c $ARG3$
+command[snmp_mem3]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.101,host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.101 -w $ARG2$ -c $ARG3$
 
-command[snmp_swap]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.102,host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.102 -w $ARG2$ -c $ARG3$
+command[snmp_swap3]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.102,host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.102 -w $ARG2$ -c $ARG3$
 
 command[snmp_disk2]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$ARG2$ -w $ARG3$ -c $ARG4$ 
 
@@ -112,6 +132,43 @@ command[snmp_tcpopen]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o tcp.
 
 command[snmp_tcpstats]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o tcp.tcpActiveOpens.0,tcp.tcpPassiveOpens.0,tcp.tcpInSegs.0,tcp.tcpOutSegs.0,tcp.tcpRetransSegs.0 -l 'TCP stats'
 
+
+# Some snmp based network device checks (requires Net::SNMP perl module)
+
+# check all admin-up interfaces
+command[check_ifstatus]=@libexecdir@/check_ifstatus -H $HOSTADDRESS$ -C public 
+
+# check particular interface by snmp ifIndex key
+command[check_ifoperstatus_ifindex]=@libexecdir@/check_ifoperstatus -H $HOSTADDRESS$ -C public -k $ARG1$
+
+# check particular interface by snmp ifDescr value (verify uniqueness before using)
+command[check_ifoperstatus_ifdescr]=@libexecdir@/check_ifoperstatus -H $HOSTADDRESS$ -C public -d $ARG1$
+
+# verify all you BGP session on a device are running (only returns warning due to some hardcoded option - to be fixed soon)
+command[check_snmp_bgpstate]=@libexecdir@/check_bgpstate -H $HOSTADDRESS$ -C public
+
+#
+# SNMP NetApp checks (Jason Truong)
+# 
+#
+#command[check_netapp_uptime]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C public -o .1.3.6.1.2.1.1.3.0 --delimiter=')' -l "Uptime is"
+#
+#command[check_netapp_cpuload]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C public -o .1.3.6.1.4.1.789.1.2.1.3.0 -w 90 -c 95 -u '%' -l "CPU LOAD " 
+#
+#command[check_netapp_numdisks]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C public -o .1.3.6.1.4.1.789.1.6.4.1.0,.1.3.6.1.4.1.789.1.6.4.2.0,.1.3.6.1.4.1.789.1.6.4.8.0,.1.3.6.1.4.1.789.1.6.4.7.0 -u 'Total Disks','Active','Spare','Failed' -l ""
+#
+
+#
+# SNMP Compaq Insight Agent (oids courtesy of vol)
+# 
+# the following 4 return the following codes: other=1, ok=2, degraded=3, failed=4
+#
+#command[check_compaq_thermalCondition]=@libexec@/check_snmp -H $HOSTADDRESS$ -C public -o .1.3.6.1.4.1.232.6.2.1.0,.1.3.6.1.4.1.232.6.2.2.0,.1.3.6.1.4.1.232.6.2.3.0,.1.3.6.1.4.1.232.6.2.4.0 -u 'ThermalCondition','ThermalTemp','ThermalSystem','ThermalCPUFan' -w 2:2,2:2,2:2,2:2 -c 1:2,1:2,1:2,1:2 -l "Thermal status "
+#
+#
+
+
+
 # This command checks to see if a host is "alive" by pinging it.  The
 # check must result in a 100% packet loss or 5 second (5000ms) round
 # trip average to produce an error.
@@ -132,13 +189,13 @@ command[check-router-alive]=@libexecdir@/check_ping -H $HOSTADDRESS$ -w 5000,100
 command[check-fast-alive]=@libexecdir@/check_fping -H $HOSTADDRESS$
 
 # Check if the IMAP service is alive (default port=143)
-command[check-imap]=@libexecdir@/check_imap $HOSTADDRESS$
+command[check-imap]=@libexecdir@/check_imap -H $HOSTADDRESS$
 
 # Check RPC services
-command[check-rpc]=@libexecdir@/check_rpc -H $HOSTADDRESS$ $ARG1$
+command[check-rpc]=@libexecdir@/check_rpc -H $HOSTADDRESS$ -C $ARG1$
 
-# Check if the NFS server is running
-command[check-nfs]=@libexecdir@/check_rpc -H $HOSTADDRESS$ nfs
+# Check if the NFS server is running (version 2 and version 3)
+command[check-nfs]=@libexecdir@/check_rpc -H $HOSTADDRESS$ -C nfs -c2,3
 
 # Check game servers
 command[check_quake]=@libexecdir@/check_game qs $HOSTADDRESS$
@@ -162,12 +219,16 @@ command[check_nmap_opt_range]=@libexecdir@/check_nmap -H $HOSTADDRESS$ -t 60 -p
 command[check_radius]=@libexecdir@/check_radius $ARG1$ $ARG2$ $HOSTADDRESS$ 1812 $ARG3$
 
 
-# Check Reply
-# This is a command for checking squid proxy servers which uses check
-# reply to ensure an HTTP 200 comes back ..... i.e. squid actually
+# Check HTTP proxy
+# This is a command for checking squid or other proxy servers which uses check
+# http to ensure an HTTP 200 comes back ..... i.e. squid actually
 # serves the page and not an error message.
+# Using check_http will allow verification of authenticated proxies
+#
+# Note:: This used to call "check_reply" which was pretty close to check_tcp
+#        The functionality of check_reply has been merged into check_tcp
 
-command[check_squid]=@libexecdir@/check_reply $HOSTADDRESS$ -p $ARG1$  -s 'GET $ARG2$ HTTP/1.0\n\n' -e 'HTTP/1.0 200 OK'
+command[check_squid]=@libexecdir@/check_http -H $HOSTADDRESS$ -p $ARG1$  -u $ARG2$  -e 'HTTP/1.0 200 OK'
 
 
 ## Check RealAudio url
@@ -176,9 +237,37 @@ command[check_real_url]=@libexecdir@/check_real $HOSTADDRESS$ -p $ARG1$ -wt $ARG
 ## Check RealAudio server response
 command[check_real]=@libexecdir@/check_real $HOSTADDRESS$ -p $ARG1$ -wt $ARG2$ -ct $ARG3$ -to 5
 
+# NetWare checks via check_nwstat ( see "check_nwstat -h" for more options)
+# how many current logins
+command[check_netware_logins]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOGINS" -w $ARG1$ -c $ARG2$
+# how many current connections
+command[check_nwstat_conns]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v CONNS -w $ARG1$ -c $ARG2$
+# 1 minute avg cpu load
+command[check_netware_1load]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOAD1" -w 70 -c 90
+# 5 minute avg cpu load
+command[check_netware_5load]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOAD5" -w 70 -c 90
+# 15 minute avg cpu load
+command[check_netware_15load]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOAD15" -w 70 -c 90
+# Disk volume (% free)
+command[check_nwstat_vol_p]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v VPF$ARG1$ -w $ARG2$ -c $ARG3$
+# Disk volume (KB free)
+command[check_nwstat_vol_k]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v VKF$ARG1$ -w $ARG2$ -c $ARG3$
+# % Long term cache hits
+command[check_nwstat_ltch]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v LTCH -w $ARG1$ -c $ARG2$
+# % (of max) used packet receive buffers
+command[check_nwstat_puprb]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v PUPRB -w $ARG1$ -c $ARG2$
+# Check to see if the DS database is open
+command[check_nwstat_dsdb]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v DSDB
+
+
+
+# Netware 5 abends
+command[check_netware_abend]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "ABENDS" -w 10 -c 30
+# Netware 5 number of current service procs
+command[check_nwstat_csprocs]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v CSPROCS -w $ARG1$ -c $ARG2$
+
 
 # Still have to write sample entries for the following:
 #
 # check_ldap
-# check_nwstat
 # check_overcr