[FreeBSD] Nagios 新增 command

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

發表迴響