作为一款开源的免费网络监视工具,Nagios能有效监控Windows、Linux和Unix的主机和服务状态、交换机路由器等网络设置。在系统或服务状态异常时发出邮件或短信报警,在状态恢复后发出正常的邮件或短信通知.Nagios 与 Ganglia 一样,常用于 HPC 和其他环境,但是 Nagios 更加关注警告机制,Ganglia 则更加关注收集和跟踪指标。


Nagios的特点包括以下几方面。


可以通过多种协议对目标服务器进行信息采集(SMTP、POP3、HTTP、NNTP、PING等),避免在目标服务器安装客户端带来的风险。
本身体系非常开放,可以自定义编写采集脚本以监控系统、应用的状态。简单的插件设计使得用户可以方便地扩展自己服务的检测方法。
具有并行服务检查机制,同时具备定义网络分层结构的能力,用“Parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态。
当服务或主机问题产生与解决时将告警发送给联系人(通过Email、短信、用户定义方式)。
可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用。
自动的日志滚动功能。
可以支持并实现对主机的冗余监控。
友好的Web界面用于查看当前的网络状态、通知和故障历史、日志文件等。
Nagios 和Cacti是经常配合在一起使用的监控系统,Nagios适合监视大量服务器上的大批服务是否正常,重点并不在图形化的监控,其集成的很多功能例如报警 都是Cacti没有或者很弱的;Cacti主要用途还是用来收集历史数据和画图,因此界面比Nagios漂亮很多。


Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。被广泛的用于对服务器的运维监控中,Cacti提供了一种插件式的管理,只要按要求写好特定的模板,那么你就可以对任何服务进行流量监控。本文就是要为大家介绍两个模板,分别是MongoDB和Redis的Cacti模板,使用它,你可以对你的MongoDB和Redis服务进行流量监控。


Nagios的插件:
与其他的监控工具不同,Nagios的内在机制中不包含针对主机和服务状态的检测,而是依赖于外部程序(称为插件)来做这些脏活.插件是编译的执行文件或脚本(Perl脚本、SHELL脚本等等),可以在命令行下执行对主机或服务的状态检查。Nagios运行这些插件的检测结果来决定网络中的主机和服务的当前状态。
当需要检测主机或服务的状态时Nagios总是执行一个插件程序,插件总要做点事情(注意一般条件下)来完成检查并给出简洁的结果给Nagios。Nagios将处理这些来自插件的结果并做些该做的动作(运行事件处理句柄、发送出告警等)。
作为Nagios插件的脚本或执行程序必须(至少)要做两件事:
1.退出时给出几种可能的返回值中的一个;
2.至少要给出一条输出内容到标准输出设备(STDOUT)。插件可以返回性能数据以让外部应用来做后序处理。
对Nagios来说,插件里面做什么并不重要。自制插件可以是做TCP端口状态检测,运行某个数据库查询,检查磁盘空闲空间,或其他需要检测的内容。这取决于你想检测什么东西,这完全由你自己决定。




部署nagios插件: http://blog.chinaunix.net/uid-23916356-id-3062081.html
Nagios的插件的使用: http://os.51cto.com/art/201103/249908.htm
Nagios的插件介绍:http://os.51cto.com/art/201103/249956.htm
如何编写Nagios插件: http://os.51cto.com/art/201104/253748.htm
Nagios使用飞信Robot发送报警短信: http://os.51cto.com/art/201103/250944_3.htm


Nagios 探索之一 —— 基本平台的安装:
Nagios 探索之二 —— 插件的安装和使用:
Nagios 探索之三 —— 启动nagios服务:
Nagios 探索之四 —— 主机监控的配置:
Nagios 探索之五 —— 服务监控的配置:
Nagios 探索之六 —— 其他配置文件contacts、timeperiods等: http://blog.chinaunix.net/uid-418401-id-2405572.html
Nagios 探索之八 —— Nagios的性能分析图表: http://blog.chinaunix.net/uid-418401-id-2405574.html
Nagios 探索之九 —— NRPE(nagios的for linux客户端)的安装配置: http://blog.chinaunix.net/uid-418401-id-2405575.html


我用Nagios(技术细节):
Nagios实战全解(五):关键应用监控的重要策略:  

开源网管工具 Cacti,Nagios,Zabbix 比较:  

生产环境开源监控系统整合Nagios+Cacti+Nconf: http://www.weiyan.me/2012/05/130



Nagios 经验之—— 关于主机命名规则的建议


应用名称.[物理位置].域名(小写英文)|项目名称首字母(大写字母)




其中“[]”表示可选;“()”表示说明信息;“|”表示或者,此例中及是“二选一”。


其中“应用名称”包括:Web,网站;Data,数据库;App,应用;GW,网关;Srv,其他服务(或另外取名)。




但是在nagios的显示界面中,是安装字母顺序排序的,所以,用一个项目的主机不是排列在一起的,看起来不太方便,如果你也遇到这样的麻烦,那么我建议倒过来:




域名(小写英文)|项目名称首字母(大写字母).[物理位置].应用名称






另外,在实际的应用中,对某一个服务监控的质量,与你选择的插件的适合度是息息相关的。有个朋友推荐了一个nagios插件的网站给我,让我受益良多:http://www.nagiosexchange.org


实时监控插件 网络监控插件_nagios