【原创】zabbix 3.4新功能值预处理

Zabbix 3.4版本更新了许多新功能,其中一个监控项功能Preprocessing,根据官方说明文档,在监控项收集的数据存储到数据库前,预先对数据进行处理,使用效果超过预期。这个功能存放位置在创建item后多了一个Preprocessing选项卡,截图如下

简单解析下Preprocessing菜单:

转换描述

Custom multiplier将值乘以指定的整数或浮点值。使用此选项将以KB,MBps等接收的值转换为B,Bps,否则Zabbix无法正确设置前缀(K,M,G等)。从Zabbix 2.2开始,也支持使用科学符号。 例如。 1e + 70。

Right trim从值的末尾删除指定的字符。

Left trim从值的起始处删除指定的字符。

Trim从值的起始和结尾删除指定的字符。

Regular expression将值与正则表达式匹配,并用替换值。 正则表达式支持用\N序列提取最多10个捕获的组。\ 参数:

pattern – 正则表达式

output – 输出格式化模板。一个\N(其中N = 1 … 9)转义序列被替换为第N个匹配组。

Boolean to decimal将值从布尔格式转换为十进制。文本表示被转换为0或1.因此,“TRUE”存储为1,“FALSE”存储为0.所有值都以不区分大小写的方式进行匹配。当前被认为的布尔值值如下:

TRUE – true, t, yes, y, on, up, running, enabled, available

FALSE – false, f, no, n, off, down, unused, disabled, unavailable

此外,任何非零数值都被认为是TRUE,0被认为是FALSE。

Octal to decimal将八进制格式的值转换为十进制。

Hexadecimal to decimal将值从十六进制格式转换为十进制。

Delta计算当前值和上一个值之间的差值。评估为value-prev_value,其中 value – current value; prev_value – 以前收到的值每个项目只允许一个delta操作。

Delta per second计算每秒速度的值变化(当前值和上一个值的差值)。

计算为(value-prev_value)/(time-prev_time),其中 value – 当前值; prev_value – 当前收到的值; time – 当前时间戳,prev_time – 以前值的时间戳。

这个设置是非常有用的,以获得每秒不断增长的速度值。 如果当前值小于上一个值,Zabbix将丢弃该差异(不存储)并等待另一个值。这有助于正常工作,例如,32位SNMP计数器的包装(溢出)。

注意: 由于此计算可能产生浮点数,建议将’Type of information’ 设置为 Numeric (float),即使传入的原始值是整数。 这对于小数部分尤其重要。 如果浮点值很大并且可能超过’float’字段长度,在这种情况下,整个值可能会丢失,实际上建议使用Numeric(无符号),因此只会修剪小数部分。

每个监控项只允许一个delta操作。

1.1 正则表达式

1、选择字符或文本监控项

选择了收集系统CPU信息的监控项作为实验操作对象。未做处理时原始值为字符串

2、现在把这个监控项的Preprocessing名称下拉菜单选择为正则表达式

3、根据官方说明信息,监控项收集字符串如果符合^processor正则表达式的就会被替换为test,等待一段时候后结果符合预期

4、正则表达式还可以使用\N(N=1……9)序列方式,格式化输出替换的模版,大大丰富的正则替换的类型,并可以重组替换的输出值。下面修改正则表达式使用序列方式自定义输出值

5、正则表达式为(GenuineIntel).*(working),替换值为 \1 test \2,第一个括号的正则表达式代表第一个序列,第二个括号的正则表达式代表第二个序列,替换值分别使用\1和\2代表,不过必须要注意去掉括号后,整个正则表达式必须匹配监控项值的一部分,否则得出的结果为空值。

得出的结果符合预期。

6、Proprocessing还有一个特别棒的功能,被转换了一次的数值可以在被下一层继续处理,如果熟悉使用过shell命令的管道符的话,对于这个就不难理解。如下图,增加多一层转换

结果为

7、可以在添加一层转换,使用\d+匹配其中的数字

结果为

1.2 自定义倍数

1、根据上面得出的数字,使用Custom multiplier自定义倍数转换,可获得预期值

结果为

1.3 过滤尾字符

1、从值的末尾删除指定的字符

结果为

1.4 过滤首字符

1、从值的起始处删除指定的字符

结果为

注:其它的转换处理根据表格说明自行验证

1.5 存储值转换

有意思是这些处理是在数据储存到数据库前的操作,而触发器的触发操作依据是数据库中储存的值,所以这一串处理储存到数据库的值是整数值类型的8,可以为这个监控项配置一个判断大于8等类型的触发器。

1.6 总结语

preprocessing功能非常实用,如深信服的网络设备,使用snmp方式监控并收集回来的数据,由于厂商预先进行了处理,导致网络流量的值为4.5MB或者56KB等形式,人性化的表现形式,而对于3.4以前的zabbix来说,整数或浮点数后面多一两个字符,这整串数据就不能以整数值或者浮点数配置监控项的数据库收集类型,必须使用文本字符串类型,而文本和字符串类型监控项触发器不能使用数值监控类型的判断并触发流量报警。要变成数字类型,唯一的方式是使用外部检查预先编写字符串处理脚本,但增加的配置监控项的繁琐程度,且外部检查降低了zabbix的性能,3.4的preprocessing功能使得问题解决,并更加灵活的处理监控数据。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 7,935评论 0 37
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,197评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,517评论 18 139
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,030评论 0 1
  • 一、准备搭建环境 1.系统:CentOS 7.3 2.软件:Zabbix 3.2 二、安装前的准备 最小化安装Ce...
    尘世不扰阅读 4,119评论 8 31