Cacti 是一套基于PHP、mysql、rrdtool开发的网络流量监测图形分析工具。
cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。
snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
mysql配合php程序存储一些变量数据并对变量数据进行调用。
实验环境:rhel6.5版本虚拟机,selinux、iptables disabled,IP 172.25.21.11
下载包:cacti-0.8.8h.tar.gz
php-snmp-5.3.3-26.el6.x86_64.rpm
tar zxf cacti-0.8.8h.tar.gz
cd cacti-0.8.8h
cd docs
根据文档需要搭建lnmp
yum install httpd php php-mysql mysql-server -y
yum install rrdtool -y ##安装rrd绘图工具
mv cacti-0.8.8h /var/www/htm
ln -s cacti-0.8.8h cacti ##创建个连接,方便操作
/etc/init.d/mysqld start
mysql_secure_installation ##对数据库进行初始化,给用户设置密码
mysqladmin -pwestos create cacti ##创建数据库cacti
cd /var/www/html/cacti
mysql -pwestos cacti < cacti.sql ###将cacti数据导入cacti库中
mysql -pwestos -e "grant all on cacti.* to lzk@localhost identified by 'westos';" ###设置用户lzk对数据库cacti的权限,密码为westos
cd include/
vim config.php
修改用户名和密码,打开path和session
/etc/init.d/httpd start ##开启apache服务
浏览器访问 172.25.21.11/cacti
当出现这个页面是,需要 yum install net-snmp-utils -y
再次刷新页面,进行登陆,初始的登陆用户和密码都默认为admin,第一次登陆系统会强制修改密码。 cacti 目录中的文件的uid和gid都为1000
创建用户 useradd -u 1000 -M -d /var/www/html/cacti cacti
su - cacti ###切到cacti用户
crontab -e ##创建任务
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1 ###设置监控的更新时间,这里设为5分钟更新一次。
该操作实现了对本地的监控,浏览器测试效果:
上述实验实现了对本地的监控,以下是对其他服务器的监控实验。
实验操作:准备一台服务器,我的物理机是rhel7.0版本
IP 172.25.21.250 foundation21.ilt.example.com
yum install net-snmp -y
systemctl start snmpd
cd /etc/snmpd
vim snmpd.conf
修改配置文件
systemctl restart snmpd
在监控主机上可以监控物理机的信息
在浏览器选择Devices —> add
选择New Graphs —> add
选择Graph Trees —> add
创建完后等待监控刷新,出现监控界面:
选择 spine 是为了加快速度, cmd.php 是一个 php 写的调度程序,而 spine是 用 C 写 的 , spine 的 性 能 远 远 优 于 cmd.php , 当 监 控 的 设 备 有 很 多 时 cmd.php 的性能就跟不上了,只能用 spine 来调度,因此选择spine。
安装spine
tar zxf cacti-spine-0.8.8h.tar.gz
yum install gcc net-snmp-devel mysql-devel openssl-devel -y
yum install dos2unix autoconf automake binutils libtool gcc cpp glibc-heahders kernel-headers glibc-devel -y
cd cacti-spine-0.8.8h
sh bootstrap
./configure
make && make install
cp /usr/local/spine/spine.conf.dist /etc/spine.conf
vim /etc/spine.conf
su - cacti
执行该命令没报错后
浏览器选择 setting —> paths
然后选择polls
安装监控插件
下载安装包:monitor-v1.3-1.tgz
在监控主机上:tar zxf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins
浏览器选择Plugin Management
将插件下载并且打开