事件标签

概述

在Zabbix中有一个定义自定义事件标签的选项。该标签可以在模板、主机和触发器级别定义。

定义标签后,将使用标签数据标记相应的新事件:

  • 模板级别的标签——由该模板的触发器生成的主机问题将被标记

  • 主机级别的标签——该主机的所有问题将会被标记

  • 触发器级别的标签——该触发器产生的问题将被标记

事件从模板、主机、触发器的整个链路中继承所有标签。在标记事件时,完全相同的tag:value组合(在解析之后)会合并成一个,而不是产生重复的多个标记。

拥有自定义事件标签可提供更大的灵活性。最重要的是,可以基于事件标签进行事件关联。另外,可以根据事件标签定义动作。

事件标签的展示形式为一对tag name(标签名)value(值)。可以只使用标签名或将其与一个值配对:

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

一个(触发器、模板、主机或事件)实体可能有多个名称相同但是值不同的标签——这些标签不会被视为“重复项”。例如,空值和有值的同名标签可以同时使用。

主机原型和从原型创建的主机不支持使用标签。

使用示例

该功能的一些使用示例如下:

  1. 在前端标记触发器事件

    • 在触发器级别定义标签;

    • Monitoring ——> Problems 页面查看所有被这些标签标记的触发器问题。

  2. 标记所有继承自模板的问题

    • 在模板级别定义标签,例如 ‘App=MySQL’;

    • Monitoring ——> Problems 页面查看所有被通过模板触发器创建标签标记的主机问题。

  3. 标记所有主机问题

    • 在主机级别定义标签,例如 ‘Service=JIRA’;

    • Monitoring ——> Problems 页面查看被这些标签标记的所有主机触发器问题。

  4. 识别日志文件中的问题并分别将其关闭

    • 在日志触发器中定义标签,这些标签将使用{{ITEM.VALUE<N>}.regsub()} 宏解析的值来识别事件;

    • 触发器配置中问题事件生成模式(PROBLEM event generation mode)选择多重(Mulitple)

    • 触发器配置中使用 事件关联:在选项事件成功关闭(OK event closes)中选择所有问题如果标签值匹配(All problems if tag values match),然后在匹配标签(Tag for matching)中输入要匹配的标签;

    • 查看使用标签创建并分别关闭的问题事件。

  5. 用标签来过滤通知

    • 在触发器级别定义标签,以通过不同的标签标记事件;

    • 在动作条件下使用标签过滤,对仅与标签数据匹配的事件上接收通知。

  6. 使用从监控项的值中提取的信息作为标签值

    • 在标签值中使用宏 {{ITEM.VALUE<N>}.regsub()} ;

    • MonitoringProblems 页面查看从监控项值中提取的数据作为标签值的问题。

  7. 在通知中更好地识别问题

    • 在触发器级别定义标签;

    • 在问题通知中使用宏 {EVENT.TAGS} ;

    • 更容易识别通知所属的应用程序/服务。

  8. 通过在模板级别使用标签简化配置任务

    • 在模板触发器级别定义标签;

    • 在模板触发器创建的所有触发器上查看这些标签。

  9. 使用低级发现(LLD)中的标签创建触发器

    • 在触发器原型上定义标签;

    • 在标签名或值中使用LLD宏;

    • 在触发器原型创建的所有触发器上查看这些标签.

配置

事件标签可以在如下配置中进行配置:

  • 模板配置 - 链接到主机时影响模板中的所有触发器

  • 主机配置 - 影响主机的所有触发器

  • 单个触发器配置:

事件标签 - 图1

可以为触发器、模板触发器和触发器原型定义事件标签。

支持的宏

以下宏可用于触发器级别标签:

  • {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} 和 {HOST.ID} 这些宏可被填写到标签名或标签值中。

  • {INVENTORY.*} 可在触发器表达式中用于从一个或多个主机中获取主机资产信息 (从 4.0.0 开始支持)。

  • 用户宏 标签名/值支持用户宏上下文。用户宏上下文可能包括低级发现宏。

  • 低级发现宏可用于触发器原型中的标签名/值。

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

  • {EVENT.TAGS} 和 {EVENT.RECOVERY.TAGS} 宏将解析为事件标签或恢复事件标签的逗号分隔列表。

  • {EVENT.TAGSJSON} and {EVENT.RECOVERY.TAGSJSON} 宏将解析为包含事件标签对象 或恢复事件标签对象的JSON数组。

以下宏可用于模板和主机级标签:

  • {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} 和 {HOST.ID} 宏

  • {INVENTORY.*}

  • 用户宏

触发器标签中使用提取的字符串

支持使用宏中提取的字符串来作为标签名或标签值-将正则表达式应用于宏{ITEM.VALUE}, {ITEM.LASTVALUE}或低级发现宏中,例如:

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

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

也可参照: 在 低级发现宏 中使用宏函数进行事件标记。.

查看事件标签

事件标签(如果已定义)可以在如下产生的新事件列表的页面查看:

  • MonitoringProblems

  • MonitoringProblemsEvent details

  • MonitoringDashboardProblems widget (将鼠标移动到问题名称上时打开的弹出窗口中)

事件标签 - 图2

仅显示前三个标签条目。如果有三个以上的标签条目,则用三个点表示。如果将鼠标移动到这三个点上时,所有标签条目都将显示在弹出窗口中。

注意,标签的显示顺序受筛选器和页面MonitoringProblems仪表板小构件Problems标签显示优先级 选项的影响。