Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2295895
  • 博文数量: 168
  • 博客积分: 6641
  • 博客等级: 准将
  • 技术积分: 1996
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-02 11:49
文章存档

2020年(4)

2019年(6)

2017年(1)

2016年(3)

2015年(3)

2014年(8)

2013年(2)

2012年(12)

2011年(19)

2010年(10)

2009年(3)

2008年(17)

2007年(80)

分类: LINUX

2008-05-19 17:44:43

在RHEL5中搭建CACTI监控系统
 
2008-05-19 TsengYia#126.com 一路狂笑
 
################################################################
系统环境:RHEL5 [ 2.6.18-8.el5xen ]

软件环境:
  RPM包(使用RHEL5光盘自带软件)
    gd-2.0.33-9.3.fc6
    zlib-1.2.3-3
    lm_sensor-2.10.0-3.1
    net-snmp-5.3.1-14.el5
    net-snmp-utils-5.3.1-14.el5
  源码包及补丁:
    httpd-2.2.8.tar.bz2
    mysql-5.0.22.tar.gz
    php-5.2.6.tar.bz2
   
    rrdtool-1.2.27.tar.gz
    cacti-0.8.7b.tar.gz
    upgrade_from_086k_fix.patch
    snmp_auth_none_notice.patch
    reset_each_patch.patch
 
软件下载地址:
   
   
   
   
   
   
   
   
   
 
参考文档:
   
 
目标功能:
    搭建CACTI监控服务器,基于SNMP协议对网络设备、Linux服务器等进行流量、性能监控。
##########################################################################
一、配置被监控Linux服务器
    1、安装lm_sensor、net-snmp(从RHEL5光盘自带RPM包安装,过程略)
    2、简单配置SNMP服务
        shell> vi /etc/snmp/snmpd.conf    # 查找修改以下行,分别在第41、
          com2sec notconfigUser default public    # default可以修改为监控服务器的IP地址,public可以修改为授权snmp查询的口令字

          access notConfigGroup "" any noauth exact all none none    # all也可以只设置为read权限
          view all included .1 80    # 去掉开头的#号
    3、调整及启动SNMP服务
        shell> chkconfig --level 35 snmpd on
        shell> service snmpd start
    4、调整防火墙设置(放行CACTI服务器对本机进行SNMP查询的数据)
        shell> iptables -I INPUT -s $CACTI_SERVER_IP -p udp --dport 161 -j ACCEPT

二、配置CACTI监控服务端
    1、安装支持软件
        1) 安装gd、zlib等软件包(使用RHEL5系统自带或从光盘安装,过程略)
        2) 安装lm_sensor、net-snmp、net-snmp-utils(从RHEL5光盘自带RPM包安装),以获得snmpwalk、snmpget等工具命令
        3) 安装rrdtool数据库工具(绘图引擎)
            shell> tar zxvf rrdtool-1.2.27.tar.gz
            shell> cd rrdtool-1.2.27
            shell> ./configure --prefix=/opt/rrdtool
            shell> make && make install
            shell> ln -s /opt/rrdtool/bin/rrdtool /usr/bin
    2、安装Apache、MySQL、PHP套件(主要注意PHP的配置,若已安装完整套件,此步骤可省略;或卸载原有软件后重新安装)
        1) 安装MySQL
            shell> groupadd mysql
            shell> useradd -g mysql -s /sbin/nologin mysql
            shell> tar zxvf mysql-5.0.22.tar.gz
            shell> cd mysql-5.0.22
            shell> ./configure --prefix=/opt/mysql
            shell> make && make install
            shell> cp support-files/my-medium.cnf /etc/my.cnf
            shell> cp support-files/mysql.server /etc/init.d/mysqld
            shell> chmod +x /etc/init.d/mysqld
            shell> chkconfig --add mysqld
            shell> cd /opt/mysql
            shell> bin/mysql_install_db --user=mysql
            shell> chown -R root.mysql ./
            shell> chown -R mysql var
            shell> ln -s /opt/mysql/bin/mysql /usr/bin/
        2) 安装Apache
            shell> tar jxvf httpd-2.2.8.tar.bz2
            shell> cd httpd-2.2.8
            shell> ./configure --prefix=/opt/httpd --enable-so
            shell> make && make install
            shell> cd /opt/httpd
            shell> cp -p bin/apachectl /etc/init.d/httpd
        3) 安装PHP
            shell> tar jxvf php-5.2.6.tar.bz2
            shell> cd php-5.2.6
            shell> ./configure --prefix=/opt/php --with-apxs2=/opt/httpd/bin/apxs --with-mysql=/opt/mysql --with-gd --with-
zlib --enable-sockets    # 若缺少gd、zlib等支持,可能会导致CACTI的安装页面无法显示(空白)。
            shell> make && make install
            shell> cp php.ini-dist /opt/php/php.ini
        4) 调整启动MySQL、Apache
            shell> chkconfig --level 35 mysqld on
            shell> service mysqld start
            shell> vi /opt/httpd/conf/httpd.conf    # 简单配置httpd.conf文件,及增加php支持
              ServerName     # 主机名更改为该服务器的FQDN名称
              DocumentRoot "/var/www/cacti"
             
                  Options None
                  AllowOverride None
                  Order allow,deny
                  Allow from all
             

              DirectoryIndex index.php index.html
              AddType application/x-httpd-php .php
              AddType image/x-icon .ico
            shell> echo '/etc/init.d/httpd start' >> /etc/rc.local
            shell> service httpd start
            shell> echo -e "" > /var/www/test.php
              ——在浏览器访问可以测试网站及php是否正常。
    3、安装配置CACTI套件
        1) 安装源文件
            shell> groupadd cactiuser
            shell> useradd -g cactiuser cactiuser
            shell> tar zxvf cacti-0.8.7b.tar.gz -C /var/www/
            shell> cd /var/www/
            shell> mv cacti-0.8.7b cacti
            shell> cd cacti
            shell> cp *.patch ./
            shell> patch -p1 -N < upgrade_from_086k_fix.patch
            shell> patch -p1 -N < snmp_auth_none_notice.patch
            shell> patch -p1 -N < reset_each_patch.patch
            shell> chown -R cactiuser.cactiuser rra log
        2) 数据库处理
            shell> /opt/mysql/bin/mysql -u root -p
                mysql> update mysql.user set password=password('secret') where user='root';    # 为安全起见,更改一下root密码
                mysql> create database cactidb;
                mysql> grant all on cactidb.* to identified by 'pwd123';    # 设置数据库操作用户/密码
                mysql> flush privileges;
            shell> cd /var/www/cacti
            shell> /opt/mysql/bin/mysql -u root -p cactidb < cacti.sql    # 导入数据库文件
            shell> vi /var/www/cacti/include/config.php    # 调整数据库配置,注意与前述设置保持一致
              $database_type = "mysql";
              $database_default = "cactidb";
              $database_hostname = "localhost"
              $database_username = "cactiuser"
              $database_password = "pwd123"
              $database_port = "3306"
        3) 添加定期采集数据任务
            shell> su - cactiuser    # 切换为cactiuser用户身份再编辑crontab任务
            shell> crontab -e
              */5 * * * * /opt/php/bin/php /var/www/cacti/poller.php > /dev/null 2> &1
            shell> /opt/php/bin/php /var/www/cacti/poller.php    # 手动执行一次进行初始化
            shell> exit
            shell> chkconfig --levele 35 crond on
            shell> service crond start

三、使用CACTI监控系统
    1、设置CACTI
        Step 1:使用浏览器访问,通过页面登录(默认用户名、密码均为admin)并按提示更改管理密码;
        Step 2:按提示执行install任务,期间注意确认设置rrdtool、php、snmpwalk、snmpget等命令的执行路径;
            ——初次使用时需要执行以上两步骤。
        Step 3:添加被监控的设备、服务器
            通过console标签页的Create devices链接进入设备管理界面,点击Add链接添加设备,一般注意以下几点:
                1)、Description栏填写对应的设备说明;
                2)、Hostname栏一般可填写被监控设备、服务器的IP地址;
                3)、如果被监控的是Linux服务器,Host Template栏可选择"ucd/net SNMP Host",其他设备根据实际情况选择;
                4)、Ping Method栏选择ICMP Ping即可
                5)、SNMP Version一般可简单选择Version 1,对应的SNMP Community栏填写授权查询的口令(如public);
                6)、确认后点击右下角的Create链接添加设备。
        Step 4:为刚增加的被监控设备添加需要图形监控的项目
            通过下方的Associated Graph Templates、Associated Data Queries栏下的Add链接添加,根据实际需要而定(完成后点右下角的Save保存配置),如:
                Associated Gpaph Templates
                    1)、Linux - Memory Usage
                    2)、ucd/net - CPU Usage
                    3)、ucd/net - Load Average
                    4)、Unix - Processes
                Associated Data Queries:
                    1) SNMP - Interface Statistics
                    2) Unix - Get Mounted Partitions
               
        Step 5:为被监控设备绘制初始化图形
            通过Console标签栏的Create graphs链接进入绘制图形,过程略。
        Step 6:将需要监控的设备图片项添加至监控树
            通过Console标签栏的Graph Trees链接进入管理监控树结构,可增加主机的图形模板项、数据查询项等,过程略。
        Step 7:查看各设备、服务器的图形化监控显示结果
            通过graphs标签栏下监控树结构,查看对应设备、服务器的图形化监控结果,略。
##################################### End #####################################

常见问题
—— From Internet
 
1. 对于Traffic 大于800Mbits/s的无法显示问题,在创建graph前修改 Data Templates -> Interface Traffic -> 1: traffic_in ->
Maximum Value Use Per-Data Source Value 默认是100000000 后面再添 几个0就OK了,同样 2: traffic_out也要修改哦,最好在使用new
graph创建新的graph之前修改后,否则之后修改会有一定的麻烦,甚至无法正常工作。

2.一般说来,图片的流量统计描述都是 |host_description| - Traffic - |query_ifName| 按照这个形式来描述的,对于华为的设备,Gi显示
成GigabitEthernet,可能导致后面的模块号,端口好无法显示。如 GigabitEthernet4/3/2显示成GigabitEthernet,解决办法:
Console -> Settings -> Visual -> Maximum Field Length: 默认 15,我修改成30就OK了。
The maximum number of characters to display for a data query field.
阅读(2642) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~