cacti

安装cacti构建流量与性能监测系统

                           

 

实验环境:rhel5-4平台(本实验被监测端与监测端都在一个服务器上)

实验目的:使用Cacti套件构建服务器性能监测系统

相关软件包:

Cacti-0.8.7b-cn-utf8.tar.gz(汉化版)

 

一、配置被监测端(snmpd)

在被监测的linux服务器主机中,安装好net-snmp软件包,并配置启动snmpd服务,以便允许Cacti系统采集数据。

1、  安装net-snmp软件包

net-snmp软件需要用到lm_sensors提供的硬件监视模块,安装时直接使用RHEL5系统光盘中的rpm包文件。依次安装lm_sensorsnet-snmp两个软件包即可。

 

[root@localhost ~]# mount /dev/cdrom /media

[root@localhost ~]# cd /media/cdrom/Server

[root@localhost Server]# rpm –ivh lm_sensors-2.10.0-3.1.i386.rpm

[root@localhost Server]# rpm -ivh net-snmp-5.3.1-14.el5.i386.rpm

或用yum安装

[root@localhost ~]# yum –y install *net-snmp*

               

 

2、  配置及启动snmpd服务

1)  修改/etc/snmp/snmpd.conf文件

依次查找修改416285行,以设置SNMP访问权限。原文件中对应行的内如如下

 

41 com2sec notConfigUser default public

62 access notConfigGroup “” any noauth exact systemview none none

85 #view all included .1                          80

修改后变为如下:

41 com2sec notConfigUser 192.168.1.112 publicvr

62 access notConfigGroup “” any noauth exact all none none

85 view all included .1                          80

以上过程中,依次修改如下:

Ø         41行,将“default”修改为Cacti监测服务器的IP地址(192.168.4.4),将“public”修改为共享SNMP信息的组识别子串(如“publicsvr”,作用类似于密码)。

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

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

 

2)启动snmpd服务并设置为开机启动

[root@localhost ~]# /etc/init.d/snmpd restart

[root@localhost ~]# chkconfig --level 35 snmpd on

    3)调整防火墙策略,允许从监测系统(如192.168.4.4)中访问本机的snmpd服务(如果无防火墙则跳过此步)。

 

[root@localhost ~]# iptables –I INPUT –s 192.168.1.112 –p udp –dport 161 –j ACCEPT

[root@localhost ~]# iptables –I OUTPUT –d 192.168.1.112 –p udp –dport 161 –j ACCEPT

 

 

二、配置监测服务端(Cacti

    Cacti监测服务端需要有ApacheMySQLPHP网站平台的支持,且需要预先安装有gdzlib等软件包,如果没有安装,请使用RHEL5系统光盘中的rpm包安装即可。

 

1、安装支持软件

    1)安装数据库及Web平台。

    这里采用RHEL5系统自带的rpm包安装httpdmysqlphp 等相关软件,以节省时间。所需安装的主要软件包如下(存在依赖关机的软件包需一并安装)。

[root@localhost Server]# rpm –ivh httpd-2.2.3-6.el5 mysql-5.0.22-2.1 mysql-server-5.0.22-2.1 mysql-connector-odbc-3.51.12-2.2 php-5.1.6-5.el5 php-mysql-5.1.6-5.el5 php-common-5.1.6-5.el5 php-pdo-5.1.6-5.el5

 

 

    或者使用yum安装

[root@localhost ~]# yum –y insatll http*

[root@localhost ~]# yum –y install mysql*

[root@localhost ~]# yum –y install php*

    启动已安装好的httpdmysqld、服务,并设置为每次开机随系统自动运行。

[root@localhost ~]# /etc/init.d/httpd restart

[root@localhost ~]# /etc/init.d/mysqld restart

[root@localhost ~]# chkconfig httpd on

[root@localhost ~]# chkconfig mysqld on

    2)安装net-snmp-utils软件包

    Net-snmp-utils软件包用于提供snmpgetsnmpwalkSNMP数据采集命令,由于软件包之间存在依赖关系,需要依次安装lm_sensorsnet-snmpnet-snmp-utils三个软件包。

3)  安装rrdtool软件包

这里使用1.3.8版本的rrdtool源码包。

[root@localhost data]# tar zxf rrdtool-1.3.8.tar.gz -C /usr/src/

[root@localhost data]# cd /usr/src/rrdtool-1.3.8/

[root@localhost rrdtool-1.3.8]# ./configure --prefix=/usr/local/

[root@localhost rrdtool-1.3.8]# make

[root@localhost rrdtool-1.3.8]# make install

 

如出现以下错误,解决错误后重新编译

编译rrdtool报错:

 

checking for intltool >= 0.35.0... 0.31.2 found

configure: error: Your intltool is too old.  You need intltool 0.35.0 or later.

 

解决办法如下:

[root@localhost rrdtool-1.3.8]# cd /data

[root@localhost data]# wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz

[root@localhost data]# tar zxvf intltool-0.40.6.tar.gz
[root@localhost data]# cd intltool-0.40.6
[root@localhost intltool-0.40.6]#./configure
[root@localhost intltool-0.40.6]# make

[root@localhost intltool-0.40.6]# make install

 

编译intltool报错:

checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool

解决办法如下:

[root@localhost intltool-0.40.6]# yum –y install perl-XML-Parser

重新编译

[root@localhost intltool-0.40.6]# ./configure --prefix

[root@localhost intltool-0.40.6]# make

[root@localhost intltool-0.40.6]# makeinstall

[root@localhost intltool-0.40.6]# cd /usr/src/ intltool-0.40.6

[root@localhost rrdtool-1.2.6]#./configure –prefix=/usr/local/

[root@localhost rrdtool-1.2.6]# make

[root@localhost rrdtool-1.2.6]# make install

 

 

编译rrdtool报错:

configure: error: Please fix the library issues listed above and try again.

解决办法如下:

确保安装了这些库zlib libpng freetype libart_lgpl

验证如下

[root@localhost rrdtool-1.2.6]# rpm -qa |grep zlib

zlib-1.2.3-3

zlib-devel-1.2.3-3

[root@localhost rrdtool-1.2.6]# rpm -qa |grep libpng

libpng-devel-1.2.10-7

libpng-1.2.10-7

[root@localhost rrdtool-1.2.6]# rpm -qa |grep freetype

freetype-2.2.1-16.el5

freetype-devel-2.2.1-16.el5

[root@localhost rrdtool-1.2.6]# rpm -qa |grep libart_lgpl

libart_lgpl-2.3.17-4

libart_lgpl-devel-2.3.17-4

[root@localhost rrdtool-1.3.8]# rpm -qa | grep pango

pango-1.14.9-6.el5

pango-devel-1.14.9-6.el5

安�brrdtool�r必�要安�bcgilib�@����,以下是安�b方法

[root@localhost rrdtool-1.2.6]# cd /data

[root@localhost data]#wget http://www.scriptroute.org/source/cgilib-0.5.tar.gz

[root@localhost data]# tar –zxf cgilib-0.5.tar.gz

[root@localhost data]# cd cgilib-0.5

[root@ localhost cgilib-0.5]# make

cc -I. -Wall -O2 -g   -c -o cgi.o cgi.c

cc -I. -Wall -O2 -g   -c -o cookies.o cookies.c

ar rc libcgi.a cgi.o cookies.o

[root@ localhost cgilib-0.5]# cp cgi.h /usr/local/lib

 

 

然后是根据错误提示查找了那些函数库:

CPPFLAGS= -I/usr/include/cairo -I/usr/include/libpng12 -I/usr/include/freetype2   -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   -I/usr/include/libxml2

 

发现没有/usr/include/libxml2这个目录,于是下载了libxml2-2.6.32.tar.gz来安装,以上函数库都可以在这里下载:http://oss.oetiker.ch/rrdtool/pub/libs/

安装步骤就是:

[root@ localhost cgilib-0.5]# cd /data

[root@ localhost data]# wget http://oss.oetiker.ch/rrdtool/pub/libs/libxml2-2.6.32.tar.gz

[root@ localhost data]# tar -zxf libxml2-2.6.32.tar.gz

[root@ localhost data]# cd libxml2-2.6.32

[root@ localhost libxml2-2.6.32]# ./configure

[root@ localhost libxml2-2.6.32]#make

[root@ localhost libxml2-2.6.32]#make install

 

由于是源代码安装,并没有安装到/usr/include/libxml2.所以需要链接过去。

[root@ localhost libxml2-2.6.32]# ln -s /usr/local/include/libxml2/ /usr/include/libxml2

然后再在重新编译rrdtool即可。

[root@localhost libxml2-2.6.32]# cd /usr/src/rrdtool-1.3.8/

[root@localhost rrdtool-1.3.8]# ./configure --prefix=/usr/local/

[root@localhost rrdtool-1.3.8]# make

[root@localhost rrdtool-1.3.8]# make install

 

2、安装配置Cacti服务器套件

1)  安装Cacti软件包

将下载的Cacti文件包(保存在/data目录)解压至Web服务器的网页目录,并添加

用于读写监测数据的用户。

[root@localhost rrdtool-1.3.8]# cd /var/www/html/

[root@localhost html]# tar -zxf /data/cacti-0.8.7b-cn-utf8.tar.gz

[root@localhost html]# mv cacti-0.8.7b-cn-utf8 cacti

[root@localhost html]# useradd cactiuser

[root@localhost html]# chown -R cactiuser:cactiuser cacti/rra cacti/log

2)  设置监测数据库

建立保存监测数据的数据库、表,设置好授权访问数据库的用户和密码。

[root@localhost html]# mysql -u root –p

mysql> CREATE DATABASE cactidb DEFAULT CHARACTER SET utf8;创建数据库并设置默认字符集

mysql> GRANT all ON cactidb.* TO cactiuser@localhost IDENTIFIED BY 'pwd@123';

[root@localhost html]# mysql -u cactiuser -p cactidb < cacti/cacti.sql //导入数据表

    基于安全考虑,建议为MySQL数据库的root用户设置一个相对复杂的密码,而不要使用默认的空密码。以下mysql语句可将数据库用户root的密码修改为pwd@secret

[root@localhost html]# mysqladmin -u root -p password 'pwd@secret'

Enter password:   提示输入密码,因为root现在为空密码,所以回车就行

3)  调整Cacti配置文件

修改include/config.php配置文件,设置正确的数据库连接参数。

[root@localhost html]# cd cacti/

[root@localhost cacti]# vim include/config.php

<?php

$database_type = "mysql";           数据库类型

$database_default = "cactidb";      要访问的数据库名

$database_hostname = "localhost";   数据库服务器的地址(主机名或ip

$database_username = "cactiuser";   授权访问数据的用户

$database_password = "pwd@123";     授权密码

$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 cacti]# vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80               去掉#

<VirtualHost *:80>

    DocumentRoot /var/www/html/cacti

    ServerName www.cacti.com

</VirtualHost>

DirectoryIndex index.php index.html

AddDefaultCharset UTF-8

你可能感兴趣的:(cacti)