前面我整理了两篇关于Prometheus和Zabbix的部署和使用方法的文章,这次介绍第三个监控工具,就是Cacti。相比前面两个开源的监控工具,可能稍微小众些。但也是很强大的工具,希望能帮助到大家。
一、简介
1.1Cacti监控框架工具介绍
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
Cacti是通过snmpget来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件Cacti的发展是基于让RRDTool使用者更方便使用该软件,除了基本的Snmp流量跟系统资讯监控外,Cacti也可外挂Scripts再加上Templates来作出各式各样的监控图。
Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(RoundRobinArchive),它能够存储的数据笔数在创建时就已经定义。
1.2优缺点
Cacti的优点:
1、基于RRDtool使效率提高。
Cacti基于RRDtool存储监控数据,在查询指定时间段的监控数据时候不用浏览整个数据文件,和mrtg的文本log相比具有更高的效率。监控曲线图片的生成并不像mrtg那样和数据采集同步并定时成生,而是通过RRDtool提供的图片生成工具使用PHP脚本来生成动态web图片。
2、监控项目曲线图多样化。
RRDtool的图片生成工具提供了多种参数,这样可以动态设置更多样式的曲线图,也可以将若干监控项目集中显示在一张图片中,例如我们如果要同时显示