使用Cacti监控你的网络
Cacti使用手册
1
2
目录:
一、 概述
二、 Cacti的工作流程
三、Cacti的使用
四、Cacti脚本及模板
五、打造自己的Cacti模板
六、Cacti插件使用
3
七、参考
Cacti使用手册
一、概述
1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。Snmp关系着数据的收集,rrdtool关系着数据存储和图表的生成。
2. Mysql配合PHP程序存储一些变量数据并对变量数据进行调用,如:主机名、主机ip、snmp团体名、端口号、模板信息等变量。
3. snmp抓到数据不是存储在mysql中,而是存在rrdtool生成的rrd文件中(在cacti根目录的rra文件夹下)。rrdtool对数据的更新和存储就是对rrd文件的处理,rrd文件是大小固定的档案文件(Round Robin Archive),它能够存储的数据笔数在创建时就已经定义。
二、Cacti的架构及工作流程
1. Cacti的架构
4
2. Cacti的工作流程
三、Cacti的使用
1.界面介绍
登陆Cacti后,可以看到左上角是两个选项卡,“console”和“graphs”。console表示控制台,在此进行所有的配置等操作;而graphs则是用来查看所有服务器的性能图像的界面。
5
2.console菜单
Create:
New Graphs——创建新图像的快捷方式;
Management:
Graph Management——图像管理。可以在此删除、复制图像,Cacti会自动创建图像。不过如果我们有特殊的需要,比如将几张图上的数据合并在一张图像上的话也可以在此手工新建图像;
6
Graph Trees——图像树。在graphs界面里,图像或devices是树状结构显示的,可以在此设置树的结构;
Data Sources——管理rrd文件。一般无需修改,Cacti会自己创建rrd文件;
Devices——设备管理。这是我们最经常需要修改的地方,可以在此创建新的设备或修改其名称等信息。
7
Collection Methods
Data Queries 和Data Input Methods是采集数据的方式,一般我们无需对这两项进行修改;
Templates
Graph Templates 、Host Templates和Data Templates 分别是图像模板、主机类型模板和数据模板。这些模板可以导出、导入也可以自己编写,一般无需修改。
Import/Export
Import Templates 和Export Templates,对上述模板的导入、导出。我们可以在Cacti的官方网站上找到这些模板,不过需要注意模板对于的Cacti的版本。
Configuration
Settings ——Cacti的主要配置菜单;
可以在此重新设置对应的程序的路径、版本等信息。也可以设置图像的输出方式(允许ftp)、显示效果、登陆方式(允许使用LDAP)等。
Utilities
System Utilities ——显示Cacti系统的一些cache和log信息,如果log文件太大建议直接到后台查看;
8
User Management ——用户管理。可以在此添加、删除用户,并对每个用户设置详细的权限;
Logout User ——注销用户。
3.创建监测点
假设被监测的服务器名叫“Test Host”,IP为192.168.100.110,SNMP的community为
public。
进入Cacti的console面板->
点击“Devices”进入设备面板->
点击“Add”添加新设备->
9
填写要监测服务器的各种信息,其中Host Template请选择“Local Linux Machine”或“ucd/net SNMP Host”(选择一个合适的主机模板)->
点击“Create”保存信息,如果SNMP连接没有问题,左上角会出现该服务器的信息,否则会出现“SNMP error”的红色字样->
10
点击上部的“Create Graphs for this Host ”为该设备创建需监测的内容。监测的内容分两种,“Graph Templates”和“Data Query”,区别在于“Data Query”能根据SNMP信息列出监测项目的信息。例如Data Query里的“Interface Statistics”可以看到该主机所有网卡的信息,这样我们可以选择需要监测的网卡。点击右侧的正方形选择框勾选上要监测的项目->
11
点击“Create”创建选择的监测内容,已经选择创建的内容会自动变成灰色并且不能再点选。Cacti会自动创建该监测点的rrd文件(在rra文件夹中)、“Data Source”和“graph”条目。
创建监测点完毕。
4.查看监测点
点击“Graph Management”可以看到刚才创建的监测点对应的图像,注意由于Cacti默认每5分钟到监测服务器上取一次数据,所以刚创建的监测点会出现图像不能显示的现
12
象,需要等几分钟查看才会正常显示。
为了方便查看,可以将刚才新创建的设备或图像加入到“图像树”上:
点击“Graph Tree”进入“图像树”面板->
点击分支名称或“Add”新的分支->
13
点击“Add”,添加新的“Tree Items”->
“Tree Item Type”中选择“Host”,“Tree Item Value”的“host”中选择刚才新添加的主机“Test Host”->
点击“Create”。
14
直接在ViewTree中添加一个host节点进行监控无疑是一个简单的方法,但随监控图的增多,将所有的图像放到一个host节点上,当查看图像时图像的显示速度会变慢,而且监控图的条理也不清除,所以通常可以根据监控图监控的功能和监控服务的类型等进行分类,整理出一棵有条理的图像树。可以按下面步骤添加节点。
首先添加一个root节点,“Tree Item Type”中选择“Header”,“Title”中填写一个合适的描述性信息,如本例填写“Host Monitor”,Host Monitor节点的图像主要是和主机性能相关的一些图像,如CPU、内存、磁盘空间等;
点击刚创建的root节点(Host Monitor)后面的Add链接来添加一个Graph;
15
在“Tree Item Type”中选择“Graph”,在“graph”中选择加入想要加入的监控图,重复此过程加入所有你想加入的监控图。
你还可以添加Tree Items,如MySQL Monitor,此节点用来监控与MySQL服务相关的信息,重复上面的过程直到一颗有条例的树创建完成。
16
这样,我们就可以在“graphs”界面中查看“Test Host”的所有监测图像了。
5.合并多个数据源到一张图上
17
在console控制台下点击“Graph Management”,然后点击Add链接。
在“Select Graph Template”下拉框中选择端口模板,在“Host”下拉框中选择None,然后点击create按钮。
在“Title”文本框中输入Graph的名字。
选择要汇总的端口,添加Graph Items。注意 In 和Out方向。
18
四、Cacti脚本及模板
Cacti脚本及模板:http://forums.cacti.net/forum-12.html
完整的cacti脚本及模板列表:http://forums.cacti.net/about15067.html
1、Advance Ping 脚本及模板
下载地址:http://forums.cacti.net/about10049.html
1). 功能:此模板用来监控一个TCP/UDP端口、ICMP的延时情况和丢包情况。
2).下载cacti_graph_template_ping_advanced_ping_v1_3.xml模板,用cacti的模板导入页将此模板导入。
点击 Import
19
点击浏览后,选择ping的模板,点击2次 “Save”
3).在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。
在Associated Graph Templates中添加Advanced Pingv1.3模板。点击
ADD
并点击最上面的Create Graphs for this Host链接,
在Graph Templates的选择框中选择PING - Advanced Ping v1.3,然后点击Create按钮,出现以下WEB页。
20
第一项意思是一次向要监控的端口发送多少个探测包(默认20个),第二项是使用的协议,可以是ICMP、TCP、UDP,第三项是要监控的端口号(只有第二项为TCP或是UDP时使用),填写完成后点击create按钮。
在Console控制台选项卡下的左侧菜单中选择Date Sources,选择以上新建的数据源可以修改以上填写的信息。
在graphs选项卡下浏览创建的Advanced Ping监控图。
21
Pkt Loss:丢包数量/20 * 100%(每次ping 20个包)
Avg Loss:平均丢包情况
Latency:延时情况
Avg Latency:平均延时情况
五 .打造自己的cacti模板(Data Template、Graph Template、Host Template)
1.新建端口汇总模板(Data Template)
在console选项卡下左侧菜单栏中点击Data Templates连接,打开新建数据模板窗口。
22
在新建数据模板窗口点击Add按钮添加“Data Templates”。
填写以下内容:点击Save
在Graph Template Items 点击Add
添加In流量选项,如图
添加Out流量选项,如图
23
按照下图依次添加:
注意在TOTAIL:In和TOTAIL:Out选项下 在CDEF有变动,如图选择:
添加4个端口模块,如图
24
配置端口模块选项,注意第一个traffic_in配置如图:
配置端口模块选项,注意第一个traffic_out 配置如图:
25
添加第2、3、4的端口模块时依次根据上面顺序,如图
26
最后完成汇总模板图如下:
27
六、Cacti插件使用
1、.在console选项卡下,点击左侧菜单中的Settings链接,在右侧出现的web页中点击Misc选项卡来配置Monitor插件。
以下所看到的是Monitor选项卡下所监控的机器状态。当有机器Down掉后,相应机器图标将由绿色变成红色,并发出声音进行报警。
2、Threshold插件使用
下图是添加Threshold插件和Monitor插件后的cacti界面:
28
选中console选项卡,在左侧菜单中点击Settings,然后点击Alerting/Thold选项卡,来设置Threshold插件。
29
30
3、设置完成后在console选项卡下左侧菜单中点击Threshold Templates 。
点击Add按钮来添加一个Threshold模板。
在此,以添加一个监控硬盘空间的Threshold模板为例。
31
在Data Field下拉框中选择hdd_free,然后点击go按钮。
填写以下信息,在Low Threshold文本框中填入1000,意思是当剩余的硬盘空间小于1000M时,发送邮件报警。在Threshold CDEF下拉框选择Divide by 1024,填入警报邮箱,完成Threshold模板的添加。
32
应用刚才创建的Threshold模板。在console选项卡下点击Devices,选择要应用此模板的Host,点击最上面的Create Graphs for this Host链接,然后点击Auto-create thresholds链接来应用刚创建的Threshold模板。
设置完成后在console选项卡下左侧菜单中点击Thresholds 。
在此可以管理已创建的警报。
33
点击threshld选项卡可以查看警报的触发情况。
七、参考
Cacti官网:http://www.cacti.net/index.php
Cacti官网论坛:http://forums.cacti.net/
Cacti文档:http://docs.cacti.net/
Cacti插件:http://cactiusers.org/index.php
Network Weathermap:http://www.network-weathermap.com/
34
RRDTool官网:http://oss.oetiker.ch/rrdtool/
NET-SNMP官方网站:http://www.net-snmp.org/
Apache官网:http://httpd.apache.org/
MySQL官网:http://www.mysql.com/
PHP官网:http://www.php.net/
35
因篇幅问题不能全部显示,请点此查看更多更全内容