运维监控
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
|