Cacti 安装
一、Cacti 监控介绍
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(SimpleNetwork Management Protocol)简单网络管理协议。是由互联网工程任务组(IETF:InternetEngineering Task Force )定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:SimpleGateway 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是由TobiasOetiker 开发的开源软件,它使用RRD(RoundRebin Databases)作为存储格式,Roundrobin 是一种处理定量数据以及当前元素指针的技术,RRDTool主要用来跟踪对象的变化情况,生成改对象变化的趋势图。
服务器环境:
Redhat6.4-64
二、安装cacti
cacti-0.8.8a.tar.gz
cacti-spine-0.8.8a.tar.gz
net-snmp-5.7.2.1.tar.gz
rrdtool-1.4.7.tar.gz
相关下载网址:
http://www.cacti.net/download_cacti.php
http://www.cacti.net/spine_download.php
http://www.cacti.net/downloads/pia/
1. 首先安装net-snmp
解压:tar –zxvf net-snmp-5.7.2.1.tar.gz
cd net-snmp-5.7.2.1
[root@localhostnet-snmp-5.7.2.1]# ./configure --prefix=/usr/local/net-snmp
[root@localhostnet-snmp-5.7.2.1]# make && make install
[root@localhostnet-snmp-5.7.2.1]# cp EXAMPLE.conf /etc/snmpd.conf
[root@localhostnet-snmp-5.7.2.1]# ln -s /usr/local/net-snmp/bin/* /usr/local/bin/
[root@localhostnet-snmp-5.7.2.1]# vi /etc/snmpd.conf
rocommunity public localhost #去掉注释
[root@localhost net-snmp-5.7.2.1]#/usr/local/net-snmp/sbin/snmpd -c /etc/snmpd.conf
加入开机启动:
[root@localhostnet-snmp-5.7.2.1]# echo "/usr/local/net-snmp/sbin/snmpd -c/etc/snmpd.conf" >> /etc/rc.local
2. 安装rrdtool
[root@localhost cacti]#tar -zcvf rrdtool-1.4.7.tar.gz
[root@localhost cacti]#cd rrdtool-1.4.7
[root@localhostrrdtool-1.4.7]# ./configure --prefix=/usr/local/rrdtool
[root@localhostrrdtool-1.4.7]# make && make install
[root@localhostrrdtool-1.4.7]# ln -s /usr/local/rrdtool/bin/* /usr/local/bin/
3. 安装cacti
[root@localhost cacti]#tar -zxvf cacti-0.8.8a.tar.gz
#将cacti目录移动到web目录
[root@localhost cacti]#mv cacti-0.8.8a/* /var/www/html/
#修改执行用户
[root@localhost cacti]#chown -R apache:apache /var/www/html/
####连接到mysql数据库
[root@localhost ~]#mysql -uroot –pinthmysql
###创建cacti数据库
mysql> createdatabase cacti;
###建立cacti用户,密码cacti123
mysql> insert intomysql.user(host,user,password)values(‘localhost‘,‘cacti‘,password(‘cacti123‘));
###重载mysql授权表
mysql> flushprivileges;
###把数据库cacti授权于用户cacti
mysql> grant all oncacti.* to cacti‘@localhost‘ identified by ‘cacti123‘;
将cacti数据库导入
[root@localhost ~]# cd/var/www/html
[root@localhost html]#mysql -ucacti -pcacti123 cacti<cacti.sql
###修改网站配置文件,使其可以正确连接数据库
[root@localhost html]#vi include/config.php
$database_type ="mysql";
$database_default ="cacti";
$database_hostname ="127.0.0.1";###一定要将localhost修改为127.0.0.1,否则可能连接不上数据库,我也不知道为什么,反正这么改就行
$database_username ="cacti";
$database_password ="cacti123";
$database_port ="3306";
$database_ssl = false;
使用浏览器打开:
会看到安装向导,点击两个next之后,出现如下:
4. 设置cacti数据采集轮训时间
[root@localhost ~]#crontab –e
*/1 * * * * /usr/bin/php /var/www/html/poller.php >/dev/null 2>&1
三、常用插件安装
1.下载monitor-v1.3-1.tgz,地址我也不记得了,网上找个下载就好
[root@localhost cacti]#tar -zxvf monitor-v1.3-1.tgz
[root@localhost cacti]#mv monitor /var/www/html/plugins/
[root@localhost cacti]#cd /var/www/html/plugins/
[root@cacti monitor]#mysql -ucacti –pcacti123 cacti<monitor.sql
打开cacti的web页面,点击Plugin Management,进去之后点击绿色的小按钮进行安装,之后就可以在cacti的页面看到:monitor 选项了,
配置文件的修改:
[root@localhost ~]# vi/etc/snmp/snmpd.conf
com2secnotConfigUser default public
修改为:
com2secnotConfigUser 127.0.0.1 public
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
这两还修改为:
view systemview included .1.3.6.1.2.1.2
view systemview included .1.3.6.1.2.1.6.9.0
view all included .1 80
access notConfigGroup "" any noauth exact systemview none none
修改为:
access notConfigGroup "" any noauth exact all none none
#view all included .1 80 注释打开
被监控主机:
com2secnotConfigUser default public
修改为:192.168.30.31为服务器端IP
com2secnotConfigUser 192.168.30.31 public
com2sec mynetwork 192.168.30.31 public_monitor
com2sec mynetwork 127.0.0.1 public
添加:
group MyROGroup v2c mynetwork
view all included .1 80
access notConfigGroup "" any noauth exact systemview none none
修改为:
access notConfigGroup "" any noauth exact all none none
access MyROGroup "" any noauth prefix all none none
原文:http://8474832.blog.51cto.com/8464832/1536732