Cacti
一 常见平台
常见的服务器监控软件
Cacti,流量与性能监测为主 —— http://www.cacti.net/ Nagios,服务与性能监测为主 —— http://www.nagios.org/ Zabbix,新型全功能监控软件 —— http://www.zabbix.com/
收集数据的方式
script
command
SNMP 简单网络管理协议 收集网络设备的相关数据
V1 兼容低端设备 监控代价小 不支持加密以及认证
V2 加密
V3 认证
二 SNMP原理
1.

2.

3.

4.

SNMP原理 192.168.10.10 [root@localhost ~]# yum -y install net-snmp net-snmp-utils [root@localhost ~]# cd /usr/share/snmp/mibs/ [root@localhost mibs]# ls [root@localhost mibs]# service snmpd start [root@localhost mibs]# snmpwalk -v 2c -c public 192.168.10.10 system #查看(例) [root@localhost mibs]# vim /etc/snmp/snmpd.conf 62 access notConfigGroup "" any noauth exact all none none #all 85 view all included .1 80 #取消注释 [root@localhost mibs]# service snmpd restart [root@localhost mibs]# snmpwalk -v 2c -c public 192.168.10.10 tcp #收集TCP信息 TCP-MIB::tcpConnState.192.168.10.10.22.192.168.10.1.49323 = INTEGER: established(5) #有数据传输状态 TCP-MIB::tcpConnState.192.168.10.10.22.192.168.10.1.51749 = INTEGER: established(5) TCP-MIB::tcpConnLocalAddress.192.168.10.10.22.192.168.10.1.49323 = IpAddress: 192.168.10.10 #TCP连接 TCP-MIB::tcpConnLocalAddress.192.168.10.10.22.192.168.10.1.51749 = IpAddress: 192.168.10.10
三 Cacti工作结构
Cacti的工作结构
C/S模式
采集监测数据
B/S模式
管理监测平台

Cacti 展示框架
收集数据:
SNMP
图形生成:
RRDTOOL
图形展示:
PHP
操作:
1. 安装环境
yum -y install gcc* yum -y install httpd mysql mysql-server mysql-devel libxml2-devel mysql-connector-odbc perl-DBD-MySQL unixODBC php php-mysql php-pdo service httpd start service mysqld start yum -y install net-snmp net-snmp-utils net-snmp-libs lm_sensors
2. 安装rrdtol
tar -zxf rrdtool-1.4.5.tar.gz cd rrdtool ./configure --prefix=/usr/local make && make install 如出错,按以下步骤解决 第1步 tar zxvf cgilib-0.5.tar.gz cd cgilib-0.5 make #回报错误:cgi.c: 在函数‘cgiRedirect’中...(忽略) cp libcgi.a /usr/local/lib cp cgi.h /usr/include 第2步 yum -y install libart_lgpl-devel 第3步 yum -y install pango-devel* cairo-devel*
3. 部署cacti,设置数据库连接
1.部署源码包,并安装补丁文件 tar -zxf cacti-0.8.7g.tar.gz [root@localhost cacti]# mv cacti-0.8.7g/ /var/www/html/cacti [root@localhost cacti]# cd /var/www/html/cacti/ [root@localhost cacti]# patch -p1 -N </usr/src/cacti/data_source_deactivate.patch [root@localhost cacti]# patch -p1 -N </usr/src/cacti/graph_list_view.patch [root@localhost cacti]# patch -p1 -N </usr/src/cacti/html_output.patch [root@localhost cacti]# patch -p1 -N </usr/src/cacti/ldap_group_authenication.patch [root@localhost cacti]# patch -p1 -N </usr/src/cacti/script_server_command_line_parse.patch [root@localhost cacti]# patch -p1 -N </usr/src/cacti/ping.patch [root@localhost cacti]# patch -p1 -N </usr/src/cacti/poller_interval.patch 2、添加检测数据的用户账户,更改权限,保证读写数据正常 [root@localhost cacti]# useradd runct [root@localhost cacti]# chown -R root.root ./ [root@localhost cacti]# chown -R runct.runct rra/ log/ 3、授权数据库用户,导入初始化数据 mysqladmin -uroot password 123 mysql -u root -p create database cactidb default character set utf8; grant all on cactidb.* to 'cactiuser'@'localhost' identified by 'pwd@123'; quit mysql -u cactiuser -p cactidb < cacti.sql 4、修改cacti配置文件 [root@localhost cacti]# pwd /var/www/html/cacti [root@localhost cacti]# vim include/config.php $database_type = "mysql"; $database_default = "cactidb"; $database_hostname = "localhost"; $database_username = "cactiuser"; $database_password = "pwd@123"; $database_port = "3306"; 5、调整http配置 [root@localhost cacti]# vim /etc/httpd/conf/httpd.conf 276 ServerName www.TomCat.com:80 292 DocumentRoot "/var/www/html/cacti" 317 <Directory "/var/www/html/cacti"> 331 Options none 402 DirectoryIndex index.php index.html index.html.var 759 AddDefaultCharset UTF-8 #默认 [root@localhost cacti]# service httpd restart 浏览器:http://192.168.10.10 第一次登陆: user:admin pwd:admin 登陆后,会让重新设置密码
5. 客户端配置
yum -y install net-snmp net-snmp-utils lm_sensors [root@localhost ~]# vim /etc/snmp/snmpd.conf 41 com2sec notConfigUser default public123 85 view all included .1 80 151 access notConfigGroup "" any noauth exact all rwview none [root@localhost ~]# service snmpd start [root@localhost ~]# chkconfig snmpd on 浏览器页面: 点击:Devices 16:30 的图 创建树:Devices --> 第一台服务器 --> *Create Graphs for this Host 挂载树:Graph Trees --> Default Tree
图一:

图二:

图三:

6. 收集数据
10主机 su - runct 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
7. 安装插件
10主机 [root@localhost cacti-plugin]# tar -zxf cacti-plugin-0.8.7g-PA-v2.8.tar.gz [root@localhost cacti-plugin]# cd cacti-plugin-arch/ [root@localhost cacti-plugin-arch]# ls cacti-plugin-0.8.7g-PA-v2.8.diff files-0.8.7g LICENSE pa.sql README [root@localhost cacti-plugin-arch]# mysql -uroot -p cactidb < pa.sql [root@localhost ~]# cd /usr/src/cacti-plugin/cacti-plugin-arch/ [root@localhost cacti-plugin-arch]# ls cacti-plugin-0.8.7g-PA-v2.8.diff files-0.8.7g LICENSE pa.sql README [root@localhost cacti]# pwd /var/www/html/cacti [root@localhost cacti]# patch -p1 -N < /usr/src/cacti-plugin/cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.8.diff [root@localhost cacti]# cd plugins [root@localhost plugins]# ls index.php
8. 配置识别插件
浏览器:console --> User Management --> admin --> Realm Permissions(勾选 Plugin Management) --> 侧边栏就有 Plugin Management
9. 配置Monitor
[root@localhost ~]# cd /usr/src/cacti-plugin/ [root@localhost cacti-plugin]# ls cacti-plugin-0.8.7g-PA-v2.8.tar.gz monitor-0.8.2.tar.gz thold-0.4.3.tar.gz cacti-plugin-arch settings-0.5.tar.gz [root@localhost cacti-plugin]# tar -zxf monitor-0.8.2.tar.gz [root@localhost cacti-plugin]# ls cacti-plugin-0.8.7g-PA-v2.8.tar.gz monitor settings-0.5.tar.gz cacti-plugin-arch monitor-0.8.2.tar.gz thold-0.4.3.tar.gz [root@localhost cacti-plugin]# cd monitor [root@localhost monitor]# ls images index.php LICENSE monitor.php monitor.sql README setup.php sounds wz_tooltip.js [root@localhost cacti-plugin]# mv monitor /var/www/html/cacti/plugins #!!! [root@localhost cacti-plugin]# cd !$ cd /var/www/html/cacti/plugins [root@localhost plugins]# ls index.php monitor [root@localhost plugins]# cd monitor/ [root@localhost monitor]# ls images index.php LICENSE monitor.php monitor.sql README setup.php sounds wz_tooltip.js [root@localhost monitor]# mysql -uroot -p cactidb < monitor.sql #!!! 进行浏览器操作 Configration -- setting -- misc -- 将最后一行改为Tiles -- save
10. 配置Thold
Configration -- setting -- Thresholds -- Dead hosts Notifications 后 添加 告警邮箱
From Email Address 后添加 指定发件人地址 -- 选中 send alerts as text 表示纯文本发送邮件
11. 设置SMTP,DNS等
Configration -- setting -- Mail/DNS -- 测试用的收信地址、SMTP、发送人邮件地址、发送人名称(Cacti_System)、120
12. 添加检测项目
Templates -- Threshold Templates -- ucd/net-CPU Usage-User -- High Threshold 设置为85 告警阈值默认计量单位: cpu 使用率 为 百分比(不包含该值) 网卡流量 Byte/s 硬盘空间 KB 内存占用 KB 也可以设置多个告警项,同时可生效 如 内存低于50MB并且下载流量超过80MB/s
13, 查看警告
Management -- Thresholds -- thold

浙公网安备 33010602011771号