Cacti简介
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具
cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
安装环境:Linux下请务必安装以下软件包,并确保httpd和mysqld是开机自动启动。
httpd(也可以是nginx)
php
mysql
net-snmp(可能需要net-snmp-libs,net-snmp-utils)
rrdtool 1.3+
安装步骤
1、安装绘图工具
[root@localhost ~]# yum -y install rrdtool
[root@localhost ~]# rrdtool -v
2、安装snmp
[root@localhost ~]# yum -y install net-snmp net-snmp-libs net-snmp-utils
[root@localhost ~]# chkconfig snmpd on
[root@localhost ~]# service snmpd start
测试一下是否正常运行: 查看系统信息(其中-v指定版本,版本号为2c,-c指定密钥,密钥为public,这个值可以在/etc/snmp/snmpd.conf里面可以查到)
[root@localhost ~]# snmpwalk -v 2c -c public 127.0.0.1 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64
3、下载解压cacti
[root@localhost ~]# wget http://www.cacti.net/downloads/cacti-1.1.0.tar.gz
[root@localhost ~]# tar -zxvf cacti-1.1.0.tar.gz -C /var/www/html/
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# mv cacti-1.1.0 cacti
4、创建数据库
mysql> create database cactidb;
mysql> use cactidb;
mysql> . /usr/local/cacti/cacti.sql
mysql> grant all on cactidb.* to cactiuser@localhost identified by 'cactipasswd';
mysql> flush privileges;
5、修改cacti配置文件
[root@localhost cacti]# vim include/config.php
$database_type = 'mysql';
$database_default = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cactipasswd';
$database_port = '3306';
$database_ssl = false;
6、添加用户,设置目录权限
[root@localhost cacti]# useradd cactiuser
[root@localhost cacti]# chown -R cactiuser rra/ log/
7、设置cacti收集数据的任务计划
[root@localhost cacti]# echo "*/5 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1">>/etc/crontab
8、浏览器打开 http://192.168.255.129/cacti
用户名和密码都是admin
报了很多错:1、php有三个模块没有安装
2、mysql版本太低,应该至少为5.6版本。