Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。
它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善,界面友好。
Cacti架构图
Cacti工作原理
开始安装
在Ubuntu 12.04 LTS Server 上通过 apt-get 方式安装:
sudo apt-get update sudo apt-get install snmpd cacti cacti-spine rrdtool
配置MySQL数据库,输入用户密码,再次确认后选择继续:
接下来,按“返回”或“Enter”键确认PHP的配置改变:
从Web服务器列表中选择“Apache2”:
Cacti 配置Apache后,安装了MySQL账户的应用程序。选择“是”,允许通用的数据库配置:
为 Cacti 提供数据库管理密码:
接着,会询问 Cacti 使用的数据库的密码,这是一个内部的密码,输入新密码,选择OK,这里如果按“Enter”会创建一个随机的密码:
安装应该按预期完成。
SNMPD 的配置
配置 SNMPD 与 Cacti 协同工作,它的配置文件位置在/etc/snmp/snmpd.conf, 请确保你的编辑的是snmpd.conf文件而不是snmp.conf文件:
sudo nano /etc/snmp/snmpd.conf
首先编辑代理行为(Agent Behavio),在文件的开头部分,注释掉 agentAddress udp:127.0.0.1:161 行,并取消 #agentAddress udp:161,udp6:[::1]:161 行的注释:
# Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161
然后找到 访问控制 (ACCESS CONTROL) 部分,去掉 #rocommunity secret 10.0.0.0/16 前面的#号,并修改成您的域名或者IP地址:
rocommunity secret CactiServerIpAddress
您可以通过这条命令来查看IP地址:
ifconfig eth0 | grep inet | awk'{ print $2 }'
您可能还需要编辑系统信息将与你的数据在系统信息部分。你可以添加你的服务器的物理位置和联系人的电子邮件。如果您正在监视大量的云服务器,这会帮助您区分那些主机:
sysLocation Your System Location sysContact [email protected]
修改 Cacti config 文件, password 部分修改成您先前设置的密码:
sudo nano /usr/share/cacti/site/include/config.php $database_password = "password";
当您完成了这些修改,需要重新启动 SNMPD 服务:
sudo service snmpd restart
Web配置
【一次性安装】通过Web浏览器完成其余的配置。打开Web浏览器,访问你的服务器IP地址或域名,后面加上“/cacti”即可进入配置页面:
mydomain.com/cacti
一开始你会看到一些关于 Cacti 的介绍信息,点击下一步(NETX),再一次点击下一步(NETX),会出现如下界面
这里显示了“指南”应用,Cacti 所使用操作的应用程序路径。所有应用程序都应该是绿色的,并标有“[FOUND]”,点击“完成(Finish)”继续
接下来登陆管理系统,默认用户名和密码都是 admin,在您第一次输入完成后,会提示修改并确认默认密码,输入完成后点击保存“Save”即可进入管理界面
好,现在你已经进入了 Cacti 的管理界面:
常规配置
有几个选项需要改变,以确保 Cacti 产生的数据正确。在左侧导航面板中,点击“设置(Setting)”下的配置标题。
在“常规(General)”选项卡中,我们要像下面这样改变一些参数,完成后,点击“保存(Save)”。
SNMP Version: Version 2 SNMP Community: secret
然后选择 Poller 选项卡,修改如下配置,再保存:
Poller Type: spine Poller Interval: Every Minute
每当轮询时间间隔发生变化,则必须清空缓存。要清空缓存,点击左侧“系统工具(System Utilities)”下 Rebuild poller cache 以清除缓存。
建立设备和图
设备设置
要开始绘图,我们需要建立设备配置文件,并告诉 Cacti 绘制什么。在左侧导航面板的标题下点击“设备(Devices)”
首先,删除 localhost 设备。点击右侧的复选框,确保已经勾选一个项目后,选择“删除(Delete)”,然后单击“Go”。确认下面的页面上删除。在页面的右上角,点击“添加”按钮来添加一个新的设备
现在,你需要填写一些信息,描述你的设备。填写以下字段。完成时,点击“创建(Create)”
Description: Ubuntu Cacti Server Hostname: YourIPAddress Host Template: Local Linux Machine SNMP Version: Version 2 SNMP Community: secret
如果在页面顶部有一个呈现红色的SNMP错误,在服务器上打开一个终端,并重新启动 snmpd 进程,再次点击“保存”,它现在应该显示正常了:
sudo service snmpd restart
图形设置
接下来,向下滚动并创建一些相关的图形模板和相关的数据查询。根据相关的图形模板,从下拉菜单中选择“Unix �C Ping Latency”,并单击“添加(Add)”。您的选择应符合如下图所示
在相关的数据查询部分(Associated Data Queries)完成相同的步骤,添加“SNMP �C Get Mounted Partitions”, “SNMP �C Get Processor Information”,和 “SNMP �C Interface Statistics”.。全部添加完成后点击保存。
然后在界面的右上角点击 “为主机创建图像 (Create Graphs for this Host)”,选择右侧窗口中的淡蓝色的副标题上选择所有图形。在页面底部,点击“创建 (Create)”。
在接下来的页面中,你可以改变一些图形选择的颜色,然后单击“创建 (Create)”,在页面的顶部,单击“图形”选项卡。点击最后一个标签页的右上角。
你的VPS将需要一段时间才能产生这些图表中的值,直到有足够的数据图。这可能需要5分钟到10分钟,一开始你可能会看到一个空图,有时,它会呈现一个破碎的图像,这是正常的,你会在几个小时之后获得一些五颜六色的曲线图:
点击每个图像,会显示这个设备每天,每周,每月,每年的图形: