运维监控
友情链接:http://liyaoyi.blog.51cto.com/442933/846891
Cacti
提供web界面进行管理
基于Php环境的
特色: 对数据进行绘图,图形非常漂亮
主要服务运行质量进行监控
插件是php写
基于snmp协议进行数据采集
Nagios
提供web界面进行管理
基于Php环境的
画图并没有cacti那么出色
主要对服务运行健康性进行监控
插件可以通过c,c++,perl,shell进行编写
例子:部署cacti监控平台
mysqld-server
|
squid <-------- Cacti监控平台 -------> web
|
其他的硬件(路由器、交换机、防火墙)
被监控的设备,只要支持snmp协议,通过snmp协议提交运行数据,就能被监控
apache + php + mysql + snmp相关的工具
需要画图工具: rrdtool + 相关图形库
1、搭建LAMP
为了节约时间,安装rpm包的
# yum install httpd php mysql-server php-mysql -y
# chkconfig httpd on
# chkconfig mysqld on
# service httpd start
2、安装snmp相关工具
# yum install net-snmp* -y
启动本机snmp服务: 默认cacti搭建好之后,第一个监控机器是本机。所有被监控机器都要启动类似snmp服务
# chkconfig snmpd on
# service snmpd start
3、安装各种图形库
# yum install libjpeg libpng freetype php-gd -y
根据各自的平台选择正确版本
# yum install ./rrdtool-1.2.30-1.el5.rf.x86_64.rpm ./rrdtool-perl-1.2.30-1.el5.rf.x86_64.rpm --nogpgcheck -y
4、解压cacti的代码到网站的根目录
# tar xvf cacti-0.8.7a-cn-utf8.tar.gz
# mv cacti-0.8.7a-cn-utf8/* /var/www/html/
# chown apache:apache -R /var/www/html/
5、启动数据库,并且导入基本数据
# service mysqld start
mysql> create database cacti default charset utf8;
mysql> use cacti <---
mysql> source /var/www/html/cacti.sql;
mysql> grant all on cacti.* to cacti@'localhost'
-> identified by '123';
6、修改cacti的配置文件
# vim /var/www/html/include/config.php
。。。
$database_type = "mysql";
$database_default = "cacti"; <---库的名字
$database_hostname = "localhost"; <---数据库所在机器
$database_username = "cacti"; <---连接数据库的时候用的用户名
$database_password = "123";
$database_port = "3306";
。。。
7、制定计划任务,让cacti每隔5分就去采集一次数据
# crontab -e
*/5 * * * * /usr/bin/php /var/www/html/poller.php &>/dev/null
首次运行可以手工执行一次
/usr/bin/php /var/www/html/poller.php
8、访问安装向导
http://10.1.1.20/
默认的登录帐号admin admin
9、安装中文字体库,这样才能输出中文的图片
# tar xvf ttf-arphic-ukai_0.2.20080216.1.orig.tar.gz -C /usr/share/fonts/
真正的字体文件:/usr/share/fonts/ukai.ttc
控制面板--设置--路径--RRDTool默认字体路径:/usr/share/fonts/ukai.ttc
cacti <-----snmp协议----> 被监控的机器(需要启动snmp相关的服务)
例子:监控其他机器
一、在被监控机器上安装snmp相关工具
# yum install net-snmp* -y
启动本机snmp服务: 默认cacti搭建好之后,第一个监控机器是本机。所有被监控机器都要启动类似snmp服务
# chkconfig snmpd on
修改snmp的配置文件
shell> vim /etc/snmp/snmpd.conf
#com2sec notConfigUser default public <--- default默认允许所有机器获取本机的信息
com2sec notConfigUser 10.1.1.22 public <---允许IP为10.1.1.22的监控平台,使用pulbic作为通信口令获取本机的相关运行数据
access notConfigGroup "" any noauth exact all none none
view all included .1 80
# service snmpd restart
测试本机到底是否可以通过snmp采集到什么数据
# snmpwalk -v1 localhost -c public
返回大量信息就对了
二、在cacti上添加对被监控设备的信息
安装CactiEZ-10.1.iso
配置snmp-v3 ,使用snmp-v3进行监控
http://ip/
admin:admin
系统帐号:
root:CactiEZ
配置被监控的机器,让其支持snmp-v3版本的数据采集
1、停止现有snmpd服务。
# service snmpd stop
2、添加snmp-v3需要的帐号密码
# net-snmp-create-v3-user <---rhel6 , rhel5: # net-snmp-config --create-snmpv3-user
Enter a SNMPv3 user name to create:
cacti
Enter authentication pass-phrase:
12345678 <---密码
Enter encryption pass-phrase:
[press return to reuse the authentication pass-phrase]
uplooking <---用来加密密码的密钥,不能太短
adding the following line to /var/lib/net-snmp/snmpd.conf:
createUser cacti MD5 "12345678" DES uplooking
adding the following line to /etc/snmp/snmpd.conf:
rwuser cacti
自己确定一下以上的文件是否自动添加了工具提示的信息,没有就自己添加
# service snmpd start
回到cacti监控服务器,重新使用snmp-v3协议监控机器
# snmpwalk -v3 -l auth -a MD5 -u cacti -A 12345678 172.16.2.8
如果返回大量数据就正常
全局设定:
控制面板--设置--常规:
snmp版本: 版本3
SNMP用户名(v3):cacti
SNMP密码(v3): 12345678
。。。。
其余默认
添加新的主机或者修改旧的主机,使用snmp-v3