如何更改nagios监控默认的检查时间
/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监控默认的检查时间的更多相关文章
- Nagios监控平台搭建
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...
- Nagios监控远程主机
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; fon ...
- 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 ...
- Nagios监控平台搭建及配置文件详解
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...
- CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)
Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...
- 烂泥:nagios监控单网卡双IP
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- Nagios 监控
配置文件说明 文件名或目录名 用途 cgi.cfg 控制CGI访问的配置文件 nagios.cfg Nagios 主配置文件 resource.cfg 变量定义文件,又称为资源文件,在些文件中定义变量 ...
- nagios监控linux设置
本章主要用来设置nagios的相关配置文件,从而能实现对linux系统的监控. 在进行监控相关服务的时候,nagios会周期性的调用插件去监测服务器的状态,nagios自带的所有插件都放在如下目录: ...
随机推荐
- centos7通过阿里云配置docker加速镜像
针对Docker客户端版本大于1.10.0的用户 您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器: sudo mkdir -p /etc/docker s ...
- Linux上的下载软件uGet
uGet是一款开源下载软件,类似于我们常用的迅雷,不过uGet支持的操作系统非常多,Ubunut,Arch,openSUSE,Windows,MacOS,BSD等. uGet支持两个下载引擎:curl ...
- Ubuntu 12.04安装Google Chrome(转)
下载google chrome deb包,下载地址:https://www.google.com/chrome/browser/desktop/index.html,google的网站被墙了,如果你下 ...
- Flask用Flask-SQLAlchemy连接MySQL
安装 pip3 install Flask-SQLAlchemy 测试环境目录结构 settings.py DIALECT = 'mysql' DRIVER = 'pymysql' USERNAME ...
- git子模块submodule
添加submodule: git submodule add 子模块git地址 把这个module放置的文件夹(这个文件夹须事先不存在) git submodule add http://xxx.x ...
- Spark2.0 特征提取、转换、选择之二:特征选择、文本处理,以中文自然语言处理(情感分类)为例
特征选择 RFormula RFormula是一个很方便,也很强大的Feature选择(自由组合的)工具. 输入string 进行独热编码(见下面例子country) 输入数值型转换为double(见 ...
- 随机深林和GBDT
随机森林(Random Forest): 随机森林是一个最近比较火的算法,它有很多的优点: 在数据集上表现良好 在当前的很多数据集上,相对其他算法有着很大的优势 它能够处理很高维度(feature很多 ...
- python全栈开发从入门到放弃之socket并发编程多线程
一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 二 开启线程的两种方式 from threadi ...
- php写守护进程(转载 http://blog.csdn.net/tengzhaorong/article/details/9764655)
守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种很有用的进程.php也可以实现守护进程的功能. 1.基本概念 进程 ...
- Laravel 文档中的 Service Providers
$this->app->singleton('ReportServices', function () { return new \App\Services\ReportServices( ...