Cacti监控的安装与配置

Cacti是一个非常好的网络监控工具,利用php语言实现其功能,Cacti通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。界面友好,下面来简要的介绍下cacti的安装和配置,cacti的安装需要lamp环境,php需要有一大堆的扩展,关于lamp这部分的内容,请参考:


一、编译安装rrdtool

Linux下用的最多的是MRTG的性能监视,MRTG配置比较简单,MRTG的确是非常好的东东,但我认为它毕竟已经是一套很旧的软件了,其作者在多年前就已经开发了RRDTool代替该软件,现在已经发展得很成熟。既然有更好的选择,为什么我们还要用MRTG呢?
简单的说,rrdtool就是一个强大的绘图的引擎,很多语言都可以调用rrdtool绘图。

Cacti整个系统的架构是这样的:基于SNMP协议,被监控端是服务器,或一些网络设备,网络管理工作站,采用Linux(或Freebsd)操作系统,并且安装Net-SNMP工具,使用RRDTOOL采集数据,存储数据,并用Cacti调用rrdtool显示出来。
CACTI采用PHP编写,基于B/S结构。

[root@server5 ~]# cd /usr/local/src/tarbag/
[root@server5 tarbag]# wget  http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.4.tar.gz
[root@server5 tarbag]# tar -zxvf rrdtool-1.4.4.tar.gz -C ../software/
[root@server5 tarbag]# cd ../software/rrdtool-1.4.4/
[root@server5 rrdtool-1.4.4]# ./configure --prefix=/usr/local/rrdtool
[root@server5 rrdtool-1.4.4]# make && make install
[root@server5 rrdtool-1.4.4]# ls /usr/local/rrdtool/
bin include lib share
也可以自动安装
#yum -y install rrdtool

# rrdtool
RRDtool 1.4.4  Copyright 1997-2010 by Tobias Oetiker <[email protected]>
               Compiled Jan 14 2014 18:25:27

二、 安装配置net-snmp
# yum -y install net-snmp net-snmp-libs net-snmp-utils

# yum -y install net-snmp*
也可手工安装
# tar -zxvf net-snmp-5.2.4.tar.gz
# cd net-snmp-5.2.4
# ./configure --prefix=/usr/loca/net-snmp --enable-developer
# make
# make install

配置net-snmp
# vim /etc/snmp/snmpd.conf

开机启动
# chkconfig snmpd on
# service snmpd start
三、Cacti安装 
[root@server5 tarbag]# wget  http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
直接解压就行了
[root@server5 tarbag]# tar -zxvf cacti-0.8.7g.tar.gz
[root@server5 tarbag]# mv cacti-0.8.7g /usr/local/cacti

四、在数据库服务器上导入cacti数据库文件

[root@server5 ~]# cd /usr/local/cacti
[root@server5 cacti]# scp cacti.sql

[root@yunwei ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.36-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database cacti;
Query OK, 1 row affected (0.00 sec)

mysql> use cacti
Database changed
mysql> source /tmp/cacti.sql;

mysql> select * from cacti.version;
+-------------+
| cacti       |
+-------------+
| 0.8.7g | 
+-------------+
1 row in set (0.00 sec)

创建数据库用户

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti' ;
mysql> flush privileges;


配置Cacti中的mysql连接参数:

# vi /usr/local/cacti/include/config.php

$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "192.168.1.1";
$database_username = "cacti";
$database_password = "cacti";
$database_port = "3306";

$url_path = "/cacti/";  #这一行非常重要设置cacti程序访问路径的


五、建立任务调度(设置cacti收集数据的默认的任务计划)

# crontab -e

*/2   *    *   *    *  /usr/local/php5.3.23/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1

代表每2分钟来执行后面PHP解析内容,把显示信息重定向到空的路径

为了防止这个任务计划不执行,我们最好手动验证一下,

#  /usr/bin/php /usr/local/cacti/poller .php

如果出现大量php时区设置的错误,那php.ini的时区设置的不对,下面我们来修改一下php时区。


# vim /etc/php.ini

date .timezone = Asia /Shanghai
# service httpd restart

五、开始安装cacti,在浏览器中输入 http://ip/cacti 跟着提示进行安装;默认管理员用户名和密码都是admin,首次登录强制要求修改管理员用户密码


六、cacti-plugins插件安装

PA的安装,PA是cacti的插件管理工具,其他插件需要PA的支持才可以安装


安装monitor、settings、thold插件


七、被监控主机snmp的配置

在生产环境中,snmp协议一般只开在内网网卡

# vi /etc/snmp/snmpd.conf

1、更改
com2sec notConfigUser default public
改为
com2sec notConfigUser 127.0.0.1 public    本机

com2sec notConfigUser 192.168.1.1 public   监控主机

2、#view all included .1 80
将前面的 # 注释 去掉。 保存退出

[root@server5 ~]# service snmpd start
启动 snmpd:
[root@server5 ~]# chkconfig snmpd on

测试snmp是否正常
[root@server5 ~]# snmpwalk -v 2c 127.0.0.1 -c public

你可能感兴趣的:(cacti)