CentOS+Cacti+plugin安装配置

转自:http://blog.csdn.net/jimyjimang/article/details/7207448   感谢Jimy


一、准备工作

环境:Centos 5.4 x86_64
所需软件:

http
Php
Php-mysql
Php-snmp
Mysql
Perl-DBD-MySQL
Php-pdo
rrdtool
Net-snmp
Net-snmp-libs
Net-snmp-utils

#下载相关软件

[plain]  view plain copy
  1. cd /usr/local/src/  
  2. wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz  

二、环境介绍
主监控机是Centos 5.4 x86_64
主监控机IP=10.0.0.52

三、安装配置
(1)在主监控机上安装apache+php+gd的web环境,推荐编译安装,不再赘述,本处方便起见用yum装了

[plain]  view plain copy
  1. yum install php php-mysql php-snmp mysql mysql-server net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL  

(2)在主监控机上安装rrdtool,rrdtool依赖的包过多,所以选择增加源,然后用yum安装
#增加源

[plain]  view plain copy
  1. vi /etc/yum.repos.d/CentOS-Base.repo  

#在文件末尾增加以下部分

[plain]  view plain copy
  1. [dag]  
  2. name=Dag RPM Repository for Red Hat Enterprise Linux  
  3. baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag  
  4. gpgcheck=1  
  5. gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt  
  6. enabled=1  
  7. yum install rrdtool  

(3)配置snmp

[plain]  view plain copy
  1. vi /etc/snmp/snmp.conf  
#将下边这行中的default

[plain]  view plain copy
  1. com2secnotConfigUser default public  

#改为127.0.0.1

[plain]  view plain copy
  1. com2secnotConfigUser 127.0.0.1 public  
#将下边这行中的systemview
[plain]  view plain copy
  1. access notConfigGroup "" any noauth exact systemview none none  

#改为all

[plain]  view plain copy
  1. access notConfigGroup "" any noauth exact all none none  

#将下边这行的注释“#”号去掉

[plain]  view plain copy
  1. #view all included .1 80  

#重启snmpd服务

[plain]  view plain copy
  1. service snmpd restart  

(4)安装cacti
#把解压后的包移动到你的相应的web目录

[plain]  view plain copy
  1. tar xvf cacti-0.8.7e.tar.gz  
  2. mv cacti-0.8.7e /var/www/html/cacti  

(5)在数据库中建库、授权、导入数据库结构
#注意导入cacti.sql时该文件的路径

[plain]  view plain copy
  1. mysql -p  
  2. mysql> create database cacti;  
  3. mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;  
  4. mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option;  
  5. mysql> use cacti;  
  6. mysql> source /var/www/html/cacti/cacti.sql;  


mysql -p

mysql> create database cacti;
mysql> grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option;
mysql> grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option;
mysql> use cacti;
mysql> source /var/www/html/cacti/cacti.sql;

#配置cacti以连接数据库

[plain]  view plain copy
  1. vi /var/www/html/cacti/include/config.php  

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

(6)浏览器下配置
#用浏览器打开 http://10.0.0.52/cacti ,会显示 cacti的安装指南,设置好就不会再出现了。
#点击 “Next”
#选择“New Install”,点击“Next”
#指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装。
#Cacti 默认的用户名与密码是 admin,输入用户名与密码,点击 login
#为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,点击 save ,进入 cacti 控制台界面:
#点击 graphs ,查看cacti 监控本机的图表:

(7)增加入一个计划任务,使得 cacti 每五分钟生成一个监控图表。

[plain]  view plain copy
  1. //添加cacti用户  
  2. # useradd cacti  
  3. # passwd cacti  
  4. //将rra目录的所有权给cacti用户  
  5. # chown –R cacti /usr/loca/apache/htdocs/cacti/rra  
  6. //修改cacti目录所属组  
  7. # chgrp –R cacti/usr/loca/apache/htdocs/cacti  
  8. //为cacti用户添加cron任务  
  9. # su – cacti  
  10. # crontab –e  
  11. */5 * * * * php /var/www/html/cacti/poller.php > /dev/null2>&1  
#确保 /var/www/html/cacti/rra/目录存在

#如果暂时未看到图表,可以手工执行,生成图表

[plain]  view plain copy
  1. #php /var/www/html/cacti/poller.php > /dev/null2>&1  

(8)使用 Cacti 监控 Linux 主机
#在被监控的linux主机上安装net-snmp

[plain]  view plain copy
  1. yum install net-snmp  
  2. vi /etc/snmp/snmpd.conf  

#更改以下部分

#将下边这行中的default

[plain]  view plain copy
  1. com2secnotConfigUser default public  

#改为10.0.0.52(cacti)服务器的地址)

[plain]  view plain copy
  1. com2secnotConfigUser 10.0.0.52 public  

#将下边这行中的systemview

[plain]  view plain copy
  1. access notConfigGroup "" any noauth exact systemview none none  

#改为all

[plain]  view plain copy
  1. access notConfigGroup "" any noauth exact all none none  

#将下边这行的注释“#”号去掉

[html]  view plain copy
  1. #view all included .1 80  
[plain]  view plain copy
  1. service snmpd restart  

(9)如果出现问题请注意一下snmp协议的版本,都用version 1是一种解决方法
如果都用version 1,需要把所有监控机和被监控机的snmpd.conf改一下
#vi /etc/snmp/snmpd.conf
#将下边这行

[plain]  view plain copy
  1. view systemview included .1.3.6.1.2.1.1  

#改为

[plain]  view plain copy
  1. view systemview included .1.3.6.1.2.1  

Cacti的插件安装及简单使用


  cacti本身能做的东西就是统计流量并以很漂亮的界面显示出来。让人欣喜的是,cacti也可以安装插件,通过插件,cacti的功能被进一步强大:可以监控服务器状态;发送邮件通知;短信通知等;还可以msn通知哟~
      1.安装cacti的PA
      为了让cacti能够使用插件,必须先给cacti安装一个补丁->Plugin Architecture。由于对应不同的cacti的版本,都会有相应的PA。所以在安装PA的时候,一定要选择正确的版本哟。在 cactiusers.org你会找到不同的插件,当然也可以找到PA啦。因为咱们之前安装的cacti的版本是0.8.7e所以咱们就使用cacti-plugin-0.8.7e-PA-v2.6.zip。
     
[plain]  view plain copy
  1. cd /usr/share/cacti  
  2. wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip  
  3. unzip cacti-plugin-0.8.7e-PA-v2.6.zip   
      会得到cacti-plugin-arch目录。这里面有cacti-plugin-0.8.7e-PA-v2.6.diff和pa.sql。这两个文件是我们最需要的。
      导入数据库文件
[plain]  view plain copy
  1. mysql -uroot cacti <cacti-plugin-arch/pa.sql  
      给cacti打补丁
    
[plain]  view plain copy
  1. rsync -avz ../cacti-plugin-arch/files-0.8.7e/* .  
      在打完补丁以后笔者出现了图片按钮不能正确显示的情况,仔细一看发现是图片路径不对,研究了半天才知道,需要修改一下global.php
     
[plain]  view plain copy
  1. vi include/global.php  
     
[plain]  view plain copy
  1. $config['url_path'] = '/cacti/';  
      进入"Console"->"User Management"->"admin"->Realm Permissions把Plugin Management打勾:
      你会发现在"configuration"下的"settings"下面是不是多了个"Plugin Management"点击一下会列出已经安装的插件:
      2.安装settings,thold,monitor插件
      settings给不同的插件提供一些共用的信息,如邮件信息,dns信息。
      monitor通过简单明了的图标提供服务器的运行状态
      thold提供设备异常预警。
      相应的下载地址去 cactiuser上面找,也可以直接使用下面的链接
     
[plain]  view plain copy
  1. cd plugins  
  2. wget http://cactiusers.org/downloads/settings.tar.gz  
  3. wget http://cactiusers.org/downloads/monitor.tar.gz  
  4. wget http://cactiusers.org/downloads/thold.tar.gz  
  5. for i in *.gz;do tar zxf $i;done  


      2.启用插件
     
[plain]  view plain copy
  1. vi ../include/global.php  
      在$plugins = array();的下面加上如下内容
[php]  view plain copy
  1. $plugins[] = 'settings';  
  2. $plugins[] = 'monitor';  
  3. $plugins[] = 'thold';  
      保存以后,再点击"Plugin Management"就列出了已经安装的插件:
      导入monitor和thold的数据库
     
[plain]  view plain copy
  1. mysql -uroot cacti <monitor/monitor.sql   
  2. mysql -uroot cacti <thold/thold.sql  


      3.使用插件
      咱们就按照从左到右从上到下的顺序来看这三个插件吧
      Monitor:
      进入"Console"->"User Management"->"admin"->Realm Permissions把View Monitoring 打勾:
      保存以后是不是发现多了一个"monitor":
      但是当点击"monitor"的时候发现会有一句错误
      Warning: Invalid argument supplied for foreach() in /usr/share/cacti/site/plugins/monitor/monitor.php on line 199
仔细看一下这个文件,发现一条有用的信息:AND thold_enabled = "on",是不是因为咱们现在还没启用thold呢?那咱们就先启用thold:
      点击"Plugin Management":
      先点"Install"再点"Enable"当你看到:
      graphs和monitor中间多了一个thold的时候,就成功启用thold了。现在再点击"monitor"也不报错了。
      配置monintor的话,找到"Console"->"Settings"->"Misc":
这里不想法每项是干啥的了,因为你总要有一个熟悉的过程嘛。
想添加被监视的设置话,在新建立设备的时候,会有个"Monitor Host",把它勾上,已经添加过的设备也可以在这启用。
      Settings:
      Settings作为为插件提供信息的插件,地位不可小视。找到"Console"->"Settings"->"Mail/DNS",正确设置"SMTP Options"和"DNS Options"以保证邮件可以正常发现:
      这里笔者要说的就是建议mail servers选择smtp,并正确设置smtp和dns信息。因为无论选择phpmail还是sendmail都要使用sendmail这程序,都要装一个邮件系统。没有必要吧,多一个程序多一个风险。设置完了可以点一下右上角的"Send a Test Email"以确定配置正确:)
      
      配置完了邮件通知。我们就需要出现问题的时候有通知了。那就有请thold出场了。找到"Console"->"Settings"->"Alerting/Thold",在"Default Alerting Options"里,启用"Dead Hosts Notificatios"并正确填写警告的邮件地址:
      邮件的内容呢?在添加设置的时候有个"Down Host Message"就是它了:

只要你的监控系统安装了sendmail就 能上网就可以发邮件的了。
顺便简单说一下sendmail的安装吧:

[plain]  view plain copy
  1. # yum install sendmail* m4 procmail sendmail-cf  dovecot -y  
  2.   
  3. # vim /etc/mail/sendmail.mc  
[plain]  view plain copy
  1. DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl  
修改为
[plain]  view plain copy
  1. DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl  
[plain]  view plain copy
  1. # m4 sendmail.mc > sendmail.cf  
测试:echo "hello"|mail -s "test1"  zqhjc@yeah.net

好了,当你停掉服务器,邮件就会发到你邮箱了。


实现其他参数超过一定数值报警:
例子:监控“/”如果大于5G就报警
点左边菜单Management---Thresholds 然以按 add 出现一个选择框
host 选择你要监控的机器
graph 选择XXX-spase  (这个我刚开始选的是HIM-SPASE后面就找不到了)
data source : hdd_used
按create


点击放大

 
 


High Threshold  输入5000000   (k为单位)
后面写上email
如图(点击放大)
 

 

 

保存退出。再次点Management---Thresholds 
 

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值