cacti是一套基于PHP,MySQL,Net-SNMP及RRDTool开发的网络流量监测图形分析工具。它通snmpget来获取数据,使用RRDtool绘画图形,提供了非常强大的数据和用户管理功能,同时也能增加模板,实现自定义系统状态检测。
Cacti所依赖的各个组件及其作用:
Apache2:web服务器
Net-snmp:用来获取远程主机的数据(数据采集)
rrdtool:存储采集的数据,绘图
Mysql:存储用户信息、模版及配置信息等
spine(可选):spine是一个cacti的轮询器(定时数据采集器),相比默认的cmd.php有更高的效率
Cacti安装(示例系统环境:Ubuntu12.04.2 LTS)
一、安装LAMP服务
$ sudo apt-get install apache2
$ sudo apt-get install mysql-server
$ sudo apt-get install php5
二、修改apache2默认根目录权限
$ sudo chmod /var/www
三、安装NET-SNMP
通过Ubuntu软件源安装的net-snmp($ sudo apt-get install snmp snmpd)版本比网上的教程高,配置文件不一样,应此这里是到官网上下载较低版本http://downloads.sourceforge.net/project/net-snmp/net-snmp/EndOfLine/5.1.4.2/net-snmp-5.1.4.2.tar.gz,手动安装
$ tar -zxf net-snmp-5.1.4.2.tar.gz
$ cd net-snmp-5.1.4.2/
$ sudo apt-get install libperl-dev #net-snmp依赖包
$ ./configure
出现输入提示时除Defaultversion of SNMP to use选2其他可以直接回车采用默认
$ make
$ sudo make install
$ cp EXAMPLE.conf snmpd.conf
$ vim snmpd.conf
找到
# sec.name source community
com2sec local localhost COMMUNITY
com2sec mynetwork NETWORK/ COMMUNITY
改成
com2sec local localhost public
com2sec mynetwork 10.209.0.0/ public
参数简介
sec.name:安全体名字
source:定义请求的来源,在net-snmp中对来源ip进行访问控制,可填具体ip地址或网段
community:共同体的名称
并在snmpd.conf文件末尾添加
proxy -v 2c -c public localhost: .1.3.6.1.4.1.
在net-snmp-5.1.4.2目录启动snmpd服务,若先前已执行sudoapt-get install snmp snmpd,则需要sudo /etc/init.d/snmpd stop
$ sudo snmpd -f -Lo udp: -C -c snmpd.conf & #后台运行snmpd服务
三、安装RRDTool
$ sudo apt-get install rrdtool
四、安装php模块
$ sudo apt-get install php5-mysql php5-cgi php5-cli php5-snmp php-pear
五、安装Cacti
下载cacti http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz
$ mv cacti-0.8.8a.tar.gz /var/www #将Cacti解压到apache2默认根目录
$ cd /var/www
$ tar xzf cacti-0.8.8a.tar.gz
$ mv cacti-0.8.8a cacti
$ rm cacti-0.8.8a.tar.gz
创建cacti数据库
$ cd /var/www/cacti
$ mysqladmin -u root -p create cacti
$ mysql -u root -p cacti < cacti.sql
配置cacti数据库连接
$ vim /var/www/cacti/include/config.php
修改数据库连接变量值
六、运行Cacti
实现cacti定时采集数据
$ crontab -e
选择某一编辑器后在末尾添加
*/5 * * * * /usr/bin/php /var/www/cacti/poller.php &> /dev/null
表示每隔5分钟执行一次脚本进行数据采集
重启apache2服务
$ sudo /etc/init.d/apache2 restart
出现设置页面,保持默认设置,默认用户名是admin,密码是admin