我正在尝试配置纳吉奥斯3 通过HTTP搜索某个字符串来监控服务器,命令check_http
如下。
define command {
command_name check_http-mysite
command_line /usr/lib/nagios/plugins/check_http -H mysite.example.com -s "Some text" }
经过测试,HTTP 检查特定字符串工作正常。我一直尝试使用以下方法配置电子邮件到短信通知,但没有成功:点选SMTP API。我怎样才能让它工作?
我曾经遇到过一个例子调整 - Nagios 短信,但我好像错过了一些东西。
编辑:
我想我之前的解释很模糊。我试图以某种方式监控 Web 服务器,即我想通过 HTTP 在页面上搜索特定字符串。该命令在 command.cfg 中定义如下
# 'check_http-mysite command definition'
define command {
command_name check_http-mysite
command_line /usr/lib/nagios/plugins/check_http -H mysite.example.com -s "Some text"
}
# 'notify-host-by-sms' command definition
define command {
command_name notify-host-by-sms
command_line /usr/bin/send_sms $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ :Host$HOSTALIAS$ is $HOSTSTATE$ ($OUTPUT$)"
}
# 'notify-service-by-sms' command definition
define command {
command_name notify-service-by-sms
command_line /usr/bin/send_sms $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)"
}
现在,如果 Nagios 在主页上找不到“某些文本” mysite.example.com
,Nagios 应该通过 Clickatell HTTP API 通过短信通知联系人,我有一个脚本,我已经测试过并且发现它运行良好。
每当我更改命令定义以搜索页面上不存在的字符串并重新启动 Nagios 时,我都会在 Web 界面上看到未找到该字符串。我不明白的是,为什么没有发送通知,尽管我已经定义了主持人,主机组,接触,联系组,服务等等。我缺少的是,这些是我的定义,
主机配置文件
define host {
use generic-host
host_name HAL
alias IBM-1
address xxx.xxx.xxx.xxx
check_command check_http-mysite
}
主机组_nagios2.cfg
# my website
define hostgroup{
hostgroup_name my-servers
alias All My Servers
members HAL
}
contacts_nagios2.cfg
define contact {
contact_name colin
alias Colin Y
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email,notify-service-by-sms
host_notification_commands notify-host-by-email,notify-host-by-sms
email [email protected]
pager +254xxxxxxxxx
}
define contactgroup {
contactgroup_name site_admin
alias Site Administrator
members colin
}
服务_nagios2.cfg
# Check for particular string in page via HTTP.
define service {
hostgroup_name my-servers
service_description STRING CHECK
check_command check_http-mysite
use generic-service
notification_interval 0 ; Set > 0 if you want to be renotified.
contacts colin
contact_groups site_admin
}
我希望这次我已经清楚地解释我的问题了:-)
答案1
- 从命令行运行
/usr/bin/send_sms
以确保 Clickatell 正常工作。 - 看看
nagios.log
或/var/log/messages
看看你nagios: SERVICE NOTIFICATION
有“未找到字符串”在 Web 用户界面上。