企业监控利器nagios应用终结篇
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业监控利器nagios应用终结篇相关的知识,希望对你有一定的参考价值。
1.nagios告警
这一篇我们聊聊nagios监控告警,我们知道nagios特点就是强大的告警功能,这也是它最大的特色,虽然有人说配置基于文本,不好维护,
不像zabbix可以web端添加主机信息,但如果善用脚本,批量配置千百台主机和服务也是很容易的事,nagios支持多种告警模式,如邮件、微信、短信和电话告警。
这也是比较常用的告警方式。
nagios监控告警配置文件contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email [email protected]
}
也可以配置http短信网管报警
command.cfg中定义
模板中定义
http短信网关报警
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email [email protected]
pager xxxxxxxxx
}
在本次测试环境中,我选用的是110告警,配置短信邮件微信及电话告警,免费服务会有次数限制,企业监控环境建议根据实际情况购买服务。
http://www.110monitor.com/ 手机注册登陆,创建nagios应用,该平台可以配置nagios、zabbix等主流监控平台。
根据配置步骤进行配置,然后设置通知策略。关闭一台主机服务,收到短信等告警信息如下图。
当然还可以设置电话告警,该场景特别适用紧急业务和晚上告警通知。
也可以通过该平台的协作策略,采用钉钉机器人告警,还可以认领指派。配置过程该平台有说明。实现的效果如下图。
2.nagios补充
每次修改过你的配置文件,你应该运行一次检测程序来验证配置的正确性。在运行你的Nagios程序之前这是很重要的,否则的话会导致Nagios服务因配置的错误而关闭。
为验证你配置,运行Nagios带命令行参数 -v,象这样:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
初始化脚本:最简单的启动Nagios守护进程的方式是使用初始化脚本,象这样:
/etc/rc.d/init.d/nagios start
手工方式:你可以手动地启动Nagios守护进程,用命令参数-d,象这样:
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
快速启动选项
介绍
只有很少几件事可以减少Nagios的启动或重启总时间。加速启动方法包括有移除些负担还包括加快配置文件处理过程。
利用这些技术在如下一种或几种情况时特别有效:
大型安装配置
复杂地配置(过度地利用模板特性)
需要进行频繁重启动的安装模式
背景
每次Nagios启动和重启时,在它着手进行监控工作之前必须要处理配置文件。启动过程中的配置处理包括如下几步:
读入配置文件
解析模板定义
重粘连("Recombobulating")对象(是我想到的应做各种工作)
复制对象定义
继承对象属性
对象定义排序
验证对象关联关系的完整性
验证回路
和其他...
当有很大的或是很复杂的配置文件要处理时有几步非常消耗时间的。有没有加快这些的办法?当然有!
评估启动时间
在做让启动速度更快的事情之前,需要看看可能性有多少和是否有必要涉足此事。这个比较容易-只是用-s命令行开关启动Nagios以取得计时和调度信息。
下面是个输出样例(做过精减,只是显示了有关部分),在这个例子中,假定Nagios配置为对25个主机和超过10,000个服务进行监控。
/usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg
Nagios 3.0-prealpha
Copyright (c) 1999-2007 Ethan Galstad (http://www.nagios.org)
Last Modified: 01-27-2007
License: GPL
Timing information on object configuration processing is listed
below. You can use this information to see if precaching your
object configuration would be useful.
Object Config Source: Config files (uncached)
OBJECT CONFIG PROCESSING TIMES (* = Potential for precache savings with -u option)
Read: 0.486780 sec
Resolve: 0.004106 sec
Recomb Contactgroups: 0.000077 sec
Recomb Hostgroups: 0.000172 sec
Dup Services: 0.028801 sec
Recomb Servicegroups: 0.010358 sec
Duplicate: 5.666932 sec
Inherit: 0.003770 sec
Recomb Contacts: 0.030085 sec
Sort: 2.648863 sec
Register: 2.654628 sec
Free: 0.021347 sec
TOTAL: 11.555925 sec = 8.393170 sec (72.63%)
estimated savings
Timing information on configuration verification is listed below.
CONFIG VERIFICATION TIMES (* = Potential for speedup with -x option)
Object Relationships: 1.400807 sec
Circular Paths: 54.676622 sec *
Misc: 0.006924 sec
TOTAL: 56.084353 sec * = 54.676622 sec (97.5%) estimated savings
OK,看看发生了什么。先看汇总信息,大概有11.6秒用于处理配置文件有56秒来验证配置。这意味着每次用这个配置启动或重启Nagios时,它大约会有68秒来做启动事项而不会做任何监控的事情!如果是在定制配置Nagios过程中也是不可容忍的。
那么怎么办?看一下输出内容,如果运用了优化选项,Nagios将可以在配置读取过程节省大约8.4秒而在验证过程可节省63秒。
哇!从68秒到只有5秒?!是的!看看下面是怎么做到的。
预缓存对象配置
Nagios可在解析配置文件过程中做些加速,特别是当配置中使用了模板来做继承等的时候。为降低Nagios解析配置文件的处理时间可用Nagios预处理与预缓存配置文件的功能。
当用-p命令参数来运行Nagios时,Nagios将读入配置文件,处理后将配置结果写入预缓存文件(由主配置文件中precached_object_file域指定文件位置)。该预缓存配置文件将包含了预处理后的信息将使Nagios处理配置文件更容易和快捷。必须把-p参数选项与-v或-s命令参数一起使用,如下例。注意要做预缓存配置文件之前配置应是已被验证过的。
/usr/local/nagios/bin/nagios -pv /usr/local/nagios/etc/nagios.cfg
预缓存配置文件有大小明显地比原有配置文件大。这是正常的由设计初衷决定的。
一旦预缓存对象配置文件创建,可以启动Nagios时带上-u命令行选项以让它使用预缓存配置文件而不是配置文件本身。
/usr/local/nagios/bin/nagios -ud /usr/local/nagios/etc/nagios.cfg
如果更改了配置文件,必须在Nagios重启动前要重新验证和重建预缓存配置文件。如果没有重构建预缓存配置文件,Nagios将使用旧配置运行因为是由旧配置生成的预缓存文件,而不是用新的原始配置文件。
跳过回路检测
/usr/local/nagios/bin/nagios -xd /usr/local/nagios/etc/nagios.cfg
联合起来使用
按照下面步骤将会使用预缓存配置文件并且跳过回路检测以充分加速启动。
1、验证配置文件并生成预缓存配置文件,用如下命令:
/usr/local/nagios/bin/nagios -vp /usr/local/nagios/etc/nagios.cfg
2、如果Nagios正在运行,停掉它;
3、启动Nagios,让其使用预缓存配置文件而且跳过回路检测:
/usr/local/nagios/bin/nagios -uxd /usr/local/nagios/etc/nagios.cfg
以上是关于企业监控利器nagios应用终结篇的主要内容,如果未能解决你的问题,请参考以下文章
监控利器Nagios之二:Nagios的细致介绍和监控外部服务器的私有信息