设为首页 收藏本站
查看: 9673|回复: 2

[经验分享] Cacti Weathermap 高级用法 (二)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-25 09:06:07 | 显示全部楼层 |阅读模式
本帖最后由 opijoiu 于 2016-1-25 09:07 编辑

成都长宽Weathermap实际运用的效果图示例:
QQ截图20160125090234.png
这是一个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。
wKiom1ajWXKhSJWBAACQ4iKpLr0695.jpg
配置文档各个定义指令通常分为三大类,Node类、Link类、和 全局定义类。

通常weathermap在cacti上的实现是已插件的形式存在的,所以Weathermap插件对于每个气象图的配置文件存放目录是在服务器<path_cacti>/plugins/weathermap/configs 目录中(默认path_cacti是在/var/www/html目录下),每个气象图会有个配置文件名和标题,如图
wKioL1ajWcyDFuKFAACxQ0FQmo4912.jpg
图中的配置文件名称就是和<path_cacti>/plugins/weathermap/configs目录下的文件对应的,我们来看看配置文件的内容。
QQ截图20160125090254.png
默认配置文件开始都是全局配置,首行的FONTDEFINE是定义字体指令,语法如下:
FONTDEFINE

FONTDEFINE fontnumber gdfontfile

FONTDEFINE fontnumber ttffontfile fontsize

有两种用法,第一种是使用php的gd库来生成文字,第二种是外部ttf字体渲染。
FONTDEFINE 编号 字体文件路径 字体大小
默认使用web端配置的weathermap只有英文字体,所以不能显示中文。需要添加一个中文字体才能够正常显示中文名称。
wKiom1ajWcTSEPieAAAP9IB97WM611.jpg
这几行指令是配置气象图的大小、类型、默认引用字体编号、标题、以及气象图刷新时间角标。
wKioL1ajWiWS_yWgAAAtjvq2sjc580.jpg wKioL1ajWibwqs9hAAAVnIFjIvc524.jpg
默认图例定义,默认所有数值的颜色配置都是按照默认图例来显示的。图

wKiom1ajWgbDFY7IAAA_p8OWuuU796.jpg wKioL1ajWkayHbsQAAAlfxsJDpk592.jpg
添加的两个图例,图例名称分别为cactiupdown cactiloss 用于显示主机在线状态和丢包率的比例。
wKiom1ajWiSB0yNgAAAff6JALzI661.jpg
定义默认节点指令 以及 默认连接指令

Cacti监控模板 之 AdvancedPing网络监控
       Cacti把各种监控方式归为模板类型,除了自带的几个流量监控模板,民间不乏也有很好的其他监控模板,接下来说的就是网络抖动监控AdvancedPing。

1.AdvancePing 脚本及模板
下载地址:http://forums.cacti.net/about10049.html   spacer.jpg
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\
QQ截图20160125090317.png
下面可以根据这些rrd文件把数据输出到weathermap中。

Weathermap气象图之高级用法
根据之前的效果图,来具体说说那三个实现。
wKioL1ajWruj19m5AAAsHiXkLf8732.jpg
这是一个CNC出口的质量监控图。
  • 途中cnc节点(红色)是一个展示图例,TEL节点根据状态显示为绿色
  • TEL节点上面P:47.2ms 是一个,这是ICMP延时参考
  • TEL节点上面L:14.0%是网络丢包参考,根据不同的值,背景色使用不同的展示图例

QQ截图20160125090342.png
第一个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的拓扑不断的修改,可能就会出现图层覆盖的这种情况,
wKioL1ajWvOSLViuAAAOm6O7QVs461.jpg
Cacti节点挡住了其他图形,导致显示不完全。
这种情况通常是Node 武汉-90G 定义是在node P:** 之后,Weathermap读取配置文件是从上至下依次读取,所以造成了下一个Node节点的ICON挡住了上一个节点。

解决办法是编辑配置文件,修改node的排序
wKioL1ajWwvTrK2HAAAkYZsU1A0774.jpg
这样既可让Node  WH-90G_p置于上一个Node之上。
wKiom1ajWtmCP3w9AAAPJ9FQ_8o132.jpg



Weathermap气象图之rrd读数累加
还有种需求比如我有几台设备,上面分别有不同的用户在线数,也就是说数据源是分散在多台主机上的,怎样能通过Weathermap直观的展现出当前最新采集的用户在线数汇总呢。
wKioL1ajWz2hfJB-AAAdxQMIiww117.jpg
例子中的图其实是一个Node节点,根据前面说介绍的node节点格式化输出当前rrd文件值的方法,很容易理解,但是有多个rrd文件的话,Weathermap会自动累加吗? 答案是会累加的。
       根据之前TARGET指令的语法可知,可以有多个目标值,并且可以运算


TARGET 语法

TARGET targetspec

TARGET targetspec targetspec              默认运算操作为相加

TARGET targetspec -targetspec             相减(-号后不能跟空格)

TARGET targetspec n*targetspec           乘法运算乘以数字n 然后和第一个targetspec做加法运算

TARGET "targetspec"


wKiom1ajWxSC2DptAAA-PVaPjV0536.jpg
实际配置文件如图,新增了几个指令
{node:this:inpercent:%6d}     表示十进制数字,且最大长度为6位整数。
LABELOUTLINECOLOR 定义NODE文本边框颜色
LABELBGCOLOR   定义NODE文本框背景颜色
NOTES    定义鼠标触发文本提示框 \n表示换行符。






Cactihost方法状态值:
wKioL1ajW4vAbSuWAABf9v4JcZE868.jpg
其他方法见官方文档:http://network-weathermap.com/ma ... ce.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     #未定义的区间

wKiom1ajW2-DMbR3AAAPStaODn4751.jpg
使用渐变色可以使node节点根据值自动选择颜色匹配。
Cacti Weathermap 气象图高级用法(一)
http://www.iyunv.com/thread-169053-1-1.html

文档中还讲到一些配置指令,比如可以实现Link上显示提示文字(上行,下行)、默认Link弧线变为折角直线、比例图类型 等等,,,这就不一一列出了,使用方法参见官方文档。

更多用法参见附件文档。↓
Cacti Weathermap高级用法示例.pdf (1.54 MB, 下载次数: 114)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-169054-1-1.html 上篇帖子: Cacti weathermap添加实时读数节点 下篇帖子: Cacti图形数据自动导出脚本(二)
累计签到:24 天
连续签到:1 天
发表于 2016-7-18 17:34:52 | 显示全部楼层
非常棒的文章,谢谢分享!!!!!!!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表