{"id":49,"date":"2019-05-29T04:05:07","date_gmt":"2019-05-29T04:05:07","guid":{"rendered":"http:\/\/edcint.co.nz\/checkwmiplus\/?page_id=49"},"modified":"2019-05-30T10:12:39","modified_gmt":"2019-05-30T10:12:39","slug":"nagios-command-definitions","status":"publish","type":"page","link":"https:\/\/edcint.co.nz\/checkwmiplus\/documentation\/nagios-command-definitions\/","title":{"rendered":"Nagios Command Definitions"},"content":{"rendered":"<p>Some sample Nagios Command definitions that access the majority of the check_wmi_plus features.<br \/>\nThis is a straight cut and paste from my own Nagios configuration<\/p>\n<p>Notes:<br \/>\n&#8211; The following $USER$ Macro are required and are defined in the Nagios config file normally called resource.cfg<br \/>\n&#8211; $USER6$ set to the installation directory for check_wmi_plus.pl.<br \/>\n&#8211; $USER8$ and $USER9$ set to the username and password used for accessing WMI on Windows.<br \/>\n&#8211; I also normally add a few spare $ARGx$ settings to the end of each command which allows me more flexibility in the service definitions. I can add additional arguments without having multiple command definitions. For example I can set some services to use a larger value of -y DELAY than the default.<\/p>\n<p># &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- windows checks by check_wmi_plus &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p># a generic use check_wmi_plus command<br \/>\ndefine command{<br \/>\ncommand_name check_wmi_plus<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m $ARG1$ -u $USER8$ -p $USER9$ -s $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$ $ARG7$ $ARG8$ $ARG9$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_io<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkio -u $USER8$ -p $USER9$ -s $ARG1$ -a &#8220;$ARG2$&#8221; $ARG3$ $ARG4$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_filesize<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkfilesize -u $USER8$ -p $USER9$ -a $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_fileage<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkfileage -u $USER8$ -p $USER9$ -a &#8216;$ARG1$&#8217; -w $ARG2$ -c $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_disk<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkdrivesize -u $USER8$ -p $USER9$ -a $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_volume<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkvolsize -u $USER8$ -p $USER9$ -a $ARG1$ -w $ARG2$ -c $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_cpuq<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkcpuq -u $USER8$ -p $USER9$ -w $ARG1$ -c $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_cpu<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkcpu -u $USER8$ -p $USER9$ -w $ARG1$ -c $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_cpudetail<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkeachcpu -u $USER8$ -p $USER9$ -w $ARG1$ -c $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_network<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checknetwork -u $USER8$ -p $USER9$ -a &#8216;$ARG1$&#8217; $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_service<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkservice -u $USER8$ -p $USER9$ -a &#8216;$ARG1$&#8217; -o &#8216;$ARG2$&#8217; $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_smart<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checksmart -t 60 -u $USER8$ -p $USER9$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_time<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checktime -u $USER8$ -p $USER9$ -w $ARG1$ -c $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_uptime<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkuptime -u $USER8$ -p $USER9$ -w $ARG1$ -c $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_mem<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkmem -u $USER8$ -p $USER9$ -w $ARG1$ -c $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_page<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkpage -u $USER8$ -p $USER9$ $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_process<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkprocess -u $USER8$ -p $USER9$ -a &#8220;$ARG1$&#8221; -3 &#8216;$ARG2$&#8217; -w &#8220;$ARG3$&#8221; -c $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_eventlog<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkeventlog -u $USER8$ -p $USER9$ -a $ARG1$ -o $ARG2$ -3 $ARG3$ -w $ARG4$ -c $ARG5$ $ARG6$ $ARG7$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_ts<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkts -u $USER8$ -p $USER9$ -s $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_iis<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkiis -u $USER8$ -p $USER9$ -s $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_exchange<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkexchange -u $USER8$ -p $USER9$ -s $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_sql<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checksql -u $USER8$ -p $USER9$ -s $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_proc<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkproc -s $ARG1$ -u $USER8$ -p $USER9$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_dns<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkdns -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_dhcp<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkdhcp -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_dhcpv6<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkdhcpv6 -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_print<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkprint -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_users<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkusers -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_win_power<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkpower -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p>define command{<br \/>\ncommand_name check_ad<br \/>\ncommand_line $USER6$\/check_wmi_plus.pl -H $HOSTADDRESS$ -m checkad -s $ARG1$ -u $USER8$ -p $USER9$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p># Event Handler to restart Windows services<br \/>\ndefine command {<br \/>\ncommand_name event_restart_win_service<br \/>\ncommand_line \/usr\/bin\/sudo $USER6$\/event_generic.pl -c &#8220;\/usr\/bin\/net rpc service stop $ARG1$ -U $USER8$%$USER9$ -I $HOSTADDRESS$&#8221; -c &#8220;\/usr\/bin\/net rpc service start $ARG1$ -U $USER8$%$USER9$ -I $HOSTADDRESS$&#8221; &#8211;usefirststatelist &#8220;$ARG2$&#8221; &#8220;$ARG3$&#8221; &#8220;$ARG4$&#8221; &#8220;$ARG5$&#8221; &#8220;$ARG6$&#8221; &#8220;$ARG7$&#8221; &#8220;$ARG8$&#8221; &#8220;$ARG9$&#8221;<br \/>\n}<\/p>\n<p># Event Handler to reboot a Windows machine<br \/>\n# You have to be brave doing this! You&#8217;d better make sure your Nagios check only ever goes to HARD State when you expect<br \/>\n# Probably best to add the -r option and reboot only if the text of the service output matches a certain string<br \/>\n# If you do need to add the -r option you can just add it in the service defintion as the first argument<br \/>\n# eg Only reboot if the service output does not contain the word timeout like this event_reboot_win!-r &#8216;^(?!.*?timeout).*&#8217;<br \/>\ndefine command {<br \/>\ncommand_name event_reboot_win<br \/>\ncommand_line \/usr\/bin\/sudo $USER6$\/event_generic.pl -c &#8220;\/usr\/bin\/net rpc shutdown -t 300 -f -r -C &#8216;This computer is being rebooted by Nagios&#8217; -U $USER8$%$USER9$ -I $HOSTADDRESS$&#8221; $ARG1$ $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$<br \/>\n}<\/p>\n<p># &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- end windows checks by check_wmi_plus &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Some sample Nagios Command definitions that access the majority of the check_wmi_plus features. This is a straight cut and paste from my own Nagios configuration&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":37,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[15],"tags":[],"class_list":["post-49","page","type-page","status-publish","hentry","category-documentation"],"_links":{"self":[{"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/pages\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/comments?post=49"}],"version-history":[{"count":3,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/pages\/49\/revisions"}],"predecessor-version":[{"id":235,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/pages\/49\/revisions\/235"}],"up":[{"embeddable":true,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/pages\/37"}],"wp:attachment":[{"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/media?parent=49"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/categories?post=49"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/edcint.co.nz\/checkwmiplus\/wp-json\/wp\/v2\/tags?post=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}