Linux

nagios 不發送通知郵件

  • April 3, 2013

Nagios 沒有為我的服務發送通知。我在 nagios localhost 中有兩個名為 PING 和 STATUS 的服務。

PING 服務使用 ping 命令檢查主機可用性,而 STATUS 服務從遠端機器獲取 SNMP 陷阱。

有時我收到 PING 服務的電子郵件,但 STATUS 服務沒有收到任何郵件。PING 服務也不總是發送郵件。在我所有的配置文件下面。

本地主機.cfg

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
}

聯繫人.cfg

define contact{
contact_name        nagiosadmin                 
use                 generic-contact             
alias               Nagios Admin                 
email               mymail@gmail.com                    
}
define contactgroup{
contactgroup_name   admins
alias               Nagios Administrators
members             nagiosadmin
}

我使用 ssmtp 郵件伺服器發送郵件。下面的配置文件

ssmtp.conf

root=mymail@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=sujin
UseTLS=YES
UseSTARTTLS=YES
AuthMethod=LOGIN
AuthUser=mymail@gmail.com  
AuthPass=mailpassword
FromLineOverride=YES

您收到 PING 的電子郵件是因為您似乎已將電子郵件通知命令 ( mailtest) 用作check_command

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

check_commandfor通常PING是一個check_ping命令對象。發送通知的命令是contact對象的屬性。

您沒有為 啟用活動檢查STATUS,因此 Nagios 永遠不會為該服務安排檢查(它將依賴 NRPE 或 NRDP 或其他一些外部程序)。這可能不是你想要的。

您似乎沒有contact_groups與您的服務或主機對象相關聯。但是,您添加的配置實際上只是整個配置的一部分,您沒有顯示預設對像模板,所以我不能說繼承了什麼。

您似乎無法理解 Nagios 對像模型,它更接近於程式而不是配置。這裡的圖表應該可以幫助您理解這個問題(它有點老,對於 Nagios 2,但它是一個很好的起點)。

Nagios 文件準確但非常簡潔(或簡潔),不適合從頭開始學習,請嘗試本教程:http ://users.telenet.be/mydotcom/howto/nagios/index.html

一旦您對對象概念有了更好的理解,您就可以查看objects.cache文件並查看所有已完全定義的對象(這相當於 Web UI 中的配置視圖,但如果您直接編輯配置文件則更容易理解) .

引用自:https://serverfault.com/questions/494956