Linux系统下搭建Cacti监测系统

Published on 2015 - 03 - 14
由于cacti系统主要通过SNMP协议采集数据,因此被监测的网络设备或服务器主机均需要支持SNMP协议,在linux主机中可以安装net-snmp软件包以提供snmpd服务及相关工具。

1、配置被监测端(snmpd)

在被监测的linux服务器主机中,安装好net-snmp软件包,并配置启动snmpd服务,以便允许cacti系统采集数据。由于snmpd服务不是本章的重点内容,这里只介绍几本的安装和配置步骤。

1.1 安装net-snmp软件包

net-snmp软件安装需要安装依赖包,为节省时间,这里采用yum安装:
[root@localhost ~]# yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-utils

1.2 配置及启动snmpd服务

(1)修改/etc/snmp/snmpd.conf文件
依次查找修改第41、62、85hang,以设置SNMP访问权限。原文件中对应行的内容如下:
com2sec notConfigUser  default       public
access  notConfigGroup ""      any       noauth    exact  systemview none none
#view all    included  .1                               80
修改后如下:
com2sec notConfigUser  192.168.1.160(cacti服务器IP)       publicsvr
access  notConfigGroup ""      any       noauth    exact  all none none
view all    included  .1                               80
以上过程中,依次修改如下:
第41行,将“default”修改为cacti监测服务器的IP地址,将“public”修改为共享SNMP信息的组识别字串(如“publicsvr”,作用类似于密码)

第62行,将“SystemView”修改为“all”或者“read”,提供访问权限。

第85行,去掉开头的注释符号

(2)启动snmpd服务并设置为自启动。

[root@localhost ~]# service snmpd start
正在启动 snmpd:[确定]
[root@localhost ~]# chkconfig --level 35 snmpd on

2、配置监测服务器(cacti)

(1)安装数据库及web平台

这里采用yum方式安装httpd、mysql、php等相关软件,以节省时间,避免rpm软件包依赖
[root@localhost ~]# yum install -y httpd mysql mysql-server mysql-connector-odbc php php-mysql php-common php-pdo
[root@localhost ~]# service httpd start
[root@localhost ~]# service mysqld start
[root@localhost ~]# chkconfig --level 35 httpd on
[root@localhost ~]# chkconfig --level 35 mysqld on
#启动已安装好的httpd、mysqld服务,并设置为开机自启动。

(2)安装rrdtool软件包

需提前准备好rrdtool源码包及gcc和c++编译安装环境。
[root@localhost]# yum install -y gcc gcc-c++ autoconf automake make libtool
[root@localhost opt]# tar zxf rrdtool-1.4.5.tar.gz 
[root@localhost opt]# cd rrdtool-1.4.5
[root@localhost rrdtool-1.4.5]# ./configure --prefix=/usr/local/
configure: error: Please fix the library issues listed above and try again.(如报此错误应该是少了一些必须支持的库文件,执行以下命令:
[root@localhost rrdtool-1.4.8]# yum -y install libxml2-devel pango*)
[root@localhost rrdtool-1.4.5]#make && make install

2.2 安装配置cacti服务器套件

(1)安装cacti软件包

需提前准备好cacti软件包,解压至web服务器的网页目录,并添加用于读写监测数据的用户。
[root@localhost html]# cd /var/www/html/
[root@localhost html]# tar zxf Ccti-0.8.7e-cn-utf8.tar.gz 
[root@localhost html]# mv cacti-0.8.72-cn-utf8 cacti
[root@localhost html]# useradd cactiuser
[root@localhost html]# chown -R cactiuser:cactiuser cacti/rra
[root@localhost html]# chown -R cactiuser:cactiuser cacti/rra/ cacti/log/

(2)设置监测数据库。

建立保存监测数据的数据库、表,设置好授权访问数据库的用户和密码。
[root@localhost ~]# mysql -u root -p
mysql> create database cactidb default character set utf8;
mysql> grant all on cactidb.* to cactiuser@localhost identified by 'cactiuser';
mysql>  flush privileges;
[root@localhost html]# mysql –u cactiuser –p cactidb < cacti/cacti.sql //导入数据表
基于安全考虑,建议为mysql数据库的root用户设置密码,而不要使用默认空密码。以下mysql语句可修改root密码。
mysql> update mysql.user set password=password(‘yourpassword’)

(3)调整cacti配置文件。

修改include/config.php配置文件,设置正确的数据库连接参数。
[root@test html]# vi cacti/include/config.php
$database_type = "mysql";
$database_default = "cacti"; //要访问的数据库名
$database_hostname = "localhost";//数据库地址(主机名或IP)
$database_username = "cactiuser";//授权访问数据库的用户
$database_password = "cactiuser";//授权密码
$database_port = "3306";//数据库服务端口
$config[‘url_path’] = “/”;

最后的“$config[‘url_path’] = “/”;”用于指定cacti目录相对于网站根目录的位置,如果cacti目录就是网站的根目录,则该行内容也可以省略;否则需要正确指定实际位置,如“$config[‘url_path’] = “/cacti/”;”。

3、调整httpd设置并重新启动服务

修改httpd.conf文件,以便支持自动查找索引页index.php,并将utf-8作为默认的中文页面字符集。注意要开放web用户对cacti目录的访问权限。
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
Listen 80
DocumentRoot “/var/www/html/cacti”
<Directory “/var/www/html/cacti”>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DirectoryIndex      index.php   index.html
AddDefaultCharset       utf-8
[root@localhost ~]# service httpd restart

4、初始化cacti系统

使用web浏览器访问cacti服务器-----例如:http://192.168.1.160。第一次访问cacti页面时,会自动跳转至cacti的初始化安装向导界面。按照页面操作提示操作即可。不做具体介绍