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


112008616.png


# 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  


112127433.png

http://ip/cact


调整httpd配置

Vi /etc/httpd/conf/httpd.conf

112241420.pngcacti源码目录作为网站根目录


112300344.png

Service httpd restart



112540710.png

112641621.png

cacti默认会在系统中找rrdtool、snmp的一些可程序文件路径,如果以上安装都正确的话会出现如下界面。注意:rrdtool、和net-snmp的版本要选择正确


112727496.png


生成图形文件

#/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



112833622.png

112925514.png

112944477.png

41192.168.0.251对应cacti服务器地址(默认是default),表示允许其查询本机数据;

62all表示开放所有的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



八、添加Monitorthold 插件

通过访问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 安装Monitorthold

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”按钮可依次加载monitorsettingsthold插件,并启用thold插件。

  若发现页面上方并未出现thold或者monitor选项卡,请再次修改管理员用户admin的属性,确认选中“view thresholds”、“view monitoring”并且保存即可。