1 /******************************************************************************
3 * Copyright (C) 2012-2015 Icinga Development Team (http://www.icinga.org) *
5 * This program is free software; you can redistribute it and/or *
6 * modify it under the terms of the GNU General Public License *
7 * as published by the Free Software Foundation; either version 2 *
8 * of the License, or (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software Foundation *
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ******************************************************************************/
20 template CheckCommand "ipv4-or-ipv6" {
21 vars.check_address = {{
22 var addr_v4 = macro("$address$")
23 var addr_v6 = macro("$address6$")
33 template CheckCommand "ping-common" {
34 import "plugin-check-command"
36 command = [ PluginDir + "/check_ping" ]
39 "-H" = "$ping_address$"
40 "-w" = "$ping_wrta$,$ping_wpl$%"
41 "-c" = "$ping_crta$,$ping_cpl$%"
42 "-p" = "$ping_packets$"
43 "-t" = "$ping_timeout$"
52 object CheckCommand "ping" {
56 vars.ping_address = "$check_address$"
59 object CheckCommand "ping4" {
64 vars.ping_address = "$address$"
67 object CheckCommand "ping6" {
72 vars.ping_address = "$address6$"
75 template CheckCommand "hostalive-common" {
76 vars.ping_wrta = 3000.0
79 vars.ping_crta = 5000.0
83 object CheckCommand "hostalive" {
85 import "hostalive-common"
88 object CheckCommand "hostalive4" {
90 import "hostalive-common"
93 object CheckCommand "hostalive6" {
95 import "hostalive-common"
98 template CheckCommand "fping-common" {
99 import "plugin-check-command"
102 PluginDir + "/check_fping",
107 "-w" = "$fping_wrta$,$fping_wpl$%"
108 "-c" = "$fping_crta$,$fping_cpl$%"
109 "-n" = "$fping_number$"
110 "-i" = "$fping_interval$"
111 "-b" = "$fping_bytes$"
112 "-T" = "$fping_target_timeout$"
113 "-S" = "$fping_source_ip$"
114 "-I" = "$fping_source_interface$"
117 vars.fping_wrta = 100
119 vars.fping_crta = 200
121 vars.fping_number = 5
122 vars.fping_interval = 500
125 object CheckCommand "fping4" {
126 import "fping-common"
130 vars.fping_address = "$address$"
133 object CheckCommand "fping6" {
134 import "fping-common"
138 vars.fping_address = "$address6$"
141 object CheckCommand "dummy" {
142 import "plugin-check-command"
145 PluginDir + "/check_dummy",
151 vars.dummy_text = "Check was successful."
154 object CheckCommand "passive" {
158 vars.dummy_text = "No Passive Check Result Received."
161 object CheckCommand "tcp" {
162 import "plugin-check-command"
163 import "ipv4-or-ipv6"
165 command = [ PluginDir + "/check_tcp" ]
169 value = "$tcp_address$"
170 description = "Host name, IP Address, or unix socket (must be an absolute path)."
174 description = "The TCP port number."
177 value = "$tcp_expect$"
178 description = "String to expect in server response (may be repeated)."
182 description = "All expect strings need to occur in server response. Defaults to false."
187 set_if = "$tcp_escape_send$"
188 description = "Enable usage of \n, \r, \t or \\ in send string."
193 description = "String to send to the server."
198 set_if = "$tcp_escape_quit$"
199 description = "Enable usage of \n, \r, \t or \\ in quit string."
204 description = "String to send server to initiate a clean close of the connection."
207 value = "$tcp_refuse$"
208 description = "Accept TCP refusals with states ok, warn, crit. Defaults to crit."
211 value = "$tcp_mismatch$"
212 description = "Accept expected string mismatches with states ok, warn, crit. Defaults to warn."
215 set_if = "$tcp_jail$"
216 description = "Hide output from TCP socket."
219 value = "$tcp_maxbytes$"
220 description = "Close connection once more than this number of bytes are received."
223 value = "$tcp_delay$"
224 description = "Seconds to wait between sending string and polling for response."
227 value = "$tcp_certificate$"
228 description = "Minimum number of days a certificate has to be valid. 1st value is number of days for warning, 2nd is critical (if not specified: 0) - seperated by comma."
232 description = "Use SSL for the connection."
235 value = "$tcp_wtime$"
236 description = "Response time to result in warning status (seconds)."
239 value = "$tcp_ctime$"
240 description = "Response time to result in critical status (seconds)."
243 value = "$tcp_timeout$"
244 description = "Seconds before connection times out. Defaults to 10."
248 vars.tcp_address = "$check_address$"
250 vars.tcp_refuse = "crit"
251 vars.tcp_mismatch = "warn"
252 vars.tcp_timeout = 10
255 object CheckCommand "ssl" {
256 import "plugin-check-command"
257 import "ipv4-or-ipv6"
259 command = [ PluginDir + "/check_tcp" ]
262 "-H" = "$ssl_address$"
265 "--timeout" = "$ssl_timeout$"
266 "-D" = "$ssl_cert_valid_days_warn$,$ssl_cert_valid_days_critical$"
269 vars.ssl_address = "$check_address$"
272 object CheckCommand "udp" {
273 import "plugin-check-command"
274 import "ipv4-or-ipv6"
277 PluginDir + "/check_udp",
278 "-H", "$udp_address$",
288 value = "$udp_expect$"
294 vars.udp_address = "$check_address$"
297 object CheckCommand "http" {
298 import "plugin-check-command"
299 import "ipv4-or-ipv6"
301 command = [ PluginDir + "/check_http" ]
304 "-H" = "$http_vhost$"
305 "-I" = "$http_address$"
309 set_if = "$http_ssl$"
312 set_if = "$http_sni$"
315 value = "$http_certificate$"
316 description = "Minimum number of days a certificate has to be valid. Port defaults to 443."
319 value = "$http_clientcert$"
320 description = "Name of file contains the client certificate (PEM format)"
323 value = "$http_privatekey$"
324 description = "Name of file contains the private key (PEM format)"
327 value = "$http_auth_pair$"
328 description = "Username:password on sites with basic authentication"
331 set_if = "$http_ignore_body$"
333 "-w" = "$http_warn_time$"
334 "-c" = "$http_critical_time$"
335 "-e" = "$http_expect$"
337 value = "$http_headerstring$"
338 description = "String to expect in the response headers"
341 value = "$http_string$"
342 description = "String to expect in the content"
345 value = "$http_post$"
346 description = "URL encoded http POST data"
349 value = "$http_method$"
350 description = "Set http method (for example: HEAD, OPTIONS, TRACE, PUT, DELETE)"
353 value = "$http_maxage$"
354 description = "Warn if document is more than seconds old"
357 value = "$http_contenttype$"
358 description = "Specify Content-Type header when POSTing"
361 set_if = "$http_linespan$"
362 description = "Allow regex to span newline"
366 value = "$http_expect_body_regex$"
367 description = "Search page for regex"
371 value = "$http_expect_body_eregi$"
372 description = "Search page for case-insensitive regex"
376 set_if = "$http_invertregex$"
377 description = "Return CRITICAL if found, OK if not"
380 value = "$http_proxy_auth_pair$"
381 description = "Username:password on proxy-servers with basic authentication"
384 value = "$http_useragent$"
385 description = "String to be sent in http header as User Agent"
388 value = "$http_header$"
389 description = "Any other tags to be sent in http header"
392 set_if = "$http_extendedperfdata$"
393 description = "Print additional perfdata"
396 value = "$http_onredirect$"
397 description = "How to handle redirect pages"
400 value = "$http_pagesize$"
401 description = "Minim page size required:Maximum page size required"
404 value = "$http_timeout$"
405 description = "Seconds before connection times out"
409 vars.http_address = "$check_address$"
410 vars.http_ssl = false
411 vars.http_sni = false
412 vars.http_linespan = false
413 vars.http_invertregex = false
416 object CheckCommand "ftp" {
417 import "plugin-check-command"
418 import "ipv4-or-ipv6"
420 command = [ PluginDir + "/check_ftp" ]
424 value = "$ftp_address$"
425 description = "The host's address. Defaults to $address$ or $address6$ if the address attribute is not set."
429 description = "The FTP port number. Defaults to none"
432 value = "$ftp_expect$"
433 description = "String to expect in server response (may be repeated)."
437 description = "All expect strings need to occur in server response. Default is any."
442 set_if = "$ftp_escape_send$"
443 description = "Enable usage of \n, \r, \t or \\ in send string. Default is nothing."
448 description = "String to send to the server."
453 set_if = "$ftp_escape_quit$"
454 description = "Can use \n, \r, \t or \\ in quit string. Default is \r\n added to end of quit."
459 description = "String to send server to initiate a clean close of the connection."
462 value = "$ftp_refuse$"
463 description = "Accept TCP refusals with states ok, warn, crit. Defaults to crit."
466 value = "$ftp_mismatch$"
467 description = "Accept expected string mismatches with states ok, warn, crit. Defaults to warn."
470 set_if = "$ftp_jail$"
471 description = "Hide output from TCP socket."
474 value = "$ftp_maxbytes$"
475 description = "Close connection once more than this number of bytes are received."
478 value = "$ftp_delay$"
479 description = "Seconds to wait between sending string and polling for response."
482 value = "$ftp_certificate$"
483 description = "Minimum number of days a certificate has to be valid. 1st value is number of days for warning, 2nd is critical (if not specified: 0) - seperated by comma."
487 description = "Use SSL for the connection."
490 value = "$ftp_wtime$"
491 description = "Response time to result in warning status (seconds)."
494 value = "$ftp_ctime$"
495 description = "Response time to result in critical status (seconds)."
498 value = "$ftp_timeout$"
499 description = "Seconds before connection times out. Defaults to 10."
503 vars.ftp_address = "$check_address$"
505 vars.ftp_refuse = "crit"
506 vars.ftp_mismatch = "warn"
507 vars.ftp_timeout = 10
510 object CheckCommand "smtp" {
511 import "plugin-check-command"
512 import "ipv4-or-ipv6"
514 command = [ PluginDir + "/check_smtp" ]
517 "-H" = "$smtp_address$"
519 "-f" = "$smtp_mail_from$"
520 "-e" = "$smtp_expect$"
521 "-C" = "$smtp_command$"
522 "-R" = "$smtp_response$"
523 "-F" = "$smtp_helo_fqdn$"
524 "-D" = "$smtp_certificate_age$"
525 "-S" = "$smtp_starttls$"
526 "-A" = "$smtp_authtype$"
527 "-U" = "$smtp_authuser$"
528 "-P" = "$smtp_authpass$"
529 "-q" = "$smtp_ignore_quit$"
530 "-w" = "$smtp_warning$"
531 "-c" = "$smtp_critical$"
532 "-t" = "$smtp_timeout$"
535 vars.smtp_address = "$check_address$"
538 object CheckCommand "ssmtp" {
539 import "plugin-check-command"
540 import "ipv4-or-ipv6"
542 command = [ PluginDir + "/check_ssmtp" ]
544 "-H" = "$ssmtp_address$"
545 "-p" = "$ssmtp_port$"
548 vars.ssmtp_address = "$check_address$"
551 object CheckCommand "imap" {
552 import "plugin-check-command"
553 import "ipv4-or-ipv6"
555 command = [ PluginDir + "/check_imap" ]
558 "-H" = "$imap_address$"
562 vars.imap_address = "$check_address$"
565 object CheckCommand "simap" {
566 import "plugin-check-command"
567 import "ipv4-or-ipv6"
569 command = [ PluginDir + "/check_simap" ]
572 "-H" = "$simap_address$"
573 "-p" = "$simap_port$"
576 vars.simap_address = "$check_address$"
579 object CheckCommand "pop" {
580 import "plugin-check-command"
581 import "ipv4-or-ipv6"
583 command = [ PluginDir + "/check_pop" ]
586 "-H" = "$pop_address$"
590 vars.pop_address = "$check_address$"
593 object CheckCommand "spop" {
594 import "plugin-check-command"
595 import "ipv4-or-ipv6"
597 command = [ PluginDir + "/check_spop" ]
600 "-H" = "$spop_address$"
604 vars.spop_address = "$check_address$"
607 object CheckCommand "ntp_time" {
608 import "plugin-check-command"
609 import "ipv4-or-ipv6"
611 command = [ PluginDir + "/check_ntp_time" ]
614 "-H" = "$ntp_address$"
617 "-w" = "$ntp_warning$"
618 "-c" = "$ntp_critical$"
619 "-o" = "$ntp_timeoffset$"
620 "-t" = "$ntp_timeout$"
623 vars.ntp_address = "$check_address$"
626 object CheckCommand "ntp_peer" {
627 import "plugin-check-command"
628 import "ipv4-or-ipv6"
630 command = [ PluginDir + "/check_ntp_peer" ]
633 "-H" = "$ntp_address$"
635 "-w" = "$ntp_warning$"
636 "-c" = "$ntp_critical$"
637 "-W" = "$ntp_wstratum$"
638 "-C" = "$ntp_cstratum$"
639 "-j" = "$ntp_wjitter$"
640 "-k" = "$ntp_cjitter$"
641 "-m" = "$ntp_wsource$"
642 "-n" = "$ntp_csource$"
643 "-t" = "$ntp_timeout$"
646 vars.ntp_address = "$check_address$"
649 object CheckCommand "ssh" {
650 import "plugin-check-command"
651 import "ipv4-or-ipv6"
653 command = [ PluginDir + "/check_ssh" ]
657 "-t" = "$ssh_timeout$"
659 value = "$ssh_address$"
665 vars.ssh_address = "$check_address$"
668 object CheckCommand "disk" {
669 import "plugin-check-command"
671 command = [ PluginDir + "/check_disk" ]
675 value = "$disk_wfree$"
676 description = "Exit with WARNING status if less than INTEGER units of disk are free or Exit with WARNING status if less than PERCENT of disk space is free"
682 value = "$disk_cfree$"
683 description = "Exit with CRITICAL status if less than INTEGER units of disk are free or Exit with CRITCAL status if less than PERCENT of disk space is free"
689 value = "$disk_inode_wfree$"
690 description = "Exit with WARNING status if less than PERCENT of inode space is free"
694 value = "$disk_inode_cfree$"
695 description = "Exit with CRITICAL status if less than PERCENT of inode space is free"
699 value = "$disk_partitions$"
700 description = "Path or partition (may be repeated)"
707 value = "$disk_partition$"
712 value = "$disk_partitions_excluded$"
713 description = "Ignore device (only works if -p unspecified)"
718 value = "$disk_partition_excluded$"
722 set_if = "$disk_clear$"
723 description = "Clear thresholds"
727 set_if = "$disk_exact_match$"
728 description = "For paths or partitions specified with -p, only check for exact paths"
732 set_if = "$disk_errors_only$"
733 description = "Display only devices/mountpoints with errors"
737 value = "$disk_group$"
738 description = "Group paths. Thresholds apply to (free-)space of all partitions together"
742 set_if = "$disk_kilobytes$"
743 description = "Same as --units kB"
747 set_if = "$disk_local$"
748 description = " Only check local filesystems"
752 set_if = "$disk_stat_remote_fs$"
753 description = "Only check local filesystems against thresholds. Yet call stat on remote filesystems to test if they are accessible (e.g. to detect Stale NFS Handles)"
757 set_if = "$disk_mountpoint$"
758 description = "Display the mountpoint instead of the partition"
762 set_if = "$disk_megabytes$"
763 description = "Same as --units MB"
767 set_if = "$disk_all$"
768 description = "Explicitly select all paths. This is equivalent to -R .*"
772 value = "$disk_eregi_path$"
773 description = "Case insensitive regular expression for path/partition (may be repeated)"
778 value = "$disk_ereg_path$"
779 description = "Regular expression for path or partition (may be repeated)"
784 value = "$disk_ignore_eregi_path$"
785 description = "Regular expression to ignore selected path/partition (case insensitive) (may be repeated)"
791 value = "$disk_ignore_ereg_path$"
792 description = "Regular expression to ignore selected path or partition (may be repeated)"
798 value = "$disk_timeout$"
799 description = "Seconds before connection times out (default: 10)"
803 value = "$disk_units$"
804 description = "Choose bytes, kB, MB, GB, TB (default: MB)"
808 value = "$disk_exclude_type$"
809 description = "Ignore all filesystems of indicated type (may be repeated)"
814 vars.disk_wfree = "20%"
815 vars.disk_cfree = "10%"
816 vars.disk_inode_wfree = "20%"
817 vars.disk_inode_cfree = "10%"
818 vars.disk_megabytes = true
819 vars.disk_exclude_type = ["none", "tmpfs", "sysfs", "proc", "devtmpfs", "devfs", "mtmfs"]
822 object CheckCommand "disk_smb" {
823 import "plugin-check-command"
825 command = [ PluginDir + "/check_disk_smb" ]
829 value = "$disk_smb_hostname$"
830 description = "NetBIOS name of the server."
833 value = "$disk_smb_share$"
834 description = "Share name to be tested."
837 value = "$disk_smb_workgroup$"
838 description = "Workgroup or Domain used (Defaults to 'WORKGROUP' if omitted)."
841 value = "$disk_smb_address$"
842 description = "IP-address of HOST (only necessary if HOST is in another network)."
845 value = "$disk_smb_username$"
846 description = "Username to log in to server. (Defaults to 'guest' if omitted)."
849 value = "$disk_smb_password$"
850 description = "Password to log in to server. (Defaults to an empty password if omitted)."
853 value = "$disk_smb_wused$"
854 description = "Percent of used space at which a warning will be generated (Default: 85%)."
857 value = "$disk_smb_cused$"
858 description = "Percent of used space at which a critical will be generated (Defaults: 95%)"
861 value = "$disk_smb_port$"
862 description = "Port to be used to connect to. Some Windows boxes use 139, others 445 (Defaults to smbclient default if omitted)."
866 vars.disk_smb_wused = "85%"
867 vars.disk_smb_cused = "95%"
870 object CheckCommand "users" {
871 import "plugin-check-command"
873 command = [ PluginDir + "/check_users" ]
876 "-w" = "$users_wgreater$"
877 "-c" = "$users_cgreater$"
880 vars.users_wgreater = 20
881 vars.users_cgreater = 50
884 object CheckCommand "procs" {
885 import "plugin-check-command"
887 command = [ PluginDir + "/check_procs" ]
891 value = "$procs_warning$"
892 description = "Generate warning state if metric is outside this range"
895 value = "$procs_critical$"
896 description = "Generate critical state if metric is outside this range"
899 value = "$procs_metric$"
900 description = "Check thresholds against metric"
903 value = "$procs_timeout$"
904 description = "Seconds before plugin times out"
907 set_if = "$procs_traditional$"
908 description = "Filter own process the traditional way by PID instead of /proc/pid/exe"
911 value = "$procs_state$"
912 description = "Only scan for processes that have one or more of the status flags you specify"
915 value = "$procs_ppid$"
916 description = "Only scan for children of the parent process ID indicated"
919 value = "$procs_vsz$"
920 description = "Only scan for processes with VSZ higher than indicated"
923 value = "$procs_rss$"
924 description = "Only scan for processes with RSS higher than indicated"
927 value = "$procs_pcpu$"
928 description = "Only scan for processes with PCPU higher than indicated"
931 value = "$procs_user$"
932 description = "Only scan for processes with user name or ID indicated"
935 value = "$procs_argument$"
936 description = "Only scan for processes with args that contain STRING"
938 "--ereg-argument-array" = {
939 value = "$procs_argument_regex$"
940 description = "Only scan for processes with args that contain the regex STRING"
943 value = "$procs_command$"
944 description = "Only scan for exact matches of COMMAND (without path)"
947 set_if = "$procs_nokthreads$"
948 description = "Only scan for non kernel threads"
952 vars.procs_traditional = false
953 vars.procs_nokthreads = false
954 vars.procs_warning = 250
955 vars.procs_critical = 400
958 object CheckCommand "swap" {
959 import "plugin-check-command"
961 command = [ PluginDir + "/check_swap" ]
964 "-w" = "$swap_wfree$%"
965 "-c" = "$swap_cfree$%"
972 object CheckCommand "load" {
973 import "plugin-check-command"
975 command = [ PluginDir + "/check_load" ]
978 "-w" = "$load_wload1$,$load_wload5$,$load_wload15$"
979 "-c" = "$load_cload1$,$load_cload5$,$load_cload15$"
982 vars.load_wload1 = 5.0
983 vars.load_wload5 = 4.0
984 vars.load_wload15 = 3.0
986 vars.load_cload1 = 10.0
987 vars.load_cload5 = 6.0
988 vars.load_cload15 = 4.0
991 object CheckCommand "snmp" {
992 import "plugin-check-command"
994 command = [ PluginDir + "/check_snmp" ]
997 "-H" = "$snmp_address$"
999 "-C" = "$snmp_community$"
1000 "-c" = "$snmp_crit$"
1001 "-w" = "$snmp_warn$"
1002 "-s" = "$snmp_string$"
1003 "-r" = "$snmp_ereg$"
1004 "-R" = "$snmp_eregi$"
1005 "-l" = "$snmp_label$"
1006 "-u" = "$snmp_units$"
1007 "-t" = "$snmp_timeout$"
1008 "--invert-search" = {
1009 set_if = "$snmp_invert_search$"
1010 description = "Invert search result and return CRITICAL if found"
1012 "-P" = "$snmp_version$"
1013 "-m" = "$snmp_miblist$"
1014 "--rate-multiplier" = "$snmp_rate_multiplier$"
1016 set_if = "$snmp_rate$"
1017 description = "Enable rate calculation"
1020 set_if = "$snmp_getnext$"
1021 description = "Use SNMP GETNEXT instead of SNMP GET"
1025 vars.snmp_address = {{
1026 var addr_v4 = macro("$address$")
1027 var addr_v6 = macro("$address6$")
1032 return "udp6:[" + addr_v6 + "]"
1036 vars.snmp_community = "public"
1037 vars.snmp_invert_search = false
1038 vars.snmp_timeout = "10"
1041 object CheckCommand "snmpv3" {
1042 import "plugin-check-command"
1043 import "ipv4-or-ipv6"
1045 command = [ PluginDir + "/check_snmp" ]
1048 "-H" = "$snmpv3_address$"
1050 "--seclevel" = "$snmpv3_seclevel$"
1051 "-U" = "$snmpv3_user$"
1052 "-a" = "$snmpv3_auth_alg$"
1053 "-A" = "$snmpv3_auth_key$"
1054 "-x" = "$snmpv3_priv_alg$"
1055 "-X" = "$snmpv3_priv_key$"
1056 "-o" = "$snmpv3_oid$"
1057 "-c" = "$snmpv3_crit$"
1058 "-w" = "$snmpv3_warn$"
1059 "-l" = "$snmpv3_label$"
1062 vars.snmpv3_address = "$check_address$"
1063 vars.snmpv3_auth_alg = "SHA"
1064 vars.snmpv3_priv_alg = "AES"
1065 vars.snmpv3_seclevel = "authPriv"
1068 object CheckCommand "snmp-uptime" {
1071 vars.snmp_oid = "1.3.6.1.2.1.1.3.0"
1074 object CheckCommand "apt" {
1075 import "plugin-check-command"
1077 command = [ PluginDir + "/check_apt" ]
1080 object CheckCommand "dhcp" {
1081 import "plugin-check-command"
1083 command = [ PluginDir + "/check_dhcp" ]
1086 "-s" = "$dhcp_serverip$"
1087 "-r" = "$dhcp_requestedip$"
1088 "-t" = "$dhcp_timeout$"
1089 "-i" = "$dhcp_interface$"
1092 set_if = "$dhcp_unicast$"
1096 vars.dhcp_unicast = false
1099 object CheckCommand "dns" {
1100 import "plugin-check-command"
1101 import "ipv4-or-ipv6"
1103 command = [ PluginDir + "/check_dns" ]
1107 value = "$dns_lookup$"
1108 description = "The name or address you want to query."
1111 value = "$dns_server$"
1112 description = "Optional DNS server you want to use for the lookup."
1115 value = "$dns_expected_answers$"
1116 description = "Optional ip address or host you expect the DNS server to return. Host must end with a dot (.). This option can be repeated multiple times (Returns OK if any value match). If multiple addresses are returned at once, you have to match the whole string of addresses separated with commas (sorted alphabetically)."
1120 value ="$dns_expected_answer$"
1123 set_if = "$dns_authoritative$"
1126 value = "$dns_wtime$"
1127 description = "Return warning if elapsed time exceeds value."
1130 value = "$dns_ctime$"
1131 description = "Return critical if elapsed time exceeds value."
1134 value = "$dns_timeout$"
1135 description = "Seconds before connection times out. Defaults to 10."
1139 vars.dns_lookup = "$host.name$"
1140 vars.dns_expected_answer = "$check_address$"
1141 vars.dns_timeout = 10
1144 object CheckCommand "dig" {
1145 import "plugin-check-command"
1146 import "ipv4-or-ipv6"
1148 command = [ PluginDir + "/check_dig" ]
1151 "-H" = "$dig_server$"
1152 "-l" = "$dig_lookup$"
1155 vars.dig_server = "$check_address$"
1158 object CheckCommand "nscp" {
1159 import "plugin-check-command"
1160 import "ipv4-or-ipv6"
1162 command = [ PluginDir + "/check_nt" ]
1165 "-H" = "$nscp_address$"
1166 "-p" = "$nscp_port$"
1167 "-s" = "$nscp_password$"
1169 value = "$nscp_variable$"
1173 value = "$nscp_params$"
1176 "-w" = "$nscp_warn$"
1177 "-c" = "$nscp_crit$"
1178 "-t" = "$nscp_timeout$"
1181 description = "Use with SERVICESTATE to see working services or PROCSTATE for running processes"
1182 set_if = "$nscp_showall$"
1186 vars.nscp_address = "$check_address$"
1187 vars.nscp_port = 12489
1188 vars.nscp_showall = false
1191 object CheckCommand "by_ssh" {
1192 import "plugin-check-command"
1193 import "ipv4-or-ipv6"
1195 command = [ PluginDir + "/check_by_ssh" ]
1198 "-H" = "$by_ssh_address$"
1199 "-p" = "$by_ssh_port$"
1200 "-C" = "$by_ssh_command$"
1201 "-l" = "$by_ssh_logname$"
1202 "-i" = "$by_ssh_identity$"
1204 set_if = "$by_ssh_quiet$"
1206 "-w" = "$by_ssh_warn$"
1207 "-c" = "$by_ssh_crit$"
1208 "-t" = "$by_ssh_timeout$"
1211 vars.by_ssh_address = "$check_address$"
1212 vars.by_ssh_quiet = false
1215 object CheckCommand "ups" {
1216 import "plugin-check-command"
1217 import "ipv4-or-ipv6"
1219 command = [ PluginDir + "/check_ups" ]
1223 value = "$ups_address$"
1224 description = "Address of the upsd server"
1228 value = "$ups_name$"
1229 description = "Name of the UPS to monitor"
1233 value = "$ups_port$"
1234 description = "Port number (default: 3493)"
1237 value = "$ups_variable$"
1238 description = "Variable to monitor, valid strings are LINE, TEMP, BATTPCT or LOADPCT"
1241 value = "$ups_warning$"
1242 description = "Warning threshold for the selected variable"
1245 value = "$ups_critical$"
1246 description = "Critical threshold for the selected variable"
1249 set_if = "$ups_celsius$"
1250 description = "Display temperature in degrees Celsius instead of Fahrenheit"
1253 value = "$ups_timeout$"
1254 description = "Seconds before the connection times out (default: 10)"
1258 vars.ups_address = "$check_address$"
1259 vars.ups_name = "ups"
1262 object CheckCommand "nrpe" {
1263 import "plugin-check-command"
1264 import "ipv4-or-ipv6"
1266 command = [ PluginDir + "/check_nrpe" ]
1269 "-H" = "$nrpe_address$"
1270 "-p" = "$nrpe_port$"
1271 "-c" = "$nrpe_command$"
1273 set_if = "$nrpe_no_ssl$"
1274 description = "Do not use SSL."
1277 set_if = "$nrpe_timeout_unknown$"
1278 description = "Make socket timeouts return an UNKNOWN state instead of CRITICAL"
1280 "-t" = "$nrpe_timeout$"
1282 value = "$nrpe_arguments$"
1288 vars.nrpe_address = "$check_address$"
1289 vars.nrpe_no_ssl = false
1290 vars.nrpe_timeout_unknown = false
1295 object CheckCommand "hpjd" {
1296 import "plugin-check-command"
1297 import "ipv4-or-ipv6"
1299 command = [ PluginDir + "/check_hpjd" ]
1302 "-H" = "$hpjd_address$"
1303 "-C" = "$hpjd_community$"
1304 "-p" = "$hpjd_port$"
1307 vars.hpjd_address = "$check_address$"
1310 object CheckCommand "icmp" {
1311 import "plugin-check-command"
1313 command = [ PluginDir + "/check_icmp" ]
1317 value = "$icmp_address$"
1321 "-w" = "$icmp_wrta$,$icmp_wpl$%"
1322 "-c" = "$icmp_crta$,$icmp_cpl$%"
1323 "-s" = "$icmp_source$"
1324 "-n" = "$icmp_packets$"
1325 "-i" = "$icmp_packet_interval$"
1326 "-I" = "$icmp_target_interval$"
1327 "-m" = "$icmp_hosts_alive$"
1328 "-b" = "$icmp_data_bytes$"
1329 "-t" = "$icmp_timeout$"
1332 vars.icmp_address = "$address$"
1333 vars.icmp_wrta = 100
1335 vars.icmp_crta = 200
1339 object CheckCommand "ldap" {
1340 import "plugin-check-command"
1341 import "ipv4-or-ipv6"
1343 command = [ PluginDir + "/check_ldap" ]
1347 value = "$ldap_address$"
1348 description = "Host name, IP Address, or unix socket (must be an absolute path)"
1351 value = "$ldap_port$"
1352 description = "Port number (default: 389)"
1355 value = "$ldap_attr$"
1356 description = "ldap attribute to search (default: \"(objectclass=*)\""
1359 value = "$ldap_base$"
1361 description = "ldap base (eg. ou=my unit, o=my org, c=at"
1364 value = "$ldap_bind$"
1365 description = "ldap bind DN (if required)"
1368 value = "$ldap_pass$"
1369 description = "ldap password (if required)"
1372 set_if = "$ldap_starttls$"
1373 description = "use starttls mechanism introduced in protocol version 3"
1376 set_if = "$ldap_ssl$"
1377 description = "use ldaps (ldap v2 ssl method). this also sets the default port to 636"
1380 set_if = "$ldap_v2$"
1381 description = "Use LDAP protocol version 2"
1384 set_if = "$ldap_v3$"
1385 description = "Use LDAP protocol version 3"
1388 value = "$ldap_warning$"
1389 description = "Response time to result in warning status (seconds)"
1392 value = "$ldap_critical$"
1393 description = "Response time to result in critical status (seconds)"
1396 value = "$ldap_timeout$"
1397 description = "Seconds before connection times out (default: 10)"
1400 set_if = "$ldap_verbose$"
1401 description = "Show details for command-line debugging"
1405 vars.ldap_address = "$check_address$"
1407 vars.ldap_v3 = false
1408 vars.ldap_timeout = 10s
1409 vars.ldap_verbose = false
1412 /* Contrib plugins */
1413 object CheckCommand "running_kernel" {
1414 import "plugin-check-command"
1416 command = [ "sudo", PluginDir + "/check_running_kernel" ]