开源监控工具简介


申明:关于MRTG,cacti,nagios,ntop,zabbix 的一个简单的功能和优缺点的综合介绍,参考网上的一些文章和其他博客,包括图片剪切,只是自己做了次搬运工,并非完全原创,这里向摘抄学习的的各位朋友致敬!

MRTG:MRTG是一款早起的使用perl开发的,通过SNMP协议实现管理工作站与设备代理进程间的通讯,以完成对设备的管理和运行状态的监视。MRTG安装配 置简单、 图形界面直观,因为广受当时网络管理人员的喜爱。

MRTG缺点:1、使用文本式的数据库、数据不能重复利用

     2、只能按日、周、月、年来查看数据

     3、只能画两个DS(一条线和一个块)

     4、每次取数据都必须要绘制一次图,浪费系统资源

     5、没有管理功能

RRDtool:有鉴于MRTG的缺点,MRTG的作者开发rrdtool来代替MRTG了,该软件是强大的绘图引擎,很多语言都可以调用rrdtool来绘图。

(round robin database):

官方地址: http://oss.oetiker.ch/rrdtool/

一些列由Tobi  Oetiker创建的数据库工具。他也被设计处理时间序列数据像带宽、温度、CPU负载等。这些数据被存储在一些列数据库中,因此系统存储足迹足以持续的留下

优点:1、rrdtool是一个性能优良的数据记录器,同时也是一个功能强大的绘图引擎。

            2、 它使用rrd的数据存储格式,使用得数据可以重复使用;

                    3、在绘图方面,它可以定义任意时间段进行绘图,能绘出多个DS。

缺点:1、虽然提供了强大的数据存储及绘图功能,但rrdtool却没有提供类似于MRTG中集成的数据采集功能;

                    2、同时,它提供了过多的参数,以至于在命令行界面使用起来极为不便;

                    3、 此外,rrdtool也没有提供管理功能

 

cacti(仙人掌):http://www.cacti.net/

1、Cacti就是rrdtool的一个forefront,它内置了快速的获数据取工具、优秀的绘图模板以及许多设计精良的数据获取脚本,从而可以通过结合rrdtool强大的数据抓取、数据存储和绘图功能,轻松实现主机负载、网络流量等信息的走势图的绘制 。

2、cacti是用php语言实现的一个软件,它的运行需要网站服务器(如apache)及PHP环境的支持。同时,cacti还需要Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。

3、rrdtool的对主机负载、网络流量等信息的统计需要通过SNMP协议实现。经过SNMP抓取到的数据存储于由rrdtool生成的rrd文件中,这些文件通常位于cacti的rra目录中。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的归档文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。

4、基于PHP、mysql、snmp(UDP:161)、rrdtool开发的一款持续监测的流量监测图形分析工具

cacti工作原理:

Cacti的实例应用

---网络设置

---主机系统

(1)网络接口流量(进与出的带宽)

(2)监控CPU的负载、内存等等

(3)监控磁盘的空间、进程数等等

---cacti常见的监测对象

(1)服务器资源:CPU、内存、磁盘、进程、连接数等

(2)服务器类型:WEB、Mail、FTP、数据库、中间件等

(3)网络接口:流量、转发速度、丢包率

(4)网络设备性能、配置文件(对比与备份)、路由数

(5)安全设备性能、连接数、攻击数

(6)设备运行状态:风扇、电源、温度

(7)机房运行环境:电流、电压、温湿度

 

nagios简介: 中文支持:田朝阳

Nagios是一款用于系统和网络监控的应用程序并遵循GPL协定。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息

Nagios最初被设计为在Linux系统之上运行,然而它同样可以在类Unix的系统之上运行 ,并且有 C 语言编译器,程序主题为ANSI C编制。

Nagios更进一步的特征包括:

1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等);

2、监控主机资源(处理器负荷、磁盘利用率等);

3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;

4、并行服务检查机制;

5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态; 

6、当服务或主机问题产生与解决时将告警发送给联系人(通过 EMail、短信、用户定义方式);

7、具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位; 

8、自动的日志回滚;

9、可以支持并实现对主机的冗余监控; 

10、可选的 WEB 界面用于查看当前的网络状态、通知和故障历史、日志文件等

组成:

Nagios通常由一个主程序(Nagios)、一个插件程序(Nagios-plugins)和四个可选的ADDON(NRPE、NSCA、 NSClient++和NDOUtils)组成。Nagios的监控工作都是通过插件实现的,因此,Nagios和Nagios-plugins是服务器端工作所必须的组件。而四个ADDON中

(1)NRPE:用来在监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控

(2)NSCA:用来让被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(这在冗余监控模式中特别要用到)

(3)NSClient++:用来监控 Windows主机时安装在Windows主机上的组件

(4)NDOUtils:则用来将Nagios的配置信息和各event产生的数据存入数据库,以实现这些数据的快速检索和处理

这四个ADDON中,NRPE和NSClient++工作于客户端,NDOUtils工作于服务器端,而NSCA则需要同时安装在服务器端和客户端

 

NTOP简介:

一.    MRTG基于SNMP获取信息,对于端口的流量,MRTG能提供精确统计,但对于三层以上的信息则无从得知了。而这正是NTOP的强项。NTOP能够更加直观地将网络使用量的情况和每个节点计算机的网络带宽使用详细情况显示出来。NTOP是一种网络嗅探器,嗅探器在协助监测网络数据传输、排除网络故障等方面有着不可替代的作用。可以通过分析网络流量来确定网络上存在的各种问题,如瓶颈效应或性能下降;也可以用来判断是否有黑客正在攻击网络 系统。如果怀疑网络正在遭受攻击,通过嗅探器截获的数据包可以确定正在攻击系统的是什么类型的数据包,以及它们的源头,从而可以及时地做出响应,或者对网 络进行相应的调整,以保证网络运行的效率和安全。

二.   管理人员通过NTOP还可以很方便地确定出哪些通信量属于某个特定的网络协议、占主要通信量的是哪个主机、 各次通信的目标是哪个主机、数据包发送时间、各主机间数据包传递的间隔时间等。这些信息为网管员判断网络问题及优化网络性能,提供了十分宝贵的信息。

NTOP提供以下一些功能:

① 自动从网络中识别有用的信息;

② 将截获的数据包转换成易于识别的格式;

③ 对网络环境中的通信失败进行分析;

④ 探测网络环境下的通信瓶颈;

⑤ 记录网络通信时间和过程;

⑥ 自动识别客户端正在使用的操作系统;

⑦ 可以在命令行和Web两种方式下运行。

看出来ntop作为监控工具与前两者cacti和nagios的区别,ntop在监控方面,它的角度是从分析网络流量来确定网络上存在的各种问题,说白了就类似个抓包监控工具,只不过通过归纳绘图实现更多的功能

 

zabbix:分布式系统监测

官方主页:http://www.zabbix.com/

关于zabbix的资料正在整理中,后期发上来

相关内容