/usr/local/nagios/etc/nagios.cfg:
  interval_length 表示时间单位,默认为60,即1分钟

  /usr/local/nagios/etc/objects/services.cfg:(新版本不存在这个文件)
  normal_check_interval 表示重新检测的时间间隔,默认为3个时间单位
  check_interval 与normal_check_interval的作用一样,只能在3.X中使用
  retry_check_interval 重试时间
  max_check_attempts 这个是出现故障的连接次数,达到这个次数之后就报警

  关于max_check_attempts、normal_check_interval、retry_check_interval三个参数。
  首先要说明两个概念,
  一、软态:被监控项处于retry_check检测周期内的非正常状态;
  二、硬态:被监控项达到max_check_attempts最大次数后的非正常状态;除此之外的状态,我们估且称之为“常态”。
  我们试着看看设置如下参数时,Nagios是怎么做状态检测及告警的:

  max_check_attempts 3
  normal_check_interval 3
  retry_check_interval 2
  notification_interval 3

 
 首先,Nagios每三分钟检测一次服务,当某次检测到服务状态为异常时,直接进入软态(1/3 soft
state),此后,以每2分钟(retry_check_interval)的检测频率,再进行2次(一共进行3次检测,从而达到
max_check_attempts)检测,如果这两次检测服务都为异常,则直接进入硬态(hard
state)。进入硬态后,Nagios以每3分钟(normal_check_interva)一次的频率检测服务,这与常态时是一样的;同时每3分钟
(notification_interval)进行一次告警。

  注意:修改这些参数后并不是即时生效。首先要重启nagios,然后等待下一次检测完成,nagios才会按新的参数计算检测时间与报警次数。

  出现alert后,如果要发送email报警,需要满足以下条件:

  service中有定义notifications_enabled=1,且此service的contacts有定义service_notification_commands。

  service_notification_commands的command出自于commands.cfg,这里定义了使用什么命令发送邮件。

  host的alert是一样的。

  收不到邮件通常有以下几种可能:

  邮件被拒收,检查mail的log可以看到。

  nagios是否发送告警邮件,跟contact.cfg(或hosts.cfg)配置文件里的几个参数有关系。下面就着重讲义下这几个参数:

  notifications_enabled:是否启用通知提醒功能。1为开启,0为禁用。显而易见,此选项值为0时,nagios肯定是不会发送邮件的。
  contact_groups:定义接收通知提醒邮件的联系人群组。请确认你的邮件地址是否填写正确并在组中。
 
 notification_interval:重复发送提醒邮件(信息)的最短间隔时间。默认间隔时间是60分钟。如果这个值被设为0,nagios将
不会重复发送告警通知邮件,而是一次。
notification_period:定义发送告警通知的时间段。关键主机服务,设为7×24;一般主机服务,设为上班时间(WorkTime)。那
么,如果定义的监控不在定义的告警时间段里,无论发生什么情况,nagios都不会发送告警通知邮件。
  notification_options:定义被监控主机(对象)在何种情况下发送告警通知邮件,可选状态如下:

  (1) w:WARNING,警告
  (2) u:UNKNOWN,未知
  (3) c:CRITICAL,危险(已达临界值)
  (4) d:DOWN,已宕机
  (5) r:RECOVERY,状态已恢复至OK
  (6) f:FLAPPING,(未弄懂这个状态的意思,也许是状态波动很大)
  (7) n:NONE,不发送告警通知邮件

  nagios监控与报警时间间隔:

  max_check_attempts:
  check_interval:
  retry interval:
  notification_interval:

 
 在OK状态,nagios用check_interval定义的时间间隔来监控,出现问题后,切换为retry_interval和
max_check_attempts进行监控,达到max_check_attempts后触发首次报警,同时恢复为check_interval进行
监控,并用notification_interval定义的时间间隔来发送报警,服务恢复后,在最近的check_interval点发送OK短信,完
成报警周期。

  特殊:
  1.max_check_attempts定义为1,检测到问题后立即报警,不重试。
  2.notification_interval定义为0,报警只发送一次,不重发。

  巧用Escalations限制Nagios报警次数

 
 Nagios是非常强大的一款监控工具,尤其是它的告警功能,现在网上实现的形式多种多样如结合移动139邮箱、Fetion、MSN等,但是如果服务
器出现故障而未能及时的解决,Nagios就会不断的发送告警信息,实在令人头疼。现在用如下方法可以解决Nagios的告警次数问题。

  vi escalations.cfg

  escalations有自动调整;不断增加; 逐步上升等意思,本身配置文件的功能是当服务在某一告警次数前没有恢复,告警频率周期将会缩短,同时将告警信息发送至指定联系人。

  其内容为:

  define hostescalation{

  host_name WWW-Server //被监控主机名称,与Hosts.cfg中一致

  first_notification 4 // 第n条信息起,改变频率间隔

  last_notification 0 // 第n条信息起,恢复频率间隔

  notification_interval 30 // 通知间隔(分)

  contact_groups sysadmin

  }

  说明:从第4条告警信息起至服务器恢复前,告警信息发送至sysadmin组下的联系人,告警间隔为30分钟1条信息。

  define serviceescalation{

  host_name WWW-Server //被监控主机名称,与Hosts.cfg中一致

  service_description Check_HTTP,Check_Jetty //被监控服务名称,与Services.cfg中一致

  first_notification 4

  last_notification 0

  notification_interval 30

  contact_groups nt-admins,managers,everyone

  }

  保存

  修改nagios.cfg

  vi nagios.cfg
  添加:
  cfg_file=/etc/nagios/objects/escalations.cfg

  检查nagios配置文件是否正确
  /usr/sbin/nagios -v /etc/nagios/nagios.cfg

  重新启动nagios服务:
  service nagios restart

  测试:

  服务器启动后停掉被监控测试机的相应服务,确认告警信息是否按照设置发送至不同信箱

  总结

 
 escalations这个功能官方给的定义是notification的扩充,使notification变得更加灵活,方便。文中我使用的方法算是
耍了个小聪明,将第四条告警信息后的所有信息全部发送至我公司邮箱直至服务器恢复(recovery的信息还是会发送至手机的),从而实现限制告警信息发
送至手机的条数。这样,用Escalations限制Nagios报警次数的功能就成功实现了。

如何更改nagios监控默认的检查时间的更多相关文章

  1. Nagios监控平台搭建

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  2. Nagios监控远程主机

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; fon ...

  3. CentOS6.6+Puppet3.7.4分布式部署Nagios监控系统

    测试框架 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 CentOS-6.6-x86_64(minimal)   puppet-3.7 ...

  4. Nagios监控平台搭建及配置文件详解

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  5. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...

  6. 烂泥:nagios监控单网卡双IP

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...

  7. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  8. Nagios 监控

    配置文件说明 文件名或目录名 用途 cgi.cfg 控制CGI访问的配置文件 nagios.cfg Nagios 主配置文件 resource.cfg 变量定义文件,又称为资源文件,在些文件中定义变量 ...

  9. nagios监控linux设置

    本章主要用来设置nagios的相关配置文件,从而能实现对linux系统的监控. 在进行监控相关服务的时候,nagios会周期性的调用插件去监测服务器的状态,nagios自带的所有插件都放在如下目录: ...

随机推荐

  1. golang函数学习笔记

    golang函数特点: a.不支持重载,一个包不能有两个名字一样的函数 b.函数是一等公民,函数也是一种类型,一个函数可以赋值给变量 c.匿名函数 d.多返回值   例子1 func add(a, b ...

  2. sVIrt概述

    sVirt概述 前面已经对seLInux的基本原理做了分析,seLinux主要就是基于主体和客体的安全上下文,进行访问决策.那么安全上下文是不是又可以理解为一个标签呢? 基于以上seLInux的特性, ...

  3. Redis常见操作

    1. 对于key的所有操作 del key1 key2 … keyn 作用:删除1个或者多个键返回值:不存在的key忽略掉,返回真正删除的key的数量 rename key newkey 作用:给ke ...

  4. 类的super

    我们经常在类的继承当中使用super(), 来调用父类中的方法.例如下面: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 class A:     def func(self):   ...

  5. (0.2.1)mysql数据库环境-操作系统配置

    目录 1.基于Linux平台的Mysql项目场景介绍 2.mysql数据库运行环境准备-最优配置 2.1.如何查看官方文档了解环境要求 2.2.安装虚拟机环境与操作系统 2.3.操作系统最优配置9大步 ...

  6. 设计模式C++实现——适配器模式

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/walkerkalr/article/details/29863177 模式定义:         适 ...

  7. nginx 413 request entity too large解决办法

    nginx 出现:413 request entity too large,一般是在上传图片的时候,上传的图片大小超过了服务器设置的最大上传大小,需要修改nginx和PHP的设置: (1)打开 /us ...

  8. Vim插件:Unite新手指导(译)

    Unite是什么? Unite可以在一个项目中快速浏览文件.但是它不仅限于文件,其他任何可以列出的东西都可以很好的被显示和搜索.这个开放式的特性很可能是人们找到它的原因(原文:This open-en ...

  9. PHP实现excel导出

    首先去下载PHPExcel类,地址http://phpexcel.codeplex.com/ 方法如下第一步引入这个扩展类 Vendor('PHPExcel'); 第二部就是方法了,下面简单的实现方法 ...

  10. Java设计模式—单例模式

    Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点. 核心知识点如下: (1) 将采用单例设计模式的类的 ...