给服务器机群安装cacti监控是上个月的事情了,今天为了打发无聊的时间,将上个月的一些东西整理一下。
由于自己习惯于debian系,但是项目平台确采用了RHEL5,主要是考虑到多家单位共同使用,其他单位都是fedora教的,就选了RHEL5。
整篇文章分成三块:安装配置yum、安装配置snmp和安装配置cacti三部分。
安装配置yum
基本上可以按照参考1中的顺序进行配置Yum,使用centos的源。基本思路与debian系差不多,设置sourcelist,导入key。
这里就不详细叙述了。
安装配置snmp
配置好了yum之后,就可以尽情的享受yum安装软件带来的快感;-)
安装snmp相关的软件包:
yum install net-snmp net-snmp-utils net-snmp-devel -y |
配置snmp
关于snmp的配置,其实主要是设置不同snmp版本协议中,相应的访问权限。
打开默认的/etc/snmp/snmpd.conf文件,更改如下配置:
1、查找以下字段:
# sec.name source community
com2sec notConfigUser default public
将"comunity"字段改为你要设置的密码.比如"public".
将“default”改为你想哪台机器可以看到你的snmp信息,如192.168.1.254。
2、查找以下字段:
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact all none none
将"read"字段改为all.
#access notConfigGroup "" any noauth exact systemview none none
3、查找以下字段:
## incl/excl subtree mask
#view all included .1 80
将该行前面的"#"去掉.
对于安全性设置,可以创建一个只读帐号,也就是read-only community,在snmpd.conf中添加以下内容:
rocommunity public 192.168.1.254
其中中间的字段相当于password,通常习惯设置为public。
在监控机192.168.1.254上测试一下:
snmpwalk -v 1 -c public 192.168.1.13 system |
注意:可以关于版本,这里可以设置1和2c,对于3的设置可以参考6中监控宝的wiki中的设置。
安装配置cacti
snmp已经配置好了之后,就可以安装cacti了。Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,保存在rrd文件中..使用RRDtool读取rrd文件获取信息绘画图形。
1. 安装cacti
#把解压后的包移动到你的相应的web目录
tar xvf cacti-0.8.7e.tar.gz
mv cacti-0.8.7e /var/www/html/cacti
2. 在数据库中建库、授权、导入数据库结构
#注意导入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以连接数据库
vim /var/www/html/cacti/include/config.php
3. 浏览器下配置
#用浏览器打开 ,会显示 cacti的安装指南,设置好就不会再出现了。
#点击 “Next”
#选择“New Install”,点击“Next”
#指定 rrdtool、 php、 snmp 工具的 Binary 文件路径,确保所有的路径都是显示“ FOUND”,没有 “NOT FOUND”的,点击 Finish 完成安装。
注意:Cacti 默认的用户名与密码是 admin,输入用户名与密码,点击 login
为了安全的原因,第一次登录成功后,cacti 会强制要求你更改一个新的 password ,输入新密码并确认密码,点击 save ,进入 cacti 控制台界面:
4. 增加入一个计划任务,使得 cacti 每五分钟生成一个监控图表。
crontab -e
#加入如下内容。注意poller.php的路径
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
#确保 /var/www/html/cacti/rra/目录存在
#如果暂时未看到图表,可以手工执行,生成图表
#php /var/www/html/cacti/poller.php > /dev/null 2>&1
关于cacti的一些使用方面的问题可以参考:
cacti超时,在采集netstat信息的时候:
Cacti 流量图显示断断续续解决方案
Cacti 常用调试方法
后记:对于监控软件,我认为cacti未必是最优秀的,因为有些功能它实现起来比较吃力。我曾经想统计每台机器上TCP连接数,找到了几个template,但是很遗憾,它们都是通过snmp拿到所有的连接信息,然后拉到本地去统计处理。当连接数比较多的时候,像我们的应用中平时就有几万的连接,经常超时。如果能够在被监控机器上先统计出单机的连接信息,再汇总到监控机上,这样就可以节省带宽了。
还存在一类监控系统,不基于snmp,而是自己实现了客户端和服务器,或许相应的信息只需要实现相应的插件就可以了,像munin。
其他一些知名的监控系统有:nagios、cfengine等,如果只是监控一两台机器的话,监控宝还是不错的;-)
参考
http://www.blogjava.net/Skynet/archive/2009/04/29/268105.html
http://purpen.javaeye.com/blog/380645
%E6%96%87%E6%A1%A3:%E5%AE%89%E5%85%A8%E6%8C%87%E5%BC%95#linux_snmp
阅读(2272) | 评论(2) | 转发(0) |