构建Cacti监控系统
一Cacti网络监控
・Cacti简介
Cacti是一款使用PHP语言开发的性能与流量监测工具,监测的对象可以是linux或Windows服务器,也可以是路由器、交换机等网络设备;主要基于简单网络管理协议来搜集CPU占用、内存实用、运行进程数、磁盘空间、网卡流量等各种数据
Cacti,流量与性能监测为主;官方网站http://www.cacti.net/;
・Cacti的工作结构
C/S模式,Cacti服务器被称为服务端,而被它监控的服务器成为客户端;本身是一个Web界面的管理套件,通过调用Net-SNMP工具来采集监测数据,并结合RRDtool(轮询数据库工具)记录数据并绘制图片
B/S模式,最终以Web页面的形式展现给管理员
二Cacti服务端的配置
・搭建LAMP平台
Cacti服务器使用web远程管理,因此需要安装Apache;保存模板、配置等信息,因此需要安装Mysql;Cacti是一款使用PHP语言开发的工具,因此需要PHP环境;
这里使用rpm安装包进行安装,因为有依赖关系,因此使用yum安装
1配置yum仓库
2安装所需软件
3启动httpd、mysqld服务,确保LAMP平台工作正常
・安装net-snmp-utils、lm_sensors工具包
Cacti平台通过SNMP(简单网络管理协议)协议采集监测数据;因此需要安装所需软件包提供此协议(协议类型为UDP,端口号161);相关软件系统仓库中提供,利用yum安装
・安装rrdtool软件包
RRDtool(轮询数据库工具),用来记录数据并绘制图像;此包为源码包,通过Cacti和RRDtool官网都可以下载到(www.cacti.net和oss.oetiker.ch/rrdtool/)
1先安装rrdtool相关依赖包(否则编译时会报错)
2安装rrdtool软件包
解压
配置,指定目录方便其他程序自动识别
编译和安装
・部署并配置Cacti套件
1将下载的Cacti源码包释放到Web服务器的网页目录
如果是cacti-0.8.7g以下版本,还需要安装相关补丁,这里使用cacti-0.8.7i版本,无需补丁
2添加一个用来读写监测数据的用户账户,并调整子目录rra/、log/的属主和权限
3创建相关数据库、数据库用户并导入预设库(与数据库关联)
创建数据库并设置支持中文
创建用户并设置用户对cactidb数据库拥有完全控制权限
导入预设库(让Cacti与数据库关联)
4调整Cacti配置文件(与数据库通信)
如果cacti源码目录直接作为网站根目录,则最后一行可以省略或用"/"(网站跟目录)表示;否则需要指定源码目录位于网站跟目录的位置,如"/cacti/";这里设置为了根目录,因此还需要修改httpd服务的配置文件,将网站跟目录改为/var/www/html/cacti
5添加中文支持
6调整httpd配置文件
修改根目录
设置目录访问权限,默认
7初始化Cacti系统
在服务器上允许80端口的通信
在web客户端访问Cacti服务器的web服务,初次访问时会自动跳转至Cacti安装指南界面
根据提示单击Next;默认全新安装,继续单击Next
显示程序调用页面,如果为绿色则表示已安装所需程序,否则需要手动指定实际路径
然后单击完成,显示登录页面,至此Cacti服务器配置完成;用户名和密码都为admin
第一次登录要求更改密码
至此登录成功,可以开始使用了,但是还要配置客户端
三客户端的配置
无论是交换机、路由器、还是linux或windows服务器,只要正确的支持SNMP协议,并允许Cacti服务器采集数据,就能够被监控;
・Linux被控主机的设置
1安装SNMP服务支持软件包(linux系统仓库中自带)
2修改配置文件
第41行,默认是default
第62行,默认是SystemView
第85行,去掉注释,以便支持各种查询访问
3启动服务
4开放UDP的161号端口
・windows被控主机的设置(2008)
1添加SNMP功能,打开服务器管理器,选择功能
选择SNMP服务,并安装
2打开SNMP Service服务的安全属性(管理工具-服务-SNMP Service-属性-安全)
单击第一个添加,指定共同体名称
单击第二个添加,指定授权地址,即Cacti服务器地址
3单击确定完成后并重启服务
防火墙默认已开放SNMP服务的端口,无需设置
配置完成,现在可以使用Cacti系统将设置好的客户端添加进来,进行监控了