Linux&&服务器监控Cacti
了解
定位 : cacti是一款使用PHP语言开发的性能和流量监测工具
监测对象 : Linux或windows服务器、路由器、交换机等网络设备
核心 : 基于SNMP(Simple Network Management Protocol ,简单网络管理协议)来搜集CPU占用、内存使用、运行进程数、磁盘空间、网卡流量等数据。
SNMP 协议的端口号为UDP的161端口(被监控端)、162端口(监控端)。
本质 : 调用Net-SNMP工具采集监测数据并结合RRDTool(Round Robin Database Tool,轮询数据库工具)记录数据并绘制图片。
部署
安装Net-SNMP、RRDTool等支持软件
构建LAMP平台环境:
yum -y install httpd mysql mysql-server mysql-devel zlib freetype libjpeg fontconfig gd libxml2 php-gd php php-mysql
service httpd start
service mysqld start
#访问测试页检测LAMP环境
安装net-snmp-utils软件包:
yum -y install net-snmp net-snmp-utils
service snmpd start
chkconfig snmpd on
安装rrdtool软件包:
#安装相关软件包
yum -y install cairo-devel zlib libxml2 libxml2-devel glib2 glib2-devel libpng libpng-devel freetype freetype-devel libart_lgpl pango pango-devel pear pear-devel perl-CPAN
#安装RRDTool源码包
tar zxvf rrdtool-1.4.8.tar.gz
cd rrdtool-1.4.8
#./configure --prefix=/usr/local/rrdtool-1.4.8 && make && make install
./configure --prefix=/usr/local && make && make install
部署cacti、设置数据库连接
部署cacti源码包:
cd /var/www/html
tar zxf cacti-0.8.8b.tar.gz
mv cacti-0.8.8b/ /var/www/html/cacti
#添加用于读写监测数据的用户账号cacti并设置目录属主属组
useradd cacti
chown -R cacti.cacti /var/www/html/cacti/
建立数据库、表结构:
mysql -uroot -p
> CREATE DATABASE cacti DEFAULT CHARACTER SET utf8;
> GRANT all ON cacti.* TO 'cacti'@'localhost' IDENTIFIED BY 'cacti';
> QUIT
#导入预设库
cd /var/www/html/cacti
mysql -ucacti -p cacti < cacti.sql
调整cacti配置文件:
vim /var/www/html/cacti/include/config.php
<?php
$database_type = "mysql"; //数据库类型
$database_default = "cacti"; //数据库名称
$database_hostname = "localhost"; //数据库服务器的地址
$databses_username = "cacti"; //授权用户
$database_password = "cacti"; //授权密码
$database_port = "3306"; //数据库服务的端口
$url_path = "/"; //cacti的web控制台访问路径
--snip--
?>
cacti初始化安装
配置Apache站点:
vim /etc/httpd/conf/httpd.conf
Listen 80
DocumentRoot "/var/www/html/cacti" //将cacti源码目录作为网站根目录
<Directory "/var/www/html/cacti"> //设置目录访问权限
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
DirectoryIndex index.php index.html //第一默认首页为index.php
AddDefaultCharset utf-8 //默认字符集为utf-8
--snip--
#重启服务生效
service httpd restart
网页初始化cacti系统:
打开浏览器访问http://192.168.1.10/.将出现cacti安装指南界面
客户端(被监控端)部署
Linux
#安装net-snmp,lm_sensors软件包
yum -y install net-snmp lm_sensors
#配置文件/etc/snmp/snmpd.conf
vim /etc/snmp/snmpd.conf
--snip--
#配置cacti监控服务器ip地址。此处客户端名称定义为"public".监控服务器在添加客户端时需要同样定义名称为"public",保持一致。
:41 com2sec notConfigUser 192.168.1.254 public
#配置允许cacti监控服务器具备全部信息的读权限
:62 access notConfigGroup "" any noauth exact all none none
:85 view all included .1 80
#启动snmpd服务
service snmpd start
#检测
netstat -anpu | grep "snmpd"
windows
启动简单网络管理协议:
设置SNMP:
检测端口是否启用:
交换机
ro : readonly
监控交换机:
路由器
使用cacti监控客户端
打开浏览器登录192.168.1.10进入web管理控制台
添加被控客户端主机:
定期采集监测数据:
#定期向被监控端发出查询
crontab -u cacti -e
*/5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null
查看监测结果:
安装模板插件(percona-mysql-monitor插件)
复制插件脚本到cacti源码中:
在cacti的web控制台中启用插件:
使用模板:
安装功能插件
cd /var/www/html/cacti/plugins
#解压功能插件
tar zxf monitor-v1.3-1.tgz //显示主机摘要信息
tar zxf settings-v0.71-1.tgz //设置
tar zxf thold-v0.4.9-3.tgz //阈值邮件报警
导入插件:
使用插件: