cacti原理:

1,构件(步骤):

net_snmp:负责数据采集

rrdtool:数据存储以及绘图

mysql:保存模板和主机对应的信息

数据采集:cacti使用poller(轮询器)收集数据,主要使用snmp协议从远端的设备上收集数据。

数据存储:cacti使用rrdtool(环形数据库)存储收集到的数据(时间序列数据)。rrd会将原始数据与整合到的数据进行合并,以使得历史数据的存储节省空间。

数据展示:rrdtool绘图功能。

2,工作原理:

net_snmp协议定时采集数据,保存到rrd,当用户需要查看某个主机对应的监控信息的时候可以在MySQL中寻找对应的主机ip等信息,然后在命令rrd绘制出图形

3,监控对象:

网络流量,cpu使用率,硬盘使用率等

 

zabbix原理:

1,构造:

agent:被监控对象

server:负责数据收集

proxy:代理

2,原理:

主被动模式:

主被动模式是相对于客户端来说的,主动就是客户端主动将采集的数据发送给server端,而被动模式是server过来告诉agent自己需要什么东西,agent采集。

zabbixnagios的报警机制一样,通过插件模板来实现

3,监控对象:

网络状态

自带监控项比较多

 

nagios原理:

1,构件:

主程序(Nagios Daemon:Nagios的主部件,实现了监控,性能,通知,事件处理功能。这些功能都是抽象的逻辑和调度,并没有实际的与设备交互的监控实现,与设备的交互都是在下面一层的Plugin种实现的,这些就是Nagios认为可变部分。

Web Interface: NagiosWeb页面,NagiosWeb容器是Apache HTTPDNagios开发了一个HTTPD模块,并提供Web页面。Web InterfaceNagios Daemon之间通过文件接×××互,Web逻辑读取Nagios的状态文件(status.dat),展示其监控信息。

插件程序(nagios-plugins

四个可选的附件(NRPENSCANSClient++NDOUtils

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

NRPE   NSClient:工作在客户端

NSCA:被动(让被监控的主机主动将监控信息发送给服务器)

需要同时安装在服务端和客户端NSCA ---send-nsca

2,原理:

基于状态的改变来实现报警,当状态改变之后会先不警告(软状态),当两次采集之后状态都改变了再通知(硬状态)

3,监控对象:注重主机和服务的监控

自带监控项比较少