nagios.log 上的 Nagios SMS 通知错误

Nagios SMS notification error on nagios.log

[1439979541] HOST NOTIFICATION: nagiosadmin;hplj2605dn;DOWN;notify-host-by-email;CRITICAL - Host Unreachable (192.168.1.30)

[1439979541] wproc: NOTIFY job 6 from worker Core Worker 21699 is a non-check helper but exited with return code 1

[1439979541] wproc:   command: /usr/bin/sudo curl --request POST 'http://gateway.smstrade.de/?       key=********&to=***********&route=****&from=*****' --data-urlencode     "message=CRITICAL-Host Unreachable (192.168.122.132)"

[1439979541] wproc: host=hplj2605dn; service=(none); contact=nagiosadmin [1439979541] wproc: early_timeout=0; exited_ok=1; wait_status=256; error_code=0;

[1439979541] wproc:stderr 第 01 行:sudo:不存在 tty 且未指定 askpass 程序

听起来 requiretty 在您的 /etc/sudoers 配置中默认启用。这意味着您不能通过 sudo 运行 您的 curl 命令,因为 nagios 没有终端(伪 tty)。

您可以修改 /etc/sudoers(例如,使用 visudo 命令),搜索类似于以下内容的行:

Defaults    requiretty

并通过将 requiretty 更改为全局禁用 requiretty

Defaults    requiretty

或者,如果您愿意,您可以只为您的 nagios(或任何一个)用户禁用 requiretty

Defaults:nagios !requiretty