Nagios根据服务状态检查服务频率


9

我正在尝试通过监视si来检测磁盘抖动,因此请使用vmstat命令。我正在使用nagios监视其他服务,并且每5分钟会进行一次服务检查。对于此中断服务,我希望nagios每20分钟检查一次,如果返回的状态不正确(即警告或严重),则应每3分钟检查一次中断服务,直到服务返回的状态变为OK。所有其他服务的服务检查时间保持不变。

我是Nagios的新手,对此提供的任何帮助将不胜感激。

Answers:


14

假设该interval_length伪指令默认设置为60:

$ grep interval_length /usr/local/nagios/etc/nagios.cfg 
# This value works of the interval_length you specify later.  If you leave
# actual seconds rather than a multiple of the interval_length variable.
interval_length=60

对于特殊服务,您需要在中为其定义一个不同的模板/usr/local/nagios/etc/objects/templates.cfg

define service{
        name                            special-service    
        ...
        max_check_attempts              3           
        normal_check_interval           20         
        retry_check_interval            3           
        notification_interval           60   
        ...   
        }

注意:

  • normal_check_interval:此服务在正常情况下每20分钟检查一次
  • retry_check_interval:当服务已更改为非正常状态时,安排重新检查之前等待的分钟数。请注意,如果重试该服务的max_attempts时间未更改其状态,则它将恢复为按check_interval速率计划的时间。

并将此模板用于您的服务:

define service{
    use                     special-service
    host_name               xx
    service_description     yy
    check_command           zz
    contact_groups          admins
    }

您可能还需要定义服务升级,以notification_interval根据服务状态更改,例如:

define serviceescalation{
    host_name               xx
    service_description     yy
    last_notification       0
    notification_interval   10
    escalation_options      [w,u,c]
    contact_groups          admins
    }

这意味着当服务处于“警告”,“未知”或“严重”状态时,将使用此服务升级。现在,您有了一个新的通知间隔:10分钟。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.