在rhel 5.5中配置cacti服务器

Cacti是一款使用PHP语言开发的性能与流量检测工具,实际上是一个web界面的管理套件,监测对象可以是linux或windows服务器,也可以是路由器,交换机等网络设备,主要基于SNMP协议来搜集cpu占用,�却媸褂茫�运行进程数,磁盘空间,网卡流量等各种数据。


Cacti配置步骤:

服务器端配置(主控端--Cacti)

a.以rhel 5.5系统光盘中的rpm包构建LAMP环境(看情况安装相应依赖包)。

httpd-2.2.3-46.el5

mysql-server-5.0.77-4.el5_4.2

mysql-5.0.77-4.el5_4.2

mysql-connector-odbc-3.51.26r1127-1.el5

perl-DBD-MySQL-3.0007-2.el5

unixODBC-2.2.11-7.1

php-5.1.6-27.el5

php-mysql-5.1.6-27.el5

php-pdo-5.1.6-27.el5

[root@server ~]#service httpd start

[root@server ~]#service mysqld start

b.安装net-snmp-utils软件包

net-snmp-utils-5.3.2.2-9.el5

net-snmp-5.3.2.2-9.el5

net-snmp-libs-5.3.2.2-9.el5

lm_sensors-2.10.7-9.el5

c.编译安装rrdtool

[root@server ~]#tar zxf /usr/src/rrdtool-1.4.5.tar.gz

[root@server ~]#cd /usr/src/rrdtool-1.4.5/

[root@server rrdtool-1.4.5]#./configure --prefix=/usr/local/

[root@server rrdtool-1.4.5]#make && make install

d.部署cacti源码包

将cacti源码包释放至web服务器的网页目录(g版本需要打补丁,i版本不需要)。

[root@server ~]#tar zxf cacti-0.8.7i.tar.gz

[root@server ~]#mv cacti-0.8.7i/ /var/www/html/cacti

添加一个用来读写监测数据的用户账号,为他设置权限。

[root@server ~]#cd /var/www/html/cacti/

[root@server cacti]#useradd runct

[root@server cacti]#chown -R root:root ./

[root@server cacti]#chown -R runct:runct rra/ log/

e.为cacti建立数据库,表结构

[root@server cacti]#mysql -u root -p

Enter password:

mysql>create database cactidb default character set utf8;    //utf8便于支持中文

mysql>grant all on cactidb.* to 'cactiuser'@localhost identified by 'pwd@123';

mysql>quit

[root@server cacti]#mysql -u cactiuser -p cactidb < cacti.sql    //导入预设库

f.调整Cacti的配置文件使cacti系统能够正确访问并使用数据库

cacti的配置文件:/var/www/html/cacti/include/config.php

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

<?php

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

$database_default = "cactidb";               //数据库名称

$database_hostname = "localhost";            //数据库的服务器地址

$database_username = "cactiuser";            //授权用户

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

$database_port = "3306";                     //数据库服务端口

$config['url_path'] = "/";    

?>

最后的行用来指定cacti源码目录相对于网站根目录的部署路径,如果cacti源码目录直接作为网站根目录,则此行内容可以省略,否则应设为实际部署路径。

为了在监测图像中正确显示中文,可以修改functions.php文件。

[root@server cacti]#vim lib/functions.php

setlocale(LC_CTYPE,"zh_CN.UTF-8");            //添加一行

g.Cacti初始化安装

(1)调整httpd配置

[root@server ~]#vim /etc/httpd/conf/httpd.conf

Listen 80

DocumentRoot "/var/www/html/cacti"    //cacti源码目录作为网站根目录

<Directory "/var/www/html/cacti">     //设置目录访问权限

   Options None

   AllowOverride None

   Order allow,deny

   Allow from all

</Directory>

DirectoryIndex index.php index.html    //第一默认首页为php

AddDefaultCharset utf-8                //默认字符集为utf-8

... ...

[root@server ~]#service httpd reload

(2)初始化cacti系统

http://server/

在初始化过程中,程序调用设置是比较重要的环节。如果已安装的支持程序(如php,rrdtool,snmpwalk等)不在默认的搜索范围中,则需要手动设置实际路径。

客户机配置(被控端--snmpd)

1.linux被控主机的设置

[root@server ~]#yum -y install net-snmp lm_sensors

[root@server ~]#vim /etc/snmpd/snmpd.conf

com2sec notConfigUser IP public

access notConfigGroup "" any noauth exact all none none

view all    include .1                    80

第41行:IP对应cacti服务器的地址(默认是default),表示允许其查询本机数据;public表示SNMP共同体名称,用来识别及验证。

第62行:all表示开放所有SNMP查询权限(默认是SystemView)。

第85行:去掉开头的#,以便支持各种查询访问

[root@server ~]#service snmpd start

[root@server ~]#netstat anpu | grep snmpd

udp    161

2.windows被控主机

添加“SNMP服务”,安装完成以后,通过“服务器管理器”修改“SNMP Service”服务的安全属性,指定授权地址,共同体名称,并确认此服务的状态为“已启动”。



定期采集监测数据(cacti服务器)

[root@server ~]#su - runct                            //切换为数据采集账号

[runct@server ~]$php /var/www/html/cacti/poller.php   //执行首次数据采集

[runct@server ~]$crontab -e

*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &> /dev/null

[runct@server ~]$exit

[root@server ~]#service crond start


添加Monitor,Thold插件(cacti服务器)

Monitor插件用来直观的显示各主机的运行状态,状态异常时还能够发出声音警报。

Thold插件可以对被监测的项目设置阈值,当达到阈值时及时发送告警邮件。

[root@server ~]#cd /var/www/html/cacti/plugins/

[root@server plugins]#tar zxf ~/monitor-0.8.2.tar.gz

[root@server plugins]#tar zxf ~/settings-0.5.tar.gz

[root@server plugins]#tar zxf ~/thold-0.4.3.tar.gz

[root@server plugins]#mysql -u cactiuser -p cactidb < monitor/monitor.sql

[root@server plugins]#mysql -u cactiuser -p cactidb < thold/thold.sql

你可能感兴趣的:(linux,cacti,RHEL5.5,林琳)