Nagios 新增的 command 正常沒辦法用 nagios 這個使用者執行,所以需要用 sudo 的方式,接著設定 nrpe 的部份,再來設定 Nagios 的 command,最後設定 Nagios 的服務就大功告成了。
- 新增 sudo 的使用者和命令
#visudo nagios ALL=(ALL) NOPASSWD:/usr/local/libexec/nagios/check_smartmon nagios ALL=(ALL) NOPASSWD:/usr/local/libexec/nagios/check_hdd_health
- 設定 nrpe
#ee /usr/local/etc/nrpe.cfg dont_blame_nrpe=1 #這樣才可以傳遞參數 command[check_smartmon]=sudo /usr/local/libexec/nagios/check_smartmon -d $ARG1$ -w $ARG2$ command[check_hdd_health]=sudo /usr/local/libexec/nagios/check_hdd_health --device $ARG1$
- 設定 Nagios command
#ee /usr/local/etc/nagios/objects/commands.cfg # 'check_samrtmon' command definition define command{ command_name check_smartmon command_line $USER1$/check_nrpe2 -H $HOSTADDRESS$ -c check_smartmon -a $ARG1$ $ARG2$ } # 'check_hdd_health' command definition define command{ command_name check_hdd_health command_line $USER1$/check_nrpe2 -H $HOSTADDRESS$ -c check_hdd_health -a $ARG1$ } //-a 是 nrpe 傳遞的參數順序(所以在 Nagios 會用 "!" 傳遞參數過來)
- 設定 Nagios 服務
#ee /usr/local/etc/nagios/objects/localhost.cfg define service{ use local-service ; Name of service template to use host_name localhost service_description HDD Temp. - 7_HGST 4T check_command check_smartmon!/dev/ada7!50 }
- 重新啟動 nrpe 和 Nagios
#/usr/local/etc/rc.d/nrpe2 restart #/usr/local/etc/rc.d/nagios restart
Please follow and like us: