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环境下cacti简单配置以及监控_lnmp

lnmp环境下cacti简单配置以及监控_lnmp_02

根据文档需要搭建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

lnmp环境下cacti简单配置以及监控_spine_03


修改用户名和密码,打开path和session

/etc/init.d/httpd start        ##开启apache服务

浏览器访问 172.25.21.11/cacti

lnmp环境下cacti简单配置以及监控_spine_04

当出现这个页面是,需要 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分钟更新一次。

该操作实现了对本地的监控,浏览器测试效果:

lnmp环境下cacti简单配置以及监控_cacti_05


上述实验实现了对本地的监控,以下是对其他服务器的监控实验。

实验操作:准备一台服务器,我的物理机是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

lnmp环境下cacti简单配置以及监控_spine_06

修改配置文件

systemctl restart snmpd

在监控主机上可以监控物理机的信息

lnmp环境下cacti简单配置以及监控_lnmp_07

在浏览器选择Devices —> add

lnmp环境下cacti简单配置以及监控_cacti_08

选择New Graphs —> add

lnmp环境下cacti简单配置以及监控_cacti_09

选择Graph Trees —> add

lnmp环境下cacti简单配置以及监控_cacti_10

创建完后等待监控刷新,出现监控界面:

lnmp环境下cacti简单配置以及监控_lnmp_11


选择 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

lnmp环境下cacti简单配置以及监控_cacti_12


su - cacti

lnmp环境下cacti简单配置以及监控_lnmp_13

执行该命令没报错后

浏览器选择 setting —> paths

lnmp环境下cacti简单配置以及监控_spine_14

然后选择polls

lnmp环境下cacti简单配置以及监控_lnmp_15

安装监控插件

下载安装包:monitor-v1.3-1.tgz

在监控主机上:tar zxf monitor-v1.3-1.tgz -C /var/www/html/cacti/plugins

浏览器选择Plugin Management

将插件下载并且打开

lnmp环境下cacti简单配置以及监控_spine_16