Cacti-监控服务
一、常用监控平台
1、Cacti
流量与性能检测为主
http://www.cacti.net/
展示平台:B/S
收集数据:SNMP(简单网络管理协议) Simple Network Management Protocol
NMP:
数据收集:
SNMP:简单网络管理协议
V1:最老消耗的资源最低,不支持加密机认证
V2:加密
V3:认证
ICMP:
判断公网是否存活
agent:守护进程
数据展示:
图标
状态:
OK warning critical pending unknown
60 80
2、Nagios
服务与性能监测为主
展示平台:B/S
收集数据:C/S(脚本)
3、Zabbix,
新型全功能监控软件
http://www.zabbix.com/
展示平台:B/S
收集数据:C/S
二、Cacti监控框架
1、Cacti 相关说明
数据收集:
SNMP
数据展示:
RRDTOOL
Cacti的工作结构
C/S模式,采集监测数据 SNMP
B/S模式,管理监测平台 LAMP + RRDTOOL
首先SNMP在检测对象处收集到信息后,插入到数据库(持久化),PHP代码调取RRDtool数据
生成图片,而后被Apache页面展示给用户。
2、RRDTOOL说明
RRDtool 是 OpenSource 行业标准,用于#时间序列数据的高性能数据记录和图形系统。
RRDtool可以轻松集成到 shell 脚本,perl,python,ruby,lua 或 tcl 应用程序中
首先 RRDtool 存储数据,扮演了一个后台工具的角色。但同时 RRDtool 又允许创建图表,
这使得RRDtool看起来又像是前端工具。其他的数据库只能存储数据,不能创建图表
RRDtool 的每个 rrd 文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的
其他数据库只是被动的接受数据, RRDtool 可以对收到的数据进行计算,例如前后两个数据的
变化程度(rate of change),并存储该结果
RRDtool 要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)
没有收到值,则会用 UNKN (unknow)代替,其他数据库则不会这样
3、SNMP原理
#OId身份认证标识:通过一个连接线确定收集数据的方案
#.1.3.6.1.2.1.1#代表收集当前linux系统的信息
#两台虚拟机一台为服务器端,一台为客户端,分别安装工具包。(客户端收集服务器端信息)
yum -y install net-snmp net-snmp-utils #安装工具包
/etc/init.d/snmpd start #启动
netstat -antp #查看端口(199)
snmpwalk -v 2c -c public 192.168.190.112 tcp/system/.... #收集本地的
#收集命令 -v 指定版本 -c 指定共同体名称 客户端地址 数据类型
vim /etc/snmp/snmp.conf
# sec.name source community 定义默认共同体
com2sec notConfigUser default public
view systemview included .1.3.6.1.2.1.6 #定义想要收集的信息
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
view all included .1 80
#取消注释并将systemview改为all,重启服务,就可以查看所有的信息。
三、Cacti构建
1、实验环境
两台虚拟机
服务器:192.168.190.111
客户端:192.168.190.112
2、服务器端配置
1)安装基础环境
yum -y install httpd mysql mysql-server mysql-devel libxml2-devel
mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo
# 前两行一起的LAMP环境准备
service httpd start
chkconfig httpd on
service mysqld start
chkconfig mysqld on
yum -y install net-snmp net-snmp-utils net-snmp-libs lm_sensors
2)安装 RRDTOOL
mkdir /iso
mount -o loop cacti.iso /iso
cp -a /iso/* .
tar -zxf rrdtool-1.4.5.tar.gz
cd rrdtoolcd
./configure --prefix=/usr/local
make && make install
# 如出错,按以下步骤解决
tar -zxvf cgilib-0.5.tar.gz
cd cgilib-0.5
make
cp libcgi.a /usr/local/lib
cp cgi.h /usr/include
yum -y install libart_lgpl-devel
yum -y install pango-devel* cairo-devel*
cd ~/rrdtool-1.4.5
./configure --prefix=/usr/local
make && make install
3) 部署 cacti,设置数据库连接
cd cacti
tar -zxf cacti-0.8.7g.tar.gz
mv cacti-0.8.7g/ /var/www/html/cacti
cd !$
patch -p1 -N <~/cacti/data_source_deactivate.patch
patch -p1 -N <~/cacti/graph_list_view.patch
patch -p1 -N <~/cacti/html_output.patch
patch -p1 -N <~/cacti/ldap_group_authenication.patch
patch -p1 -N <~/cacti/script_server_command_line_parse.patch
patch -p1 -N <~/cacti/ping.patch
patch -p1 -N <~/cacti/poller_interval.patch
4)添加检测数据的用户账户,更改权限,保证读写数据正常
useradd runct
chown -R root.root ./
chown -R runct.runct rra/ log/
5)授权数据库用户,导入初始化数据
mysqladmin -uroot password 123
mysql -uroot -p
create database cactidb default character set utf8;
grant all on cactidb.* to 'cactiuser'@'localhost' identified by '123456';
quit
mysql -u cactiuser -p cactidb < cacti.sql #密码123456
#查看
mysql -uroot -p
use cactidb;
show tables;
6)修改 cacti 配置文件
vim include/config.php
mysql
cactidb
localhost
cactiuser
123456
3306
7)调整 http 配置
vim /etc/httpd/conf/httpd.conf
Listen 80
293 DocumentRoot "/var/www/html/cacti" # 添加cacti
317 <Directory "/var/www/html/cacti"> # 添加cacti
331 options None #修改为NOne
AllowOverride None
Order allow,deny
Allow from all
</Directory>
402 DirectoryIndex index.php index.html # 添加index.html
AddDefaultCharset utf-8
276 ServerName www.example.com:80 #取消注释
service httpd restart
#浏览器测试
http://192.168.190.111
3、客户端配置
1)安装基础软件包
yum -y install net-snmp net-snmp-utils lm_sensors
vim /etc/snmp/snmpd.conf #修改下面内容。
41 服务器地址 默认为default 共同体名称 默认为public123
62 开放所有的SNMP查询权限 all 默认为SystemView
85 支持各种查询与访问 取消注释符号
/etc/init.d/snmpd restart
chkconfig snmpd on
ntpdate -u ntp1.aliyun.com
4、服务器端配置
1)收集数据
# su - runct
ntpdate -u ntp1.aliyun.com
php /var/www/html/cacti/poller.php
crontab -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php &>/dev/null
service crond start
chkconfig crond on
2)安装插件
cd
cd cacti-plugin/
tar -zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz
cd cacti-plugin-arch/
mysql -uroot cactiuser -p cactidb < pa.sql
cd /var/www/html/cacti
patch -p1 -N < ~/cacti-plugin/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff
cd cacti-plugin/
cp -a monitor-0.8.2.tar.gz /var/www/html/cacti/plugins
cd /var/www/html/cacti/plugins
tar -zxf ~/monitor-0.8.2.tar.gz
rm -rf monitor-0.8.2.tar.gz
cd monitor
mysql -uroot cactiuser -p cactidb < monitor.sql
5、添加新的监控设备。
注:本文为博主查阅多方资料整理而成,如有侵权请留言联系博主删除。
学习新东西,不要忘记复习旧知识,这样你才能更好!