1、Cacti简介
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。
简单的说Cacti 就是一个PHP 程序。它通过使用SNMP 协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL 工具绘图,通过PHP 程序展现出来。我们使用它可以展现出监控对象一段时间内的状态或者性能趋势图。
2、Cacti 架构概述
通过上图我们可以发现Cacti 有三大组件:MySQL 数据库、RRDtool 工具、Net-Snmp 程序。MySQL并不负责监控数据的存储,只保存模板和rra 文件与主机对应等信息,而真正的监控数据存储和图像展现都是rrdtool 来做的。而Net-SNMP 负责数据的采集。
3、SNMP协议
SNMP(Simple Network Management Protocol)简单网络管理协议。是由互联网工程任务组(IETF:Internet Engineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。SNMP 采用了Client/Server 模型的特殊形式:代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP 代理间的交互工作完成的。每个SNMP 从代理负责回答SNMP 管理工作站(主代理)关于MIB 定义信息的各种查询。
Net-snmp 的安装包如下,前两个包net-snmp,net-snmp-libs是基本的net-snmp 的包,net-snmp-utils 是一些工具。
4、RRDTool工具
RRDTool 是由Tobias Oetiker 开发的开源软件,它使用RRD(Round Rebin Databases)作为存储格式,Round robin 是一种处理定量数据以及当前元素指针的技术,RRDTool 主要用来跟踪对象的变化情况,生成改对象变化的趋势图。
二、安装配置cacti
相关软件包:
cacti-0.8.8a.tar.gz
rrdtool-1.4.7.tar.gz
cacti-spine-0.8.8a.tar.gz
把以上这些软件包上传到 /usr/local/src目录下。
相关下载网址:
http://www.cacti.net/download_cacti.php
http://www.cacti.net/spine_download.php
http://www.cacti.net/downloads/pia/
安装cacti环境:
OS:Centos 6.5
IP:192.168.10.250
web平台:LNMP
web根目录:/dataa/wwwroot/www
1、安装本机snmp相关服务
[root@test ~]# yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils
[root@test ~]# chkconfig �Clevel 35 snmpd on
[root@test ~]# service snmpd start
[root@test ~]# vim /etc/snmp/snmpd.conf
将default修改为127.0.0.1,如下图:
将其中62行的systemview改为all即可,并启用85行:view all included .1 80,如下图:
2、安装rrdtool
(1)检查并安装相关依赖包
[root@test ~]# yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel pear pear-devel
(2)源码安装rrdtool
[root@test ~]# cd /usr/local/src
[root@test data1]# mkdir /usr/local/rrdtool
[root@test data1]# tar -xzf rrdtool-1.4.7.tar.gz
[root@test data1]# cd rrdtool-1.4.7
[root@test rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool
[root@test rrdtool-1.4.7]# make && make install
3、解压cacti,并移动到web目录下
[root@test ~]# cd /usr/local/src
[root@test data1]# tar -xzf cacti-0.8.8a.tar.gz
[root@test data1]# mv cacti-0.8.8a /data1/html/cacti
4、在MySQL中创建数据库cacti
建立数据库cacti,并增加对该数据库拥有所有权限的用户名cacti,该用户密码为:cacti。
[root@test data1]# mysql -uroot -p
Enter password:
mysql> create database cacti default character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on cacti.* to cacti@localhost identified by 'cacti';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on cacti.* to [email protected] identified by 'cacti';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> use cacti;
mysql>source /data/wwwroot/www/cacti/cacti.sql;