1 ###############################################################################
2 # COMMAND CONFIGURATION
3 #
4 # $Id$
5 #
6 # SYNTAX:
7 # command[<command_name>]=<command_line>
8 #
9 # <command_name> = A short name used to identify the command
10 # <command_line> = The actual command line. The command line doesn't have to
11 # be surrounded in quotes, but may contain quotes as needed within
12 # the command line. Take care to use single quotes at the
13 # outer edges of commands or you will have command line
14 # expansion problems when the command is executed by the shell.
15 # Any valid shell command can be used. Multiple commands can
16 # be separated with semicolons, piping is allowed. The
17 # command line can contain macros, but not are macros are valid
18 # at all time (notifications, service checks, etc). See the
19 # HTML documentaion for more informationon on using macros in
20 # commands.
21 #
22 # Note: Service check, service notification, host check, host notification,
23 # service event handler, and host event handler functions are all defined
24 # here.
25 #
26 # Note: Use the convertcfg program in the contrib directory of the Nagios
27 # distribution to convert this file into a object file format.
28 #
29 ###############################################################################
31 # Service notification command - send email with problem summary
33 command[notify-by-email]=/bin/printf "$OUTPUT$" | /bin/mail -s '$SERVICESTATE$ alert for $HOSTALIAS$/$SERVICEDESC$' $CONTACTEMAIL$
35 # Service notification command - send email to alphanumeric pager
36 # gateway The notify-by-epager command assumes that each contact has a
37 # pager email gateway, and that the address has been entered into the
38 # appropriate contact field instead of an actual pager number.
39 # (i.e. 'pagejoe@nowhere.com' routes mail to Joe's alphanumeric pager)
41 command[notify-by-epager]=/bin/echo "$OUTPUT$" | /bin/mail -s '$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$' $CONTACTPAGER$
43 # Host notification commands (one for email, one for alphanumeric
44 # pager with email gateway)
46 command[host-notify-by-email]=/bin/echo -e "***** Nagios *****\n\nHost "$HOSTALIAS$" is $HOSTSTATE$!\n\nDate/Time: $DATETIME$\n" | /bin/mail -s 'Host $HOSTNAME$ is $HOSTSTATE$!' $CONTACTEMAIL$
48 command[host-notify-by-epager]=/bin/echo '$HOSTALIAS$ is $HOSTSTATE$!' | /bin/mail -s 'Host $HOSTNAME$ is $HOSTSTATE$!' $CONTACTPAGER$
51 ## Send notifications to a pager using modem with Qpage (www.qpage.com)
53 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$
55 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$
57 ## Send notifications using SMSclient (www.smsclient.org)
58 command[notify-by-smsclient]=/usr/bin/sms_client -q $CONTACTPAGER$ "$NOTIFICATIONTYPE$: $HOSTADDRESS$ $HOSTALIAS$: $SERVICEDESC$ is $SERVICESTATE$"
59 command[host-notify-by-smsclient]=/usr/bin/sms_client -q $CONTACTPAGER$ "Host $HOSTALIAS$ is $HOSTSTATE$; $OUTPUT$; $DATETIME$"
64 # These are some example service check commands. See the HTML
65 # documentation on the plugins for examples of how to configure
66 # command definitions.
68 command[check_tcp]=@libexecdir@/check_tcp -H $HOSTADDRESS$ -p $ARG1$
69 command[check_udp]=@libexecdir@/check_udp -H $HOSTADDRESS$ -p $ARG1$
70 command[check_ftp]=@libexecdir@/check_ftp -H $HOSTADDRESS$
71 command[check_pop]=@libexecdir@/check_pop -H $HOSTADDRESS$
72 command[check_smtp]=@libexecdir@/check_smtp -H $HOSTADDRESS$
73 command[check_nntp]=@libexecdir@/check_nntp -H $HOSTADDRESS$
74 command[check_telnet]=@libexecdir@/check_tcp -H $HOSTADDRESS$ -p 23
75 command[check_users]=@libexecdir@/check_users -w $ARG1$ -c $ARG2$
76 command[check_ntp]=@libexecdir@/check_ntp -H $HOSTADDRESS$
77 command[check_ntp_ntpq]=@libexecdir@/check_ntp -H $HOSTADDRESS$ -j 10 -k 15
78 command[check_flexlm]=@libexecdir@/check_flexlm -F $ARG1$
79 command[check_hpjd]=@libexecdir@/check_hpjd -H $HOSTADDRESS$ -C public
80 command[check_mrtg]=@libexecdir@/check_mrtg $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$
81 command[traffic_average]=@libexecdir@/check_mrtgtraf $ARG1$ 10 AVG $ARG2$ $ARG3$ $ARG4$ $ARG5$
82 command[check_load]=@libexecdir@/check_load $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$
84 command[check_disk]=@libexecdir@/check_disk -w 85% -c 95% -p $ARG1$
85 command[check_dns]=@libexecdir@/check_dns -H www.yahoo.com -s $HOSTADDRESS$
86 command[check_http]=@libexecdir@/check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$
87 command[check_http2]=@libexecdir@/check_http -H $ARG1$ -I $HOSTADDRESS$ -w $ARG2$ -c $ARG3$
88 command[check_pgsql]=@libexecdir@/check_pgsql -H $HOSTADDRESS$
89 command[check_ping]=@libexecdir@/check_ping -H $HOSTADDRESS$ -w 10:20% -c 60:100%
90 command[check_procs]=@libexecdir@/check_procs -w $ARG1$ -c $ARG2$
91 command[check_procs_zombie]=@libexecdir@/check_procs -w $ARG1$ -c $ARG2$ -s Z
92 command[check_procs_httpd]=@libexecdir@/check_procs -w 5:$ARG1$ -c 1:$ARG2$ -C httpd
93 command[check_procs_vsz]=@libexecdir@/check_procs -w 8096 -c 16182 -C httpd --metric VSZ
94 command[check_ups]=@libexecdir@/check_ups -H $HOSTADDRESS$ -u $ARG1$
96 # An example of using check_by_ssh as an active service check
97 command[ssh_disk]=@libexecdir@/check_by_ssh -H $HOSTADDRESS$ -C '@libexecdir@/check_disk -w 85% -c 95% -p $ARG1$'
99 #
100 # UCD_SNMP equivalents for some of the commands above
101 #
103 command[snmp_load]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.2021.10.1.5.1,.1.3.6.1.4.1.2021.10.1.5.2,.1.3.6.1.4.1.2021.10.1.5.3 -w :$ARG2$,:$ARG3$,:$ARG4$ -w :$ARG5$,:$ARG6$,:$ARG7$ -l load
105 command[snmp_cpustats]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.2021.11.9.0,.1.3.6.1.4.1.2021.11.10.0,.1.3.6.1.4.1.2021.11.11.0 -l 'CPU usage (user system idle)' -u '%'
107 command[snmp_procname]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o 1.3.6.1.4.1.2021.2.1.5.$ARG2$ -w $ARG3$:$ARG4$ -c $ARG5$:$ARG6$
109 command[snmp_disk]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o 1.3.6.1.4.1.2021.9.1.7.$ARG1$,1.3.6.1.4.1.2021.9.1.9.$ARG1$ -w $ARG2$:,:$ARG3$ -c $ARG4$:,:$ARG5$ -u 'kB free (','% used)' -l 'disk space'
111 command[snmp_mem]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.2021.4.6.0,.1.3.6.1.4.1.2021.4.5.0 -w $ARG2$: -c $ARG3$:
113 command[snmp_swap]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.2021.4.4.0,.1.3.6.1.4.1.2021.4.3.0 -w $ARG2$: -c $ARG3$:
115 #
116 # Slightly more generic SNMP OIDs
117 # note: using partial textual OIDs here - use numeric oids if you don't have MIBDIRS defined per Net-SNMP (net-snmp.org)
119 command[snmp_procs]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrSystem.hrSystemProcesses -w :$ARG2$ -c :$ARG3$ -l processes
121 command[snmp_users]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrSystem.hrSystemNumUsers -w :$ARG2$ -c :$ARG3$ -l users
123 command[snmp_mem2]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.101,host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageSize.101 -w $ARG2$ -c $ARG3$
125 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$
127 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$
129 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$
131 command[snmp_disk2]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$ARG2$ -w $ARG3$ -c $ARG4$
133 command[snmp_tcpopen]=@libexecdir@/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o tcp.tcpCurrEstab.0 -w $ARG2$ -c $ARG3$
135 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'
138 # Some snmp based network device checks (requires Net::SNMP perl module)
140 # check all admin-up interfaces
141 command[check_ifstatus]=@libexecdir@/check_ifstatus -H $HOSTADDRESS$ -C public
143 # check particular interface by snmp ifIndex key
144 command[check_ifoperstatus_ifindex]=@libexecdir@/check_ifoperstatus -H $HOSTADDRESS$ -C public -k $ARG1$
146 # check particular interface by snmp ifDescr value (verify uniqueness before using)
147 command[check_ifoperstatus_ifdescr]=@libexecdir@/check_ifoperstatus -H $HOSTADDRESS$ -C public -d $ARG1$
149 # verify all you BGP session on a device are running (only returns warning due to some hardcoded option - to be fixed soon)
150 command[check_snmp_bgpstate]=@libexecdir@/check_bgpstate -H $HOSTADDRESS$ -C public
152 #
153 # SNMP NetApp checks (Jason Truong)
154 #
155 #
156 #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"
157 #
158 #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 "
159 #
160 #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 ""
161 #
163 #
164 # SNMP Compaq Insight Agent (oids courtesy of vol)
165 #
166 # the following 4 return the following codes: other=1, ok=2, degraded=3, failed=4
167 #
168 #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 "
169 #
170 #
174 # This command checks to see if a host is "alive" by pinging it. The
175 # check must result in a 100% packet loss or 5 second (5000ms) round
176 # trip average to produce an error.
178 # This command checks to see if a host is "alive" by pinging it.
179 command[check-host-alive]=@libexecdir@/check_ping -H $HOSTADDRESS$ -w 5000,100% -c 5000,100% -p 1
181 # This command checks to see if a printer is "alive" by pinging it.
182 command[check-printer-alive]=@libexecdir@/check_ping -H $HOSTADDRESS$ -w 5000,100% -c 5000,100% -p 1
184 # This command checks to see if a switch is "alive" by pinging it.
185 command[check-switch-alive]=@libexecdir@/check_ping $HOSTADDRESS$ -w 5000,100% -c 5000,100% -p 1
187 # This command checks to see if a router is "alive" by pinging it.
188 command[check-router-alive]=@libexecdir@/check_ping -H $HOSTADDRESS$ -w 5000,100% -c 5000,100% -p 1
190 # Check if a host is alive by doing a fast ping instead of a regular ping
191 command[check-fast-alive]=@libexecdir@/check_fping -H $HOSTADDRESS$
193 # Check if the IMAP service is alive (default port=143)
194 command[check-imap]=@libexecdir@/check_imap -H $HOSTADDRESS$
196 # Check RPC services
197 command[check-rpc]=@libexecdir@/check_rpc -H $HOSTADDRESS$ -C $ARG1$
199 # Check if the NFS server is running (version 2 and version 3)
200 command[check-nfs]=@libexecdir@/check_rpc -H $HOSTADDRESS$ -C nfs -c2,3
202 # Check game servers
203 command[check_quake]=@libexecdir@/check_game qs $HOSTADDRESS$
204 command[check_unreal]=@libexecdir@/check_game uns $HOSTADDRESS$ -p $ARG1$ -pf 8
206 # Check a port that should be open
207 command[check_nmap]=@libexecdir@/check_nmap -H $HOSTADDRESS$ -t 30 -p $ARG1$
209 # Check a port that should be open and another that *could* be open,
210 # but no warning is given if optional port is closed.
212 command[check_nmap_optional]=@libexecdir@/check_nmap -H $HOSTADDRESS$ -t 60 -p $ARG1$ -o $ARG2$
214 # Specify range to nmap
215 command[check_nmap_range]=@libexecdir@/check_nmap -H $HOSTADDRESS$ -t 60 -p $ARG1$ -r $ARG2$
217 # Specify both optional and range
218 command[check_nmap_opt_range]=@libexecdir@/check_nmap -H $HOSTADDRESS$ -t 60 -p $ARG1$ -o $ARG2$ -r$ARG3$
220 # Check Radius
221 command[check_radius]=@libexecdir@/check_radius $ARG1$ $ARG2$ $HOSTADDRESS$ 1812 $ARG3$
224 # Check HTTP proxy
225 # This is a command for checking squid or other proxy servers which uses check
226 # http to ensure an HTTP 200 comes back ..... i.e. squid actually
227 # serves the page and not an error message.
228 # Using check_http will allow verification of authenticated proxies
229 #
230 # Note:: This used to call "check_reply" which was pretty close to check_tcp
231 # The functionality of check_reply has been merged into check_tcp
233 command[check_squid]=@libexecdir@/check_http -H $HOSTADDRESS$ -p $ARG1$ -u $ARG2$ -e 'HTTP/1.0 200 OK'
236 ## Check RealAudio url
237 command[check_real_url]=@libexecdir@/check_real $HOSTADDRESS$ -p $ARG1$ -wt $ARG2$ -ct $ARG3$ -to 5 -u $ARG4$
239 ## Check RealAudio server response
240 command[check_real]=@libexecdir@/check_real $HOSTADDRESS$ -p $ARG1$ -wt $ARG2$ -ct $ARG3$ -to 5
242 # NetWare checks via check_nwstat ( see "check_nwstat -h" for more options)
243 # how many current logins
244 command[check_netware_logins]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOGINS" -w $ARG1$ -c $ARG2$
245 # how many current connections
246 command[check_nwstat_conns]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v CONNS -w $ARG1$ -c $ARG2$
247 # 1 minute avg cpu load
248 command[check_netware_1load]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOAD1" -w 70 -c 90
249 # 5 minute avg cpu load
250 command[check_netware_5load]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOAD5" -w 70 -c 90
251 # 15 minute avg cpu load
252 command[check_netware_15load]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "LOAD15" -w 70 -c 90
253 # Disk volume (% free)
254 command[check_nwstat_vol_p]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v VPF$ARG1$ -w $ARG2$ -c $ARG3$
255 # Disk volume (KB free)
256 command[check_nwstat_vol_k]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v VKF$ARG1$ -w $ARG2$ -c $ARG3$
257 # % Long term cache hits
258 command[check_nwstat_ltch]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v LTCH -w $ARG1$ -c $ARG2$
259 # % (of max) used packet receive buffers
260 command[check_nwstat_puprb]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v PUPRB -w $ARG1$ -c $ARG2$
261 # Check to see if the DS database is open
262 command[check_nwstat_dsdb]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v DSDB
266 # Netware 5 abends
267 command[check_netware_abend]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v "ABENDS" -w 10 -c 30
268 # Netware 5 number of current service procs
269 command[check_nwstat_csprocs]=@libexecdir@/check_nwstat -H $HOSTADDRESS$ -v CSPROCS -w $ARG1$ -c $ARG2$
272 # Still have to write sample entries for the following:
273 #
274 # check_ldap
275 # check_overcr