linux下构建Cacti流量与性能监测系统推荐

本文主要介绍说明用于支持Cacti 运作的PHP+RRDtool 环境的详细配置方法。使其能集中式监控多台,不同平台类型的服务器。

以及支持SNMP 网络设备运作状态。

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构 、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。

虽然MRTG 是一套非常好用的软件但是它毕竟是一套很旧的软件了,其作者在多年前已经开发出RRDTool 代替该软件,现在已经发展的很成熟了,但由于RRDTool 的指令非常复杂,对于使用者非常的麻烦,幸运的是有一套软件Cacti 的发展就是基于RRDTool 使用者更方便使用该软件,除了基本的Snmp 流量跟系统资讯监控外,Cacti 也可外挂Scripts 及加上Templates 来作出各式各样的监控图

Cacit 运行环境需要PHP + Mysql + rrdtool 以及snmp 工具的支持。

下边是本次配置需要用到的软件。

cacti-0.8.7e-cn-utf8.tar.gz (中文版)rrdtool-1.2.27.tarnet-snmp-5.5.tar.gzcacti-cactid-0.8.6k.tar.gzcacti-spine-0.8.7e.tar.gz

一、安装LAMP或者LNMP

LNMP环境的搭建请参考《Nginx+PHP(php-fpm-0.6)构建高性能的WEB服务器》一文,

http://blog.yahunet.com/post-64.html

LAMP环境搭建请参考《Linux+Apache+MySQL+PHP搭建高性能的web服务器》一文,

http://blog.yahunet.com/post-10.html

二、编译安装rrdtool及安装配置snmp

1、编译安装rrdtools

需要先安装如下几个rpm包:

cairo-devel libxml2-devel pango-devel pango libpng-devel freetype freetype-devel libart_lgpl-devel

# tar zxvf rrdtool-1.2.27.tar.gz# cd rrdtool-1.2.27# ./configure --prefix=/usr/local/rrdtool# make make install

2、安装SNMP

# tar -zxvf net-snmp-5.5.tar.gz# cd net-snmp-5.5# ./configure --prefix=/usr/local/snmp --enable-developer

然后一直回车

# make # make install # ln -s /usr/local/snmp/bin/* /usr/local/bin/

3、设置安全的验证方式

配置v2c版本的SNMP代理,我们来创建snmpd的配置文件,默认情况下它是不存在的,我们来创建它,如下:

# vi /usr/local/snmp/share/snmp/snmpd.conf

然后我们需要创建一个只读帐号,也就是read-only community,在snmpd.conf中添加以下内容:

rocommunity cacti 127.0.0.1

注意,这里的 rocommunity 表示这是一个只读的访问权限,紧接着的 cacti 相当于密码,你可以设置其它字符串作为密码。

最右边为指定的监控点IP,这意味着只有本机有权限来访问你的SNMP代理程序。

经过配置后,现在可以启动snmpd,如下:

# /usr/local/snmp/sbin/snmpd

如果要关闭,则可以直接kill这个进程,如下:

# killall -9 snmpd

加入到开机自启动

#echo /usr/local/snmp/sbin/snmpd /etc/rc.d/rc.local

三、安装cacti和Cactid

1、安装cacti

# tar -zxvf cacti-0.8.7e-cn-utf8.tar.gz# mv cacti-0.8.7e-cn-utf8 /var/www/cacti

在Mysql中创建新的database,导入cacti目录中的cacti.sq创建表:

# /usr/local/www/mysql/bin/mysql -uroot -p123456mysql create database cacti;mysql use cacti;mysql source /var/www/cacti/cacti.sql;

# vi /var/www/cacti/include/config.php

$database_type = mysql $database_default = cacti $database_hostname = localhost $database_username = root $database_password = 123456 

添加cacti用户,将rra目录的所有权给cacti用户

# useradd cacti# chown -R cacti.cacti /var/www/cacti/rra

为cacti用户添加cron任务

# su cacti# crontab e*/5 * * * * /usr/local/www/php/bin/php /var/www/cacti/poller.php /dev/null2 1

注意:首次执行poller.php时请使用cacti用户,否则生成的rrd文件cacti将没有写入权限。

2、安装Cactid

CACTID 的安装需要以下支持:

net-snmp-devel(需要编译安装net-snmp时添加--enable-developer选项)mysql mysql-devel (mysql源文件编译安装后默认支持)openssl-devel (Redhat默认安装)
# tar -zxvf cacti-cactid-0.8.6k.tar.gz# cd cacti-cactid-0.8.6k# ./configure --with-mysql=/usr/local/www/mysql --with-snmp=/usr/local/snmp# make make install

# vi /usr/local/cactid/etc/cactid.conf //修改cactid配置文件

DB_Host 127.0.0.1DB_Database cactiDB_User rootDB_Pass 123456

3、完成cacti的安装

1)在浏览器中输入:http://ip/cacti/

根据提示创建

默认用户名:admin 密码:admin

2)更改密码

3)设置cacti用到的命令路径

点击左侧的 设置 ,

右侧选择 常规

RRDTool应用程序版本 :RRDTool 1.2.*

然后右侧选择 路径 ,设置正确下面会出现[OK: FILE FOUND]

需要更改的:

RRDTool路径:/usr/local/rrdtool/bin/rrdtoolPHP路径:/usr/local/www/php/bin/phpRRDTool默认字体路径 :/usr/share/fonts/chinese/TrueType/ukai.ttf

四、安装cacti-spine cacti

默认使用cmd.php方式采集数据,使用spine 比使用cmd.php 效率会高,所以这里安装一下spine

# tar -zxvf cacti-spine-0.8.7e.tar.gz# cd cacti-spine-0.8.7e# ./configure --with-mysql=/usr/local/www/mysql/# make make install

更改cacti和spine 连接数据库密码

# vi /usr/local/spine/etc/spine.conf

DB_Host localhostDB_Database cactiDB_User rootDB_Pass 123456

修改cacti的采集方式

点击左侧的 设置 ,然后右侧选择 路径

Spine轮询器路径: /usr/local/spine/bin/spine

然后选择右侧的 轮询器

轮询器类型 spine

五、监控本机

点击左侧的 设备 ,选择右侧的 本机

需要更改:

SNMP 版本 :Version 2

SNMP 连接字串 :cacti

其他的都不修改,过一会就可以通过 查看图像 选项查看抓取到的图像了

到此,监控平台已经搭建完成

如需转载请注明:转载自:风往北吹的IT博客[http://blog.yahunet.com/]本文链接地址:http://blog.yahunet.com/post-81.html

梦想,并不奢侈,只要勇敢地迈出第一步。

linux下构建Cacti流量与性能监测系统推荐

相关文章:

你感兴趣的文章:

标签云: