实验环境

centos6.5_x64


实验软件

cacti-0.8.8a.tar.gz

cacti-spine-0.8.8a.tar.gz

rrdtool-1.3.8.tar.gz


软件安装

yum install httpd* mysql* php php-mysql* mod_ssl mod_mod_auth_mysql mod_auth_mysql mod_perl php-gd php-xml xml php-mbstring php-ldap php-pear php-xmlrpc -y

yum install mysql-connector-odbc mysql-devel libdbi-dbd-mysql -y

yum install net-snmp* pango-devel* cairo-devel* intltool -y

yum install zlib libpng freetype libart_lgpl libart_lgpl-devel libxml* pango*  -y


cp -pv  /etc/sysconfig/selinux   /etc/sysconfig/selinux.bak

echo >  /etc/sysconfig/selinux  &&   echo SELINUX=disabled  >  /etc/sysconfig/selinux 

cp -pv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

sed -i  's/#ServerName ​​www.example.com:80​​/ServerName  *:80/g'  /etc/httpd/conf/httpd.conf

sed -i  "s/#AddType application/AddType application/g"   /etc/httpd/conf/httpd.conf

sed -i  "37 aAddType application/x-httpd-php .php"    /etc/httpd/conf/httpd.conf   配置文件37行插入配置

echo welcome to apache server  > /var/www/html/index.html

curl  http://localhost/index.html

welcome to apache server

touch /var/www/html/test.php

echo  "<?php phpinfo(); ?>"  > /var/www/html/test.php 

cat /etc/php.ini

date.timezone = Asia/shanghai


​http://服务器ip/test.php​​​

cacti 数据监控_cacti


tar zxvf cacti-0.8.8a.tar.gz 

mv cacti-0.8.8a /var/www/html/cacti

tar zxvf rrdtool-1.3.8.tar.gz 

cd rrdtool-1.3.8

./configure --prefix=/usr/local/rrdtool  && make -j4 && make install 

tar zxvf cacti-spine-0.8.8a.tar.gz 

cd cacti-spine-0.8.8a

./configure  --prefix=/usr/local/spine  && make -j4 && make install


mysqladmin -uroot password 数据库验证

mysql -uroot -p数据库验证

mysql> create database cacti;  创建数据库

mysql> grant all privileges on  cacti.*to  cacti@localhost identified by 'cacti'; 授权用户保留root最高权限

mysql> select host,user from mysql.user; 查看用户以及权限

| ​localhost | cacti |

mysql> flush privileges; 刷新权限


mysql -ucacti -pcacti   查看授权用户是否可以登入数据库

mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql 导入sql文件

mysql -ucacti -pcacti 

mysql> show databases; 

|​cacti  ​            


cp  -pv  /usr/local/spine/etc/spine.conf.dist /etc/spine.conf  /usr/local/spine/etc/spine.conf.dist /etc/spine.conf.bak

cat /etc/spine.conf 

DB_User       cacti  

DB_Pass       cacti  


cp -pv   /var/www/html/cacti/include/config.php   /var/www/html/cacti/include/config.php.bak

cat /var/www/html/cacti/include/config.php 

$database_username = "cacti";  授权用户

$database_password = "cacti";  授权用户验证


cp -pv /var/www/html/cacti/include/global.php  /var/www/html/cacti/include/global.php.bak

cat /var/www/html/cacti/include/global.php 

$database_username = "cacti"; 

$database_password = "cacti"; 


​http://服务器ip/cacti​

cacti 数据监控_cacti_02


cacti 数据监控_cacti_03


cacti 数据监控_cacti_04

find /usr/local/ -name rrdtool

/usr/local/rrdtool-1.3.8/bin/rrdtool 复制路径刷新即可


cacti 数据监控_cacti_05

默认用户名 admin/admin


cacti 数据监控_cacti_06


cacti 数据监控_cacti_07


cat /etc/snmp/snmpd.conf

com2sec notConfigUser  all           public  

access  notConfigGroup ""      any       noauth    exact  all none none

view all    included  .1                               80

view mib2   included  .iso.org.dod.internet.mgmt.mib-2  fc


php /var/www/html/cacti/poller.php

OK u:0.00 s:0.01 r:10.82

OK u:0.00 s:0.01 r:10.83

OK u:0.00 s:0.01 r:10.83

OK u:0.00 s:0.01 r:10.83

OK u:0.00 s:0.01 r:10.83

OK u:0.00 s:0.01 r:10.84


snmpwalk -v 2c -c public 127.0.0.1 if

IF-MIB::ifIndex.1 = INTEGER: 1

IF-MIB::ifIndex.2 = INTEGER: 2

IF-MIB::ifIndex.3 = INTEGER: 3

IF-MIB::ifIndex.4 = INTEGER: 4

IF-MIB::ifDescr.1 = STRING: lo

IF-MIB::ifDescr.2 = STRING: eth0

IF-MIB::ifDescr.3 = STRING: eth1


crontab   -e             

*/5 * * * *    root  /bin/php   /var/www/html/cacti/poller.php


cacti 数据监控_cacti_08


service httpd restart  &&  service mysqld restart  &&  service snmpd restart

chkconfig --level 35 httpd on   &&  chkconfig --level 35 snmpd on  && chkconfig --level 35 mysqld on


netstat -tuplna | grep LISTEN

​tcp        0      0 :::80                       :::*                        LISTEN      16796/httpd         ​

​tcp        0      0 :::443                      :::*                        LISTEN      16796/httpd   ​

​tcp       0    0 0.0.0.0:3306         0.0.0.0:*           LISTEN      17003/mysqld​


windows客户端配置

cmd-services.msc-snmp Service

cacti 数据监控_cacti_09


cacti 数据监控_cacti_10


cacti 数据监控_cacti_11

团体名字默认为public(可以更改),但是要和服务器端名字相同

接收来自snmp包的ip地址为服务器端ip地址,点击应用-确定


cacti 数据监控_cacti_12


cacti 数据监控_cacti_13


linux客户端配置

yum -y install net-snmp

service ntpd restart && ntpdate serverip && chkconfig --level 35 ntpd on 

cat  /etc/snmp/snmpd.conf

com2sec notConfigUser   cacti服务端ip          public  

access  notConfigGroup ""      any       noauth    exact  all none none

view all    included  .1                               80

view mib2   included  .iso.org.dod.internet.mgmt.mib-2  fc

service crond restart && chkconfig --level 35 crond on

如果监控Linux客户端出现snmp检测不到网卡,处理方法是,添加主机选择 ccd/netSNMPHost 这个模版