Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。

 

一、搭建安装环境。
1、搭建环境
# yum install -y gcc gcc-c++  libart_lgpl-devel  zlib-devel  libpng-devel  freetype-devel

 

二、安装软件包,修改配置文件。

1、需要的软件包:(尽量使用yum安装)
# yum install -y httpd php  php-mysql php-ldap  php-xml php-common php-pdo mysql-connector-odbc
mysql mysql-server net-snmp net-snmp-utils lm_sensors   

 

2、安装rrdtool(rrdtool在关盘中没有,需要下载源码包)
# tar zxf rrdtool-1.2.27.tar.gz -C /usr/src/
# cd /usr/src/rrdtool-x.x.x
# ./configure --prefix=/usr/local
# make  &&  make install


3、修改配置文件  允许制定的主机监听自己。
允许192.168.5.12监听自己,监听端口为80
# vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser  192.168.5.12       public   
62 access  notConfigGroup ""      any       noauth    exact  all none none
85 view all    included  .1                     80    (把前面的#去掉)

 

4、启动服务
# service mysqld start
# service httpd start
# service snmpd start
# chkconfig snmpd on

 

5、安装cacti。
# tar zxf cacti-0.8.7g.tar.gz
# mv cacti-0.8.7g /var/www/html/cacti
# cd /var/www/html/cacti

 

6、创建cacti用户,更改组件文件夹的权限
# useradd cactiuser
# chown -R cactiuser.cactiuser rra/ log/

 

7、创建库,创建mysql用户密码,导入组件数据表格。
# mysql -uroot -p   (密码是空的直接回车就OK了)
mysql> create database cactidb default character set utf8;
mysql> grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'cacti';
mysql> \q
导入cacti数据库的表
#mysql -ucactiuser -pcacti cactidb < cacti.sql

 

8、更改php配置文件
# vim /var/www/html/cacti/include/config.php
<?php
$database_type = "mysql";
$database_default = "cactidb";   
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
$database_port = "3306";
$config['url_path'] = "/";
?>

 

9、更改httpd服务配置并重启服务。
# vim /etc/httpd/conf/httpd.conf
134 Listen 80
281 DocumentRoot "/var/www/html/cacti"
306 <Directory "/var/www/html/cacti">
320     Options None
327     AllowOverride None
332     Order allow,deny
333     Allow from all
335 </Directory>
391 DirectoryIndex index.html index.php
747 AddDefaultCharset UTF-8
#service httpd restart

 

三、登陆cacti,产生数据。
1、登陆页面,根据向导完成安装,登陆的用户名和密码都是admin,登陆成功后,cacti强制更新密码
   
http://192.168.10.11/install  (此处ip为本机ip)

CentOS5.10安装cacti_流量监控

 

2、添加主机将主机加入图形树
在web页上点击devices,删除原有的localhost,点击右侧的add
添加新的主机。HOST template用ucd/net snmp host
Associated Data Queries添加以下的数据
SNMP - Get Mounted Partitions
SNMP - Get Processor Information
SNMP - Interface Statistics
保存save后,找到页面最上面的Create Graphs for this Host

把主机加入到图形树中
点击左侧的graph tree->default tree->点击右侧的add
tree item type选择host,然后点击create

CentOS5.10安装cacti_cacti_02

 

3、产生数据
[root@localhost ~]# su - cactiuser
[runct@localhost ~]$ php /var/www/html/cacti/poller.php

[runct@localhost ~]$ crontab -e
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null
[runct@localhost ~]$ exit
[root@localhost ~]# service crond restart
隔几分钟后,再点击web页的graph按钮就可以看到图形了

 

四、安装其他插件框架

 

1、安装plugin
# tar zxf cacti-plugin-0.8.7g-PA-v2.9.tar.gz
# mv cacti-plugin-arch  /var/www/html/cacti
#  cd /var/www/html/cacti
# patch -p1 -N < cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.9.diff
# mysql -ucactiuser -pcacti cactidb < ./cacti-plugin-arch/pa.sql
# vim include/global.php 改用户名等
$database_type = "mysql";
$database_default = "cactidb";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
$database_port = "3306";
# vim include/config.php 改访问路径
$config['url_path']="/cacti/";
$url_path = "/cacti/";
# service httpd restart
# service mysqld restart

WEB页面中左侧的用户管理(user management)->admin用户的权限(下面的realm permisson)加入PA

 

2、安装monitor、settings、thold插件
monitor:通过简单明了的图标提供服务器的运行状态     
settings:给不同的插件提供一些共用的信息,如邮件信息,dns信息。
thold :提供设备异常预警。
直接把三个包解压到cacti/plugin目录
# tar zxf settings-v0.71-1.tgz
# tar zxf thold-v0.4.9-3.tgz
# tar zxf monitor-v1.3-1.tgz
# mv settings monitor thold  /var/www/html/cacti/plugins
WEB页面上可以直接查看到三个插件(在左侧plugin management),点击安装并启用
点击settings中的MISC设置监控图标及分组
点击settings中的mail/dns设置收发邮件地址
点击settings中的thold设置邮件内容

 

3、搭建电子邮件系统
sendmail配置
# yum  -y  install  sendmail-cf
#  cd /etc/mail
#  vim  sendmail.mc
把里面的127.0.0.1换成0.0.0.0
#  m4  sendmail.mc  >  sendmail.cf
#  echo localhost  >> local-host-names

------------------------------------------------------------------------------------------

第一次写博客,如有不足之处请给位多多指点。欢迎吐槽。