Nagios介绍:
Nagios是一款流行的开源免费IT基础实施监控系统,能有效监控Windows、Linux和Unix的主机状态,交换机、路由器、打印机等,在系统或者服务状态异常时发出短信/邮件报警,第一时间通知运维人员,Nagios结构简单,可维护性强。
Nagios全名为(Nagios Ain't Goona Insist onSaintood)=NetSaint ,由EthanGalstad开发并维护,Nagios为一个缩写形式,
Nagios主要功能:
*网络服务监控(SMTP/POP3/HTTP/NNTP/ICMP/SNMP/FTP/SSH)
*主机资源监控(CPU load/disk usage/System logs),也包括Windows主机(使用NSClient++ Plugin)
*可以指定自己编写的plugin通过网络收集数据来监控任何情况(温度、警告....)
*可以通过配置Nagios远程执行插件、远程执行脚本
*远程监控支持SSH或SSL加密通道方式进行监控
*简单的plugin设计允许用户很容易的开发自己需要的检测服务,支持很多种开发语言(shell、scripts、c++、perl、ruby、python、php、c#等)
*包含很多图形化数据plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
*可并行任务检测
*能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查
*当服务或主机出现问题时发出通过,可通过email、pager、sms或任意用户自定义的plugin进行通知
*能够自定义事件处理机制重新激活出问题的服务或主机
*自动日志循环
*支持冗余监控
*包括web界面可以查看当前网络状态、通知、问题历史,日志文件等
Nagios结构&原理:
Nagios从结构上说,可分为核心和插件令部分组成,,Nagios的核心部分提供很少的监控功能,而要落实到具体的监控项目,需要安装相应的插件。
启动Nagios后,它会周期性的自动调用插件去检测服务器的运行状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都会进入队列,Nagios每次都从队列首开始读取信息,并进行处理,把状态通过web显示出来。
Nagios提供了许多插件,利用这些插件可以方便的监控很多服务器的状态。安装完成后,在Nagios注目录下/libexec里放有nagios自带的可以使用的所有插件。每个插件可以通过./check_xxx -h 来查看其使用方法和功能。
Nagios 可以识别4中状态返回信息,即0(ok)标识正常/绿色,1(WARNING)表示出现警告/***、2(CRITICAL)表示出现非常严重的错误/红 色、3(UNKNOWN)表示未知错误/深***。Nagios根据插件返回来的值,来判断监控对象的状态,并通过web界面显示处理,以供管理员及时发现故障。
Nagios监控系统架构图:
Nagios通过NRPE来远端管理服务
1.Nagios执行安装在里面的check_nrpe插件,并告诉check_nrpe去检测哪些服务。
2.通过SSL,check_nrpe连接远端机子上的NRPE daemon
3.NRPE运行本地的各种插件去检测本地的服务和状态(check_disk...,etc)
4.最后,NRPE把检测的结果传给主机端的check_nrpe,check_nrpe再把结果送到Nagios状态队列中。
5.Nagios一次读取队列中的信息,在把结果显示出来。
2. Centreon理论基础
Centreon介绍
centreon是开源的IT监控软件,由法国人于2003年开发,最初名为Oreon,并于2005年正式更名为:centreon。
centreon 作为nagios的分布式监控管理平台,其功能强大,打造了centreon在IT监控方面的强势地位,它的底层使用nagios监控软件,nagios 通过ndoutil模块将监控数据写入数据库,centreon读取该数据并即时的展现监控信息,通过centreon可以简单的管理和配置所有 nagios,因此,完全可以使用centreon轻易的搭建企业级分布式IT运维监控系统。
Nagios+Centreon可谓开源监控 的黄金搭档,简单来说Centreon是一个管理和控制Nagios的工具,并在Nagios的基础上增加的画图的功能,通过Centreon的web界 面可以很容易添加主机、服务,修改模板等,并能自动的将Nagios生成的监控数据生成图像显示。
Nagios+Centreon架构图: