首页导航栏 - 网络工程 | 网站建设 | 设计在线 | 精彩图片 | 职业前线 | 创业之路 | 启步工具 | 教程资讯 | 休闲娱乐
启步网 > 网络工程 > 网络管理
基于RRDTool的监测系统Cacti简介
作者: sunhy 阅读: 来源:启步网 时间:2007-8-6 22:15:06
字体
  最近公司为了迎接新一轮IT整合,在信息方面准备增加各种安全策略,其中就包括基于RRDTool的监测系统Cacti以及SYSLOG-NG等.
  今天我们重点介绍基于RRDTool的监测系统Cacti.包括Cacti的发展由来、优缺点、安装,环境组建及一些常见设置。
  简介:
  关于Cacti,最早应该追溯到MRTG(MultiRouter Traffic Grapher),这是一款基于SNMP的典型网络流量统计分析工具。它耗用的系统资源很小,它通过SNMP协议从设备得到其流量信息,并将流量负载以包含JPEG格式图形的HTML文档的方式显示给用户,以非常直观的形式显示流量负载。但是MRTG已经太老了!满足不了大流量监控需求了,于是在不久后MRTG的作者们有开发了一款软件来代替MRTG,这款软件就是RRDTool。虽然RRDTool的功能已经日趋完善而且也不断发展成熟,但由于RRDTool复杂的指令,使其使用范围受到了局限。而我们今天要重点介绍的Cacti就是基于RRDTool核心,使用更简单,界面更直观。
  下面介绍一下这三个工具各自的优缺点:
  MRTG:
 
  优点:简单、易上手,基本安装完了之后只要更改一下配置文件即可。
  缺点:
  1、使用文本式的数据库,数据不能重复使用;  
  2、只能按日、周、月、年来查看数据;  
  3、只能画两个DS(一条线、一个块);
  4、无管理功能;
  
  rrdtool:
 
  优点:  
  1、使用rrd存储格式,数据能重复使用,比如我可以将一个rrd文件中的数据与另一个rrd文件中的数据相加。
  2、可以定义任意时间段画图,即你可以画出一张半年以来的数据的图,也可以画出一张半小时以来的图。
  3、能画任意个DS。
  4、CDEF让你能任意摆弄数据。
  缺点:
  1、rrdtool的作用只是存储数据和画图,它没有mrtg中集成的数据采集功能;
  2、在命令行的使用非常复杂,参数极多;
  3、无管理功能。
  
  简单的说,rrdtool就是一个强大的绘图的引擎。
  cacti其实是一套php程序,它运用snmpget采集数据,使用rrdtool绘图。它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻易的绘出漂亮的图形。更难能可贵的是,它提供了强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。
  用户的管理上,作为一个开源软件,它居然做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证!Cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script!可以说,cacti将rrdtool的所有“缺点”都补足了!

  安装环境及需求:
  1.系统:Linux或FreeBSD,如果是RedHat AS4的话net-snmp和rrdtool这两个工具默认是安装好了的(本文以AS4为例)。
  2.软件包需求:cacti-0.8.6j,mysql-5.0.20,php-5.2.0,apache2.0.58(以上均为源码包).

  1. 安装apache2.0.58
  解压软件包,进入安装目录,我的编译过程如下:
# ./configure --prefix=/usr/local/apache2 --enable-modules=so
# make;make install
  编译选项比较简单
--prefix=你需要把apache安装的位置
--enable-modules=so意思是可以动态加载apache所需要的.so 的模块
  安装完成后,编辑apache的配置文件,使之能正常使用:
# vi /usr/local/apache2/conf/httpd.conf
  找到下面这行:
#ServerName www.example.com:80
  改为:
ServerName yourIP:80
  启动apache:
#/usr/local/apache2/bin/apachectl start
  在浏览器里输入你的IP或者localhost测试一下,是否能看到apache的测试页,成功的话,说明安装成功
 
  2.安装mysql-5.0.20
  解压软件包,进入安装目录,我的编译过程如下:
# ./configure --prefix=/usr/local/mysql
# make;make install
# cp support-files/my-medium.cnf /etc/my.cnf (这一步是将配置文件拷贝到/etc下面)
  编译选项当中指定安装路径就可以了
  配置mysql过程:
#groupadd mysql
#useradd -g mysql mysql
#cd /usr/local/mysql
#./bin/mysql_install_db --user=mysql
#chown -R root .
#chown -R mysql var
#chogrp -R mysql .
  启动mysql
#./bin/mysqld_safe --user=mysql &
  如果看到下面的信息,就说明启动成功了
# Starting mysqld daemon with databases from /usr/local/mysql/var
  可以测试一下,看看能不能登陆mysql数据库
# /usr/local/mysql/bin/mysqladmin -uroot password '你的密码'
  注:给初始登陆mysql的用户root设置密码,当然不设置也能登陆,推荐设置密码
# /usr/local/mysql/bin/mysql -uroot -p你的密码  (注意: -p后面不要带空格)
  如果出现下面的欢迎字样,说明连接成功:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 5.0.20a-log
mysql>
 
  3.安装php-5.2.0
  解压软件包,进入安装目录,我的编译过程如下:
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc
#make;make install
  编译选项中
--with-apxs2=/usr/local/apache2/bin/apxs 是说将PHP模块编译进apache,、
--with-mysql=/usr/local/mysql  是说指定mysql的路径
  注:其实就是告诉PHP我们的mysql的一些头文件信息,如果你的mysql和PHP不是同一台机器的话,指定mysql的头信息是编译必要的
--with-config-file-path=/usr/local/php/etc 是说将PHP的主配置文件放在什么地方,这是个人习惯
#cp php.ini-dist /usr/local/php/etc/php.ini
#vi /usr/local/php/etc/php.ini
  找到如下内容:
register_globals = Off
  改为:
register_globals = On
  为了使PHP能够配合apache使用,还需要修改apache的配置文件:
#vi /usr/local/apache2/conf/httpd.conf
  找到下面字段:
DirectoryIndex
  在iindex.html前面添加index.php
  并在配置文件最后加入如下字段:
AddHandler php5-script .php
AddType text/html .php
  测试PHP是否正常运行:
#vi /usr/local/apache2/htdocs/index.php
  写入下面一行:
<?php phpinfo() ?>
  保存退出后重新启动apache
#/usr/local/apache2/bin/apachectl restart
  这里需要注意,如果系统的selinux没有关闭的话,我们的php的模块是不能被apache正确找到的,
     所以在重起apache之前,请将selinux关闭,具体做法是:
#vi /etc/selinux/config
  找到如下字段:
SELINUX=enforcing
  改为:
SELINUX=disabled
  保存退出后需要重新启动电脑
  在浏览器里输入IP,如果能够看到phpinfo的测试页,那么PHP已经正常工作了
 
  4.安装cacti-0.8.6j
  安装前的准备:由于cacti需要net-snmp和rrdtool两个工具来配合使用,所以需要安装这两个工具,默认完全安装RedHat AS4的情况下这两的工具是都安装好的,如果没有安装这两个工具,那么建议去http://rpmfind.net去找相关的rpm包来安装,在这个网站你只要输入工具的名字,就能把rpm包匹配的系统版本的所有rpm包列出来,很方便,rpm包的安装,我这里就不赘述了。
  以下的配置是默认安装好了上述两个工具的配置
  解压cacti的软件包,进行如下操作:
#mv cacti-0.8.6j /usr/local/apache2/htdocs/cacti
#cd /usr/local/apache2/htdocs/cacti
#/usr/local/mysql/bin/mysql -uroot -p你的密码
mysql> grant all privileges on *.* to '你的用户名[email=]'@'localhost'[/email] identified by '为这用户添加的密码'
with grant option;
mysql> create database cacti;
mysql> exit
#/usr/local/mysql/bin/mysql -u用户名 -p你的密码 cacti < cacti.sql
#vi include/config.php
  修改如下段落:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cactiuser";
$database_port = "3306";
  改为:
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "用户名";
$database_password = "你的密码";
$database_port = "3306";
  修改snmp的配置文件:
#vi /etc/snmp/snmpd.conf
  修改下面几部分内容:
1.)com2sec notConfigUser  default       public
  改为:com2sec notConfigUser  localhost       public
2.)access  notConfigGroup ""      any       noauth    exact  systemview none none
  改为:access  notConfigGroup ""      any       noauth    exact  all none none
3.)#view all    included  .1                               80
  去掉注释
  保存退出
  启动snmp
#/etc/init.d/snmpd start
  修改计划任务,使CACTI每5分钟获得一次数据:
#crontab -e -u 用户名
  添加如下内容:
*/5 * * * * /usr/local/php/bin/php /usr/local/apache2/htdocs/cacti/poller.php > /dev/null 2>&1
  保存退出
#chown -R rra/ log/
  这样cacti就基本配置完成了
  在浏览器里输入IP/cacti初始进入的时候需要告诉cacti你的PHP的可执行文件的路径,其他默认就可以,默认的
  用户名和密码是admin和admin。进去后要马上修改密码,保存后就进入漂亮的cacti界面。


 

责任编辑:一路狂奔
帐号:
密码:

Google
Google提供的相关资源
参与评论(条评论)
请遵守国家法律
笔名:
邮箱:
( 以上评论仅代表网友个人意见,不代表本站观点 )
相关资源
  • Solaris网络管理:网络地址和掩码 [2007-8-6]
  • 局网络广播风暴产生的原因浅析 [2007-3-23]
  • 网络管理—如何有效的利用带宽 [2007-3-19]
  • 双网卡宽带代理服务器的设置实例 [2007-3-19]
  • 架设Win2003中WEB服务器 [2007-3-12]
  • 网络不通TTL跳数超时是谁惹的祸? [2007-3-2]
  • 架设局域网升级服务器 用WSUS打补丁 [2007-3-2]
  • 代理服务器系统实现研究 [2007-3-1]
  • 局域网中代理服务器、路由器的配置案例 [2007-3-1]
  • 代理服务器在局域网中的作用 [2007-3-1]
  •