1、Cacti简介

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

简单的说Cacti 就是一个PHP 程序。它通过使用SNMP 协议获取远端网络设备和相关信息,(其实就是使用Net-SNMP 软件包的snmpget 和snmpwalk 命令获取)并通过RRDTOOL 工具绘图,通过PHP 程序展现出来。我们使用它可以展现出监控对象一段时间内的状态或者性能趋势图。

2、Cacti 架构概述

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相关服务

[[email protected] ~]# yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils

[[email protected] ~]# chkconfig –level 35 snmpd on

[[email protected] ~]# service snmpd start

[[email protected] ~]# vim /etc/snmp/snmpd.conf

将default修改为127.0.0.1,如下图:

cacti安装与配置

将其中62行的systemview改为all即可,并启用85行:view all included .1 80,如下图:

cacti安装与配置

cacti安装与配置

2、安装rrdtool

(1)检查并安装相关依赖包

[[email protected] ~]# yum install cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel pear pear-devel

(2)源码安装rrdtool

[[email protected] ~]# cd /usr/local/src

[[email protected] data1]# mkdir /usr/local/rrdtool

[[email protected] data1]# tar -xzf rrdtool-1.4.7.tar.gz

[[email protected] data1]# cd rrdtool-1.4.7

[[email protected] rrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool

[[email protected] rrdtool-1.4.7]# make && make install

3、解压cacti,并移动到web目录下

[[email protected] ~]# cd /usr/local/src

[[email protected] data1]# tar -xzf cacti-0.8.8a.tar.gz

[[email protected] data1]# mv cacti-0.8.8a /data1/html/cacti

4、在MySQL中创建数据库cacti

建立数据库cacti,并增加对该数据库拥有所有权限的用户名cacti,该用户密码为:cacti。

[[email protected] 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 [email protected] 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;