Sep 252012
 

今天看到一篇文章,很详细介绍了这两个的区别和特点。我下一步倒是希望可以好好研究一下监控。

http://www.cnyunwei.com/thread-852-1-1.html

Cacti介绍
    Cacti是一个用 rrdtool 来画图的网络监控系统,通常一说到网络管理,大家首先想到的经常是 mrtg,但是 mrtg 画的图简单且难看,rrdtool 虽然画图本领一流,画出来的图也漂亮, 但是他也就是一个画图工具,不像 mrtg 那样本身还集成了数据收集功能。cacti 则是集成了各种数据收集功能,然后用 rrdtool 画出监控图形。其本身界面比起同类系统要漂亮不少. 推荐所有有监控需求的人都去研究一下。Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过 snmpget来获取数据,使用RRDtool绘画图形
    Cacti三层架构:数据展现层、数据存储层、数据采集层,其具体如下:
        数据采集层:通过SNMP或自定义脚本进行数据采集
        数据存储层:通过cacti模板等数据存放至MYSQL中
        数据展现层:通过WEB方式呈现出来
Cacti应用场景
1)网络设备
(1)接口流量(进与出的带宽)
(2)监控CPU的负载、内存等等
(3)温度等等
2)主机系统
(1)网络接口流量(进与出的带宽)
(2)监控CPU的负载、内存等等
(3)监控磁盘的空间、进程数等等
3)cacti常见的监测对象
(1)服务器资源:CPU、内存、磁盘、进程、连接数等
(2)服务器类型:WEB、Mail、FTP、数据库、中间件
(3)网络接口:流量、转发速度、丢包率
(4)网络设备性能、配置文件(对比与备份)、路由数
(5)安全设备性能、连接数、攻击数
(6)设备运行状态:风扇、电源、温度
(7)机房运行环境:电流、电压、温湿度
nagios介绍
    cacti 和 nagios 是不同功用的系统, nagios 适合监视大量服务器上面的大批服务是否正常, 重点并不在图形化的监控, 其集成的很多功能例如报警,都是 cacti 没有或者很弱的. cacti 主要用途还是用来收集历史数据和画图, 所以界面比 nagios 漂亮很多.
    Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的附件(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。
    其它四个附件:
   (1)NRPE:用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控
   (2)NSCA:用来让 被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到)
   (3)NSClient++:用来监控 Windows主机时安装在Windows主机上的组件
   (4)NDOUtils:则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现 这些数据的快速检索和处理
    这四个ADDON(附件)中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端
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界面可以查看当前网络状态,通知,问题历史,日志文件等
3、结合实际应用选型软件
分析:
1)、 NRPE与SNMP协议
Cacti在LINUX下主要采用SNMP协议;snmp是简单网络管理协议,通过固定协议运行方式以OID格式提供系统运行状态的全面信息,然后通过snmp agent去获取这些信息并绘制流量。
NAGIOS在LINUX下主要采用NRPE插件,NRPE通过ssl方式在C/S结构下调用被监控主机的状态监测脚本,并将获得的信息实时提供到监控服务器。
2)、NAGIOS与CACTI区别
Cacti:在监控方面绘图比较不错,在流量与图型展现比较存在优势
Nagios:在故障分析比较不错,报警机制相对来说比较好,报警机制:邮箱、短信等,而且也比Cacti灵活;同时适用监控大量服务器以及服务器上面大批服务状态是否正常,重点不在图形化,而在状态故障的监控
综合所知:
cacti偏沉于收集流量画图,系统负载方面的。而nagios偏沉于系统状态正常与否方面的, nagios能够和短信发送机共同用来规模较大的网络,Cacti+Nagios 两者结合使用取长补短方为上上之策。

  5 Responses to “Cacti、Nagios监控系统介绍”

  1. 现在用zabbix监控,界面十分不友好

  2. graphite 使用的数据库工具 whisper 非常类似 rrdtool,最大不同的地方是 rrdtool 假设数据都进数据库,这种假设有时候会导致不正常数据被插入数据库之前就被抛弃(覆盖)了,所以最后数据不是那么的准确。

  3. Cacti与Nagios的组合,perfect

  4. Hyperic HQ 的数据存放在数据库中,并定期清理,越久远的数据越少。不必用户操心。

 Leave a Reply

(required)

(required)