Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好。软件 Cacti 的发展是基于让 RRDTool 使用者更方便使用该软件,除了基本的 Snmp 流量跟系统资讯监控外,Cacti 也可外挂 Scripts 及加上 Templates 来作出各式各样的监控图。
部署Cacti监控平台
一:准备基础软件包
1)安装LAMP环境
Cacti监控需要通过Web页面展示出来,并且还需要使用MySQL来存储一些变量数据,因此需要先为Cacti准备基础LAMP环境。因为Cacti监控其他主机数据时使用的是snmp协议,所以还需要安装net-snmp和net-snmp-utils软件包。
# yum -y install httpd php php-mysql php-ldap php-xml mysql mysql-server net-snmp net-snmp-utils lm_sensors
# service httpd start;chkconfig httpd on //启动httpd服务
# service mysqld start;chkconfig mysqld on //启动mysqld服务
# mysqladmin -u root password '111' //设置数据库管理员密码
2)源码安装RRDTool
Cacti监控的数据存储和绘图功能主要依赖于该软件,如果没有该软件则Cacti无法存储监控数据并绘制出监控图像。
# tar zxf rrdtool-1.4.5.tar.gz
# cd rrdtool-1.4.5
# ./configure --prefix=/usr/local # make && make install
二:部署Cacti套件
1)解压部署Cacti软件包
Cacti是由PHP开发的Web页面套件,PHP代码通过使用snmp协议来获得监控数据,并代用RRDTool存储数据和绘制监控图像,所以在安装完成基础LAMP环境后,首先需要做的就是将Cacti软件包解压放置在Web服务器的网页根路径下。
# tar zxf cacti-0.8.7g.tar.gz # mv cacti-0.8.7g/ /var/www/html/cacti # cd /var/www/html/cacti # useradd cactiuser # chown -R root.root ./ # chown -R cactiuser.cactiuser rra/ log/
2)创建数据库并初始化
Cacti需要使用MySQL来存储部分动态数据,这里还需要给Cacti创建一个数据库,并使用Cacti提前准备好的数据文件,对数据库进行初始化。
# mysql -u root -p Enter password: //密码为前面初始化的密码 mysql> CREATE DATABASE cactidb DEFAULT CHARACTER SET utf8; //创建数据库 mysql> GRANT all ON cactidb.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'pwd123'; //创建账户并赋权 mysql> QUIT # mysql -u cactiuser -p cactidb < cacti.sql //初始化数据库
3)修改Cacti的PHP源码文件,指定数据库名称及相关账户信息。
# cd /var/www/html/cacti
# vim include/config.php <?php $database_default = "cactidb"; //设置数据库名称 $database_username = "cactiuser"; //设置账户名称 $database_password = "pwd123"; //设置密码
...
?>
# vi lib/functions.php
<?php setlocale(LC_CTYPE,"zh_CN.UTF-8"); //定义语言
……
?>
4)调整http配置文件,重新定义根路径
httpd配置文件使用DocumentRoot "/var/www/html"语句来定义网站页面根路径,默认路径为/var/www/html/,这里需要修改为/var/www/html/cacti。
# vim /etc/httpd/conf/httpd.conf .. .. DocumentRoot "/var/www/html/cacti"