概述

  预处理允许为接收到的item值定义转换规则。 在保存到数据库之前,可以进行一次或多次转换。

  转换按照定义的顺序执行。 预处理由 Zabbix server或proxy完成(如果item由proxy监控)。

       请注意,转换为所需值类型(在item配置中定义)是在预处理管道结束时执行的;

预处理各个参数讲解

Text

  • Regular expression

          

zabbix预处理修整左边去掉空格 zabbix 预处理_正则表达式

          将值与正则表达式pattern进行匹配,并将值输出到output,正则表达式支持使用 \N 序列提取最多 10 个捕获的组

          如果勾选了“Custom on fail”复选框,在预处理失败的情况下item不会变成不支持,并且可以自定义错误处理选项:

          discard the value:丢弃值

          set value to:设置指定的值

          set error to:设置指定的错误消息

正则表达式支持全局表达式(通过@+名称引用),也可以手动填写

  • 全局正则表达式讲解

         

zabbix预处理修整左边去掉空格 zabbix 预处理_字符串_02

         

zabbix预处理修整左边去掉空格 zabbix 预处理_字符串_03

        Character string included - 匹配子字符串

         Any character string included - 匹配分隔列表中的任何子字符串。 分隔列表包括逗号 (,)、点 (.) 或正斜杠 (/)。

        Character string not included - 匹配除子字符串之外的任何字符串

        Result is TRUE - 匹配正则表达式

        Result is FALSE - 不匹配正则表达式

        Case sensitive - 一个复选框,用于指定正则表达式是否对字母的大小写敏感。

  •  Replace

       

zabbix预处理修整左边去掉空格 zabbix 预处理_正则表达式_04

 

           找到搜索字符串并将其替换为另一个(或没有)。 将替换所有出现的搜索字符串。

     参数:

     search string - 要查找和替换的字符串,区分大小写(必需)

     replacement - 用于替换搜索字符串的字符串。 替换字符串也可以为空,有效地允许在找到时删除搜索字符串。

     可以使用转义序列来搜索或替换换行符、回车、制表符和空格“\n \r \t \s”; 反斜杠可以转义为“\\”,转义序列可以转义为“\\n”。 在低级发现期间自动完成换行符、回车、制表符的转义。

  •  Trim

     从值的开头和结尾删除指定的字符。

  • Right trim

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

  • Left trim

    从值的开头删除指定的字符。

   Structured data

  • XML XPath

zabbix预处理修整左边去掉空格 zabbix 预处理_正则表达式_05

  使用 XPath 功能从 XML 数据中提取值或片段。

  要使此选项起作用,Zabbix 服务器必须使用 libxml 支持进行编译。

  • JSON Path

  使用 JSONPath 功能从 JSON 数据中提取值或片段。

  • CSV to JSON

       将 CSV 文件数据转换为 JSON 格式。参考链接

   Arithmetic

  •  Custom multiplier

   将该值乘以指定的整数或浮点值。

  请注意,如果信息的项目类型是数字(无符号),则在应用自定义乘数之前,将修剪带有小数部分的传入值(即“0.9”将变为“0”)。

Change

  • Simple change

  计算当前值与先前值之间的差值

  •  Change per second

   计算每秒的值变化(当前值和先前值之间的差异)速度。

  Numeral systems

  • Boolean to decimal

   布尔类型转换为十进制

        文本表示被转换为 0 或 1。因此,“TRUE”存储为 1,“FALSE”存储为 0。所有值都以不区分大小写的方式匹配。 当前公认的值是:

  TRUE - true, t, yes, y, on, up, running, enabled, available, ok, master
  FALSE - false, f, no, n, off, down, unused, disabled, unavailable, err, slave

  • Octal to decimal

   将值从八进制格式转换为十进制。

  • Hexadecimal to decimal

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

   Custom scripts

  • JavaScript

  

zabbix预处理修整左边去掉空格 zabbix 预处理_zabbix预处理修整左边去掉空格_06

 

  Validation

  • In range

   

zabbix预处理修整左边去掉空格 zabbix 预处理_正则表达式_07

  通过指定最小/最大值(包括)来定义一个值应该在的范围。

  • Matches regular expression

  

zabbix预处理修整左边去掉空格 zabbix 预处理_正则表达式_08

  指定一个值必须匹配的正则表达式。

  • Does not match regular expression

zabbix预处理修整左边去掉空格 zabbix 预处理_字符串_09

 

   指定一个值不能匹配的正则表达式

  • Check for error in JSON

  检查位于 JSONpath 的应用程序级错误消息。

  • Check for error using a regular expression

  使用正则表达式检查应用程序级错误消息。

  • Check for not supported value

  Throttling

  • Discard unchanged

  如果值未更改,则丢弃它。

  如果一个值被丢弃,它不会保存在数据库中,并且 Zabbix 服务器不知道该值已被接收。 不会评估触发器表达式,因此不会创建/解决相关触发器的问题。 函数仅基于实际保存在数据库中的数据起作用。 由于趋势是基于数据库中的数据构建的,如果一个小时内没有保存值,那么该小时也没有趋势数据。

  • Discard unchanged with heartbeat

   

zabbix预处理修整左边去掉空格 zabbix 预处理_正则表达式_10

  如果值在定义的时间段(以秒为单位)内未更改,则丢弃该值。

   Prometheus

  •  Prometheus pattern
  • Prometheus to JSON

    

 

不积跬步,无以至千里;不积小流,无以成江海。