Cacti是一套基于PHP,MySQL,SNMP以及RRDTool开发的网络流量监测图形分析工具,其主要功能是用SNMP服务获取数据,然后通过RRDTool存储和更新数据,当用户需要查看数据的时候,用RRDtool生成图表呈现给用户。因此,SNMP和RRDTool是Cacti监控系统的关键。SNMP关系着数据的收集,RRDTool关系着数据存储和图表的生成。MySQL配合PHP程序存储一些变量数据并进行调用,如主机名,主机IP地址,SNMP团题目,端口号,模板信息等变量。SNMP抓到数据不是存储在MySQL中,而是存在RRDTOOL生成的rrd文件中。RRDTOOL对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
Nagios是一款开源的免费网络监视工具,能够有效的监控Windows,Linux,以及Unix操作系统主机状态,甚至可以监控交换机,路由器,打印机等网络设备。它能够在服务异常时,发出邮件或者短信,第一时间通知系统管理人员,防止系统崩溃,又能在系统恢复正常时发出邮件或者短信通知。
Nagios能够监控指定的本地的或者远程的主机或者服务,并能提供一个基于浏览器的WEB界面,方便系统管理人员进行查看网络状况,系统问题,以及日志等等。
Nagios能够完成以下服务的监控:监控网络服务(SMTP、POP3、HTTP、NNTP、PINg等),监控主机资源(处理器负荷、磁盘利用率等),并能提供相对简单的接口,让用户来自行设计监控插件,方便扩展自己服务的监控方法与策略。
Arch是一个Linux发行版,以极其简洁著称。
Nginx是一个比Apache更高效的WEB服务器。
MySQL是占有率最高的关系型数据库。
结论:
经过详细的系统需求分析和架构设计,结合shell、PHP、
Highcharts技术,完成了系统的开发工作。经过测试,可以有效起到
系统监控作用。