1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
参考网址:http://www.cacti.net/
http://docs.cacti.net/
http://www.cyberciti.biz/nixcraft/linux/docs/uniqlinuxfeatures/mrtg/mrtg_config_step_3.php(上面有教你如何配置的。)
首先需要提醒你注意的地方是注意安装mysql nginx php等原来用源码安装的最好重装,因为额能有些模块你没有加入进去,造成实验无法完成的,特别是mysql。
(1)yum install httpd mysql mysql-server mysql-devel php php-mysql php-snmp net-snmp net-snmp-utils net-snmp-libs net-snmp-devel rrdtool gcc -y
(2)ll /etc/snmp/snmpd.conf
/etc/init.d/snmpd start
snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex(在你未进行更改snmpd.conf之前这个命令执行完之后是没有什么变化的,也就是没有什么结果显示的)
(3)配置文件:
vi /etc/snmp/snmpd.conf
#com2sec notConfigUser default public
com2sec local localhost public
com2sec mynetwork 192.168.0.0/24 public
# groupName securityModel securityName
#group notConfigGroup v1 notConfigUser
#group notConfigGroup v2c notConfigUser
group MYRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork
#view systemview included .1.3.6.1.2.1.1
#view systemview included .1.3.6.1.2.1.25.1.1
view all included .1 80
#access notConfigGroup "" any noauth exact systemview none none
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all none
#syslocation Unknown (edit /etc/snmp/snmpd.conf)
#syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
syslocation rhel6
syscontact westos <997365139@qq.com>
(4)配置完成后,chkconfig snmpd on
service snmpd start
测试是否成功:
snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex
若成功会显示类似与以下:
ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.127.0.0.1 = 1
ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.192.168.0.20 = 2
(5)cd ~
lftp 192.168.0.254
cd /pub/docs/cacti
get cacti-0.8.7g.tar.gz cacti-plugin-0.8.7g-PA-v2.8.tar.gz cacti-spline-0.8.7g.tar.gz
tar zxf acti-0.8.7g.tar.gz
cd cacti-0.8.7g
ll cacti.sql
mysqladmin create cacti
mysql cacti < cacti.sql(该两句是创建数据库cacti,并且把cacti.sql导进去)
mysql
grant all on cacti.* to cacti@localhost identified by 'cacti';
(给用户cacti登录本地密码是cacti,对数据库的cacti的所有表具有所以的权限。)
flush privileges;
quit
(6)
cd cacti-0.8.7g/include
vi include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";
(7)
mv cacti-0.8.7g /var/www/html/cacti
cd /var/www/html/cacti/
useradd cacti
ll -d rra log
chown -R cacti rra log
crontab -e
*/5 * * * * php /var/www/html/cacti/poller.php >/dev/null 2>&1
/etc/init.d/httpd start
http://192.168.0.20/cacti/install/index.php
http://192.168.0.20/cacti/index.php
user name:admin
password:cacti
http://192.168.0.20/cacti/settings.php
(8)
yum install libtool
cd ~
tar zxf cacti-spine-0.8.7g
cd cacti-spine-0.8.7g
libtoolize --force
autoheader
autoconf
automake
cd /usr/local/spine/ect/
ll
cp spine.conf.dist spine.conf
vi spine.conf
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
ll spine.conf
(9)
cd /usr/local/spine/bin
http://192.168.0.20/cacti/settings.php?tab=path
graphs->tree Mode