这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

6 标记

概览

Zabbix 中有一个选项可以标记各种实体。标签可以定义为:

  • 模板
  • 主机
  • 监控项
  • 网络场景
  • 触发器
  • 模板项目和触发器
  • 主机、监控项和触发器原型

标签有多种用途,最明显的是标记事件。如果实体被标记,相应的新事件也会被标记:

  • 带有标记的模板 - 所有由此模板相关实例(监控项、触发器等)创建的主机问题都会被标记。
  • 带有标记的主机 - 主机的所有问题都将被标记
  • 带有标记的项目、网络场景 - 该监控项的所有数据/问题或web场景将被标记
  • 带有标记的触发器 - 此触发器的所有问题都将被标记

一个问题事件继承了整个模板链中的所有标签,主机、监控项、Web 场景、触发器。当标记事件时,完全相同的tag:value组合(在解析宏之后)合并为一个而不是被复制。

拥有自定义事件标签可以提供更大的灵活性。特别是事件可以基于 相关事件标签。在其他用途中,可以根据标记定义操作事件。监控项问题可以根据标签进行分组。

标记实现为一对 tag namevalue。您可以仅使用名称或将其与值配对:

MySQL, Service:MySQL, Services, Services:Customer, Applications, Application:Java, Priority:High

一个实体(模板、主机、监控项、Web 场景、触发器或事件)可能是使用相同名称但值不同的标签 - 这些标签不会被认为是“重复”。同样,一个没有值的标签和同一个标签值可以同时使用。

用例

此功能的一些用例如下:

  1. 在前端标记触发事件
    • 在触发器级别定义标签;
    • 监控问题中查看所有触发问题是如何用这些标签标记的.
  2. 标记所有模板继承的问题
    • 在模板级别定义标签,例如'App=MySQL';
    • 查在监控→* 问题 *中,可以看到由该模板中的触发器创建的那些主机问题是如何被标记为这些标记的。
  3. 标记所有主机问题
    • 在主机级别定义标签,例如'Service=JIRA';
    • 监控中的标签→问题中查看主机触发器的所有问题是如何用这些标记的。
  4. 相关监控项组
    • 在监控项级别定义标签,例如'MySQL';
    • 使用 最新数据 的监控项标签过滤器查看所有标记为'MySQL'。
  5. 识别日志文件中的问题并分别关闭
    • 在日志触发器中定义标签,这些标签将通过提取宏{{ITEM.VALUE<N>}.regsub()}的值来标记事件;
    • 在触发器配置中,使用多个问题事件生成模式;
    • 在触发器配置中,使用 event相关性: 选择OK 事件仅关闭匹配事件并选择匹配标签;
    • 查看使用标签创建并单独关闭的问题事件。
  6. 用来过滤通知
    • 在触发级别上定义标签,以便通过不同的标签标记事件;
    • 在动作条件中使用标签过滤,仅接收与标签数据匹配的事件通知。
  7. 使用从监控项值中提取的信息作为标签值 - 在标签值中使用 {{ITEM.VALUE<N>}.regsub()} 宏; - 在 监控问题 中查看从监控项值中提取的数据作为标签值。
  8. 在通知中更好地识别问题
    • 在触发级别定义标签;
    • 在问题通知中使用 {EVENT.TAGS} 宏;
    • 更容易识别通知所属的应用程序/服务。
  9. 使用模板级别的标签简化配置任务
    • 在模板触发级别定义标签;
    • 查看从模板触发器创建的所有触发器上的这些标记.
  10. 使用来自低级别发现 (LLD) 的标签创建触发器
    • 在触发器原型上定义标签;
    • 在标签名称或值中使用 LLD 宏;
    • 查看从触发器原型创建的所有触发器上的这些标签。

配置

可以在专用选项卡中输入标签,例如在触发器配置:

宏支持

以下宏可用于触发标记:

  • {ITEM.VALUE}、{ITEM.LASTVALUE}、{HOST.HOST}、{HOST.NAME}、 {HOST.CONN}、{HOST.DNS}、{HOST.IP}、{HOST.PORT} 和 {HOST.ID} 宏 可用于填充标签名称或标签值
  • {INVENTORY.*} 可以在主机触发器表达式中引用一个或多个主机资产值
  • 标签名称/值支持[用户宏](/manual/config/macros/user_macros)和用户宏 上下文。用户宏上下文可能包括低级发现宏
  • 在触发器原型中,可以使用低级别的发现宏来发现标记名/值

以下宏可用于基于触发器的通知:

  • {EVENT.TAGS} 和 {EVENT.RECOVERY.TAGS} 宏将解析为逗号分隔的事件标签或恢复事件标签列表
  • {EVENT.TAGSJSON} 和 {EVENT.RECOVERY.TAGSJSON} 宏将解析到包含事件标签的 JSON 数组 对象 或恢复事件标记对象

以下宏可用于模板、主机、监控项和网页场景标签:

  • {HOST.HOST}、{HOST.NAME}、{HOST.CONN}、{HOST.DNS}、{HOST.IP}、 {HOST.PORT} 和 {HOST.ID} 宏
  • {INVENTORY.*}
  • 用户宏
  • 低级发现宏可以在监控项原型标签中使用

以下宏可用于主机原型标签:

  • {HOST.HOST}、{HOST.NAME}、{HOST.CONN}、{HOST.DNS}、{HOST.IP}、 {HOST.PORT} 和 {HOST.ID} 宏
  • {INVENTORY.*}
  • 用户宏
  • 在发现过程中将解析低级发现宏 ,然后添加到发现主机
触发器标签中提取子字符串

支持提取子字符串以填充标签名称或标签值,使用宏 function -将正则表达式应用于 {ITEM.VALUE},{ITEM.LASTVALUE} 宏或低级发现宏所获得的值。例如:

{{ITEM.VALUE}.regsub(pattern,output)}
       {{ITEM.VALUE}.iregsub(pattern,output)}
       
       {{#LLDMACRO}.regsub(pattern,output)}
       {{#LLDMACRO}.iregsub(pattern,output)}

如果标签名和标签值的宏被解析后长度超过255 个字符,标记名和值将被切割为255个字符。

另请参阅:在 低级发现宏使用宏函数来实现事件标记。

查看事件标签

标记(如果已定义)可以在以下新事件中看到:

  • 监控问题
  • 监控问题事件详情
  • 监控仪表板问题小部件(在弹出窗口中将鼠标悬停在问题名称上时打开|

仅显示前三个标签对。如果有超过三个标签对,由三个点表示。如果你把鼠标移动到这三个点上,所有标签对都会显示在弹出窗口中。

请注意,在监控问题问题仪表板小部件中,标签的显示顺序受标签过滤器和过滤器中的标签显示优先级影响。