Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmp来取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能强大,界面友好。
Cacti
是基于PHP语言开发的,在运行时需要PHP+MySQL的支持,首先我们来安装一个LAMP环境
操作系统:
CentOS
LAMP RPM
包搭建方式:
Yum install zlib libpng libjpeg freetype fontconfig gd php-mysql
一、安装Apache
#yum install httpd*
#chkconfig httpd on
二、安装MySQL
#yum install mysql*
#chkconfig mysqld on
三、安装PHP
#yum install php*
四、安装rrdtool
Rrdtool
需要一些库文件的支持,这些库文件的安装非常耽误时间,在此我们使用yum方式安装
#yum
install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype
freetype-devel libart_lgpl-devel intltool
下载网站:
http://oss.oetiker.ch/rrdtool/pub
#tar zxvf rrdtool-1.3.8.tar.gz
#cd rrdtool-1.3.8
# ./configure --prefix=/usr/local/rrdtool --disable-tcl
#make && make install
#ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
五、安装net-snmp
下载网站:
http://sourceforge.net/projects/net-snmp/files/net-snmp/5.3.4
选择net-snmp-5.3.4.tar.gz
# tar zxvf net-snmp-5.3.0.1.tar.gz
#cd net-snmp-5.3.0.1
#./configure--prefix=/usr/local/net-snmp --enable-developer
Make && make install
#
cp EXAMPLE.conf /usr/local/net-snmp/share/snmp/snmpd.conf
#vi /usr/local/net-snmp/share/snmpd.conf
修改可以访问SNMP 的网段和community
# ln -s /usr/local/net-snmp/bin/* /usr/local/bin/
#/usr/local/net-snmp/sbin/snmpd–c/usr/local/net-snmp/share/snmp/snmpd.conf //
启动SNMP
#echo"/usr/local/net-snmp/sbin/snmpd -c
/usr/local/net-snmp/share/snmp/snmpd.conf">>/etc/rc.local
//加入开机启动
六、安装cacti
下载网站:
http://www.cacti.net/download_cacti.php
选择cacti for linux/unix in tar.gz format
#tar zxvf cacti-0.8.7h.tar.gz
#mkdir /var/www/html/cacti
#mv cacti-0.8.7h/* /var/www/html/cacti
#useradd cacti
#chown -R cacti:cacti /var/www/html/cacti
登录MySQL,新建数据,并授权
#mysql –uroot –p
>use mysql;
>update user set password=PASSWORD("123456") where
user="root";
>flush privileges;
>quit
#mysql –uroot –p123456
Mysql>create database cacti;
Mysql>grant all on cacti.* to cacti@'localhost' identified by
'cacti';
Mysql>flush privileges;
导入cacti数据库
#cd /var/www/html/cacti
# mysql -uroot -p123456 cacti < cacti.sql
修改cacti安装配置文件
#vi /var/www/html/cacti/include/config.php
调整httpd配置
Vi /etc/httpd/conf/httpd.conf
Service httpd restart
cacti默认会在系统中找rrdtool、snmp的一些可程序文件路径,如果以上安装都正确的话会出现如下界面。注意:rrdtool、和net-snmp的版本要选择正确
生成图形文件
#/usr/local/bin/php /var/www/html/cacti/poller.php
加入cron服务,让图片上的流量定时变动
#crontab –e
*/5 * * * * env LANG=C /usr/local/bin/php /var/www/html/cacti/poller.php
注:如系统没有安装cron服务,请使用yum install vixie-cron安装
七、LINUX被 控 主 机 设 置
Vi /etc /snmpd/snmpd/conf
第41行 192.168.0.251对应cacti服务器地址(默认是default),表示允许其查询本机数据;
第62行 all表示开放所有的snmp查询权限 (默认是 systemview)
第85行,去掉开头的注释符号,以便支持各种查询访问
Service snmpd start
客户端需要开放的防火墙端口
/sbin/iptables -I INPUT -p udp --dport 161 -j ACCEPT
/sbin/iptables -I OUTPUT -p udp --dport 161 -j ACCEPT
/sbin/iptables -I OUTPUT -p udp --dport 199 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 199 -j ACCEPT
八、添加Monitor、thold 插件
通过访问cacti 用户站点 httpd://cactiusers.org,可以下载PA补丁,Monitor 和 thold插件包文件,以及所需的依赖包。
1 导入补丁表,安装补丁文件
tar zxf cacti-piugin-0.8.7g-PA-v2.8.tar.gz
Mysql -uroot -p123456 cacti < cacti-plugin-arch/pa.sql
Cd /var/www/html/cacti
Patch -p1 -N < ~/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v.2.8.diff
2 安装Monitor、thold
Cd /var/www/html/cacti/plugins
Tar zxf ~/monitor-0.8.2.tar.gz
Tar zxf ~/settings-0.5.tar.gz
Tar zxf ~/thold-0.4.3.tar.gz
Mysql -uroot -p123456 cacti < monitor/monitpr.sql
Mysql -uroot -p123456 cacti < thold/thold.sql
3 调整cacti 配置以识别插件
在cacti系统的web控制台中,单击导航栏中“utilities”下的”user management”连接,修改管理员用户admin的属性,选中“plugin management”项,然后单击“save”保存,以便通过web控制台对插件进行管理。
刷新cacti控制台页面,左侧导航栏中“configuration”下将多出来一个“plugin management”链接。单击此链接进入插件管理页面,通过“actions”按钮可依次加载monitor、settings、thold插件,并启用thold插件。
若发现页面上方并未出现thold或者monitor选项卡,请再次修改管理员用户admin的属性,确认选中“view thresholds”、“view monitoring”并且保存即可。