nagios 不发送通知电子邮件

nagios 不发送通知电子邮件

Nagios 未向我的服务发送通知。我在 nagios localhost 中有两个服务,分别称为 PING 和 STATUS。

PING 服务使用 ping 命令检查主机可用性,STATUS 服务从远程机器获取 SNMP 陷阱。

有时我会收到 PING 服务的电子邮件,但 STATUS 服务却收不到任何邮件。PING 服务也不总是发送邮件。以下是我的所有配置文件。

本地主机配置文件

define host{
use               linux-server
host_name         TESTHOST
alias             snmp_agent
address           10.10.62.5
}
define service{
use                             local-service        
host_name                       TESTHOST
service_description             PING
check_command                   mailtest
notifications_enabled           1
}
define service{ 
host_name                 TESTHOST    
service_description       STATUS  
is_volatile               1
check_freshness           1       
check_command             cagent!5        
max_check_attempts        4
normal_check_interval     1
retry_check_interval      1
active_checks_enabled     0   
passive_checks_enabled    1   
check_period              24x7    
notification_interval     20      
notification_period       24x7    
notification_options      w,u,c   
notifications_enabled     1
flap_detection_enabled    0
}

联系人配置文件

define contact{
contact_name        nagiosadmin                 
use                 generic-contact             
alias               Nagios Admin                 
email               [email protected]                    
}
define contactgroup{
contactgroup_name   admins
alias               Nagios Administrators
members             nagiosadmin
}

我使用 ssmtp 邮件服务器发送邮件。配置文件如下

ssmtp配置文件

[email protected]
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=sujin
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN
[email protected]  
AuthPass=mailpassword
FromLineOverride=YES

答案1

您收到 PING 电子邮件是因为您似乎已将电子邮件通知命令 ( mailtest) 用作check_command

define service{
    use                             local-service        
    host_name                       TESTHOST
    service_description             PING
    check_command                   mailtest       ; <<<
    notifications_enabled           1
}

for通常是一个命令check_command对象。发送通知的命令是对象的一个​​属性。PINGcheck_pingcontact

您没有为 启用主动检查STATUS,因此 Nagios 永远不会为该服务安排检查(它将依赖于 NRPE 或 NRDP 或某些其他外部进程)。这可能不是您想要的。

您似乎没有将任何内容contact_groups与您的服务或主机对象关联起来。但是,您添加的配置实际上只是部分在整个配置中,您没有显示默认的对象模板,所以我无法说出继承了什么。

您似乎很难理解 Nagios 对象模型,它更接近于编程而不是配置。图表在这里应该可以帮助您理解这个问题(它有点旧,并且适用于 Nagios 2,但它是一个很好的起点)。

Nagios 文档准确但非常简洁(或简洁),不适合从头开始学习,请尝试本教程:http://users.telenet.be/mydotcom/howto/nagios/index.html

一旦您更好地理解了对象概念,您就可以查看文件objects.cache并查看所有对象的完整定义(这相当于 Web UI 中的配置视图,但如果您直接编辑配置文件则更容易理解)。

相关内容