成都长宽Weathermap实际运用的效果图示例:
这是一个CNC出口的质量监控图。
途中cnc节点(红色)是一个展示图例,TEL节点根据存活状态显示为绿色
TEL节点上面P:47.2ms 是一个,这是ICMP延时参考
TEL节点上面L:14.0%是网络丢包参考,根据不同的值,背景色使用不同的展示图例
基于后端数据采集是实时采集(1分钟/5分钟),这样Weathermap就可以实时根据采集到的数据做出一个图形的显示。
通常Weathermap画图都是通过页面来操作,但是基于WEB页面的配置选项提供的少之又少,一般只能完成基本的功能,对于一些复杂点的需求就无能为力了。
对于复杂点的配置就需要通过Weathermap的修改配置文件来实现,Weathermap的操作文档可以查看官网,也可以查看cacti中weathermap自带的文档,cacti自带的文档存放页面是http://****/plugins/weathermap/docs/pages/config-reference.html。
配置文档各个定义指令通常分为三大类,Node类、Link类、和 全局定义类。
通常weathermap在cacti上的实现是已插件的形式存在的,所以Weathermap插件对于每个气象图的配置文件存放目录是在服务器<path_cacti>/plugins/weathermap/configs 目录中(默认path_cacti是在/var/www/html目录下),每个气象图会有个配置文件名和标题,如图
图中的配置文件名称就是和<path_cacti>/plugins/weathermap/configs目录下的文件对应的,我们来看看配置文件的内容。
默认配置文件开始都是全局配置,首行的FONTDEFINE是定义字体指令,语法如下:
FONTDEFINE
FONTDEFINE fontnumber gdfontfile
FONTDEFINE fontnumber ttffontfile fontsize
有两种用法,第一种是使用php的gd库来生成文字,第二种是外部ttf字体渲染。
FONTDEFINE 编号 字体文件路径 字体大小
默认使用web端配置的weathermap只有英文字体,所以不能显示中文。需要添加一个中文字体才能够正常显示中文名称。
这几行指令是配置气象图的大小、类型、默认引用字体编号、标题、以及气象图刷新时间角标。
默认图例定义,默认所有数值的颜色配置都是按照默认图例来显示的。图
添加的两个图例,图例名称分别为cactiupdown cactiloss 用于显示主机在线状态和丢包率的比例。
定义默认节点指令 以及 默认连接指令
Cacti监控模板 之 AdvancedPing网络监控
Cacti把各种监控方式归为模板类型,除了自带的几个流量监控模板,民间不乏也有很好的其他监控模板,接下来说的就是网络抖动监控AdvancedPing。
1.AdvancePing 脚本及模板
下载地址:http://forums.cacti.net/about10049.html
http://pan.baidu.com/s/1mhiVreg 密码2ggf
注:要使用此模板,编译PHP时必须加上--enable-sockets选项来支持套接字。
1).功能:此模板用来监控一个TCP/UDP端口、ICMP的延时情况和丢包情况。
2).下载ss_fping.php脚本并放到<cacti_path>/scripts/目录下,下载cacti_graph_template_ping_advanced_ping_v1_3.xml模板,用cacti的模板导入页将此模板导入。
3).在Console选项卡下的左侧菜单栏中选择Devices,为要监控的主机新建一个Devices或选择已有Devices。在Associated Graph Templates中添加Advanced Pingv1.3模板。并点击最上面的Create Graphs forthis Host链接。
使用方法:
创建主机
输入目标主机IP
选择模板 Ping主机
SNMP选项 →未使用
保存设置,第一次会自动扫描目标IP的开放TCP端口
为这个主机添加图形,勾选相应的图形模板
填入advanced ping的监控协议(TCP | UDP | ICMP)大写TCP,填入目标端口。
完成,等待图形生成。
图形生成确认无误后一般一个advanced Ping图会有5个数据点,分别为时间长短的min、avg、max 丢包率的loss 和 脚本执行的dev耗时。
DEF:a="/var/www/html/rra/14/4044.rrd":min:AVERAGE\
DEF:b="/var/www/html/rra/14/4044.rrd":avg:AVERAGE\
DEF:c="/var/www/html/rra/14/4044.rrd":max:AVERAGE\
DEF:d="/var/www/html/rra/14/4044.rrd":loss:AVERAGE\
DEF:e="/var/www/html/rra/14/4044.rrd":dev:AVERAGE\
下面可以根据这些rrd文件把数据输出到weathermap中。
Weathermap气象图之高级用法
根据之前的效果图,来具体说说那三个实现。
这是一个CNC出口的质量监控图。
途中cnc节点(红色)是一个展示图例,TEL节点根据状态显示为绿色
TEL节点上面P:47.2ms 是一个,这是ICMP延时参考
TEL节点上面L:14.0%是网络丢包参考,根据不同的值,背景色使用不同的展示图例
第一个NODE是定义的CNC节点
LABEL 定义的是名称
TARGET 定义的是需要获取数据的来源,即方法cactihostid为57的主机状态。
USESCALE 定义的是使用哪个图例,根据KEYPOS cactiupdown配置,如果值介于0-0.5(事实上cactipudown取的值都为整数 0 1 2 3 ),那么就套用RGB三原色值为192 192 192的颜色为背景色。
POSITION 定义的坐标
第二个NODE定义的是CNC上边 P:*** 节点
LABEL 是一个字符串引用,取的是node:this:inpercent:%的方法,数据类型是小数点后1位浮点数,最后进行格式化输出。
LABELFONT是引用的字体编号
INFOURL 和 OVERLIBGRAPH 是WEB配置的浮动图形和连接页面,使用WEB端配置即可。
TARGET 定义的是需要获取数据的来源,即取一个RRD文件的值。
TARGET语法
TARGET targetspec
TARGET targetspec targetspec
TARGET targetspec -targetspec
TARGET targetspec n*targetspec
TARGET "targetspec"
gauge:/var/www/html/rra/129/6658.rrd:avg:- 是rrdtool的数据获取方式。
Gauge为rrdtool的数据类型,中间的即为rrd文件的路径。Avg是数据源的数据点,-为区间占位符。
这样就是取出rrd文件中最新的值。
USESCALE 定义的是使用哪个图例,这里P:** 只显示数字,并不包含图例套用,所以不做定义,但是由于默认有KEYPOS DEFAULT,所以必须指明 none来指定不做图例套用。
POSITION 定义的坐标,这里是使用的相对坐标,所以必须要写明父坐标,然后写入相对坐标的x轴 y轴
第三个NODE定义的是L:**% 丢包率
子指令跟第二个NODE定义差不多,所以这里只说一个指令。
USESCALE 定义使用的图例,根据之前定义的图例 KEYPOS cactiloss所示,如果值介于0-0.5之间,那么就使用RGB三原色值为 255 255 255的颜色,如果值介于5.5-9.5之间,那么就使用RGB三原色值为255 91 96的颜色。 以此类推……
Weathermap气象图之节点层叠
随着网络规模不断的复杂,Weathermap的拓扑不断的修改,可能就会出现图层覆盖的这种情况,
Cacti节点挡住了其他图形,导致显示不完全。
这种情况通常是Node 武汉-90G 定义是在node P:** 之后,Weathermap读取配置文件是从上至下依次读取,所以造成了下一个Node节点的ICON挡住了上一个节点。
解决办法是编辑配置文件,修改node的排序
这样既可让Node WH-90G_p置于上一个Node之上。
Weathermap气象图之rrd读数累加
还有种需求比如我有几台设备,上面分别有不同的用户在线数,也就是说数据源是分散在多台主机上的,怎样能通过Weathermap直观的展现出当前最新采集的用户在线数汇总呢。
例子中的图其实是一个Node节点,根据前面说介绍的node节点格式化输出当前rrd文件值的方法,很容易理解,但是有多个rrd文件的话,Weathermap会自动累加吗? 答案是会累加的。
根据之前TARGET指令的语法可知,可以有多个目标值,并且可以运算
TARGET 语法
TARGET targetspec
TARGET targetspec targetspec 默认运算操作为相加
TARGET targetspec -targetspec 相减(-号后不能跟空格)
TARGET targetspec n*targetspec 乘法运算乘以数字n 然后和第一个targetspec做加法运算
TARGET "targetspec"
实际配置文件如图,新增了几个指令
{node:this:inpercent:%6d} 表示十进制数字,且最大长度为6位整数。
LABELOUTLINECOLOR 定义NODE文本边框颜色
LABELBGCOLOR 定义NODE文本框背景颜色
NOTES 定义鼠标触发文本提示框 \n表示换行符。
Cactihost方法状态值:
其他方法见官方文档:http://network-weathermap.com/manual/0.97b/pages/config-reference.html#NODE_TARGET
SCALE刻度标尺
SCALE min max red green blue #不带标题不带说明的区间
SCALE scalename min max red green blue #带标题不带说明的区间
SCALE min max red green blue red2 green2 blue2 #不带标题不带说明的渐变区间
SCALE scalename min max red green blue red2 green2 blue2 #带标题不带说明的渐变区间
SCALE min max red green blue tagtext #不带标题带说明的区间
SCALE scalename min max red green blue tagtext #带标题带说明的区间
SCALE min max red green blue red2 green2 blue2 tagtext #不带标题带说明的渐变区间
SCALE scalename min max red green blue red2 green2 blue2 tagtext #带标题带说明的渐变区间
SCALE min max none #未定义的区间
使用渐变色可以使node节点根据值自动选择颜色匹配。
Cacti Weathermap 气象图高级用法(一)
http://professor.blog.51cto.com/996189/1614404
文档中还讲到一些配置指令,比如可以实现Link上显示提示文字(上行,下行)、默认Link弧线变为折角直线、比例图类型 等等,,,这就不一一列出了,使用方法参见官方文档。
更多用法参见附件文档。↓
本文出自 “Professor哥” 博客,谢绝转载!