[comment]: # ({b912f9f4-41efdec7})
# 事件标签

[comment]: # ({/b912f9f4-41efdec7})

[comment]: # ({924ad505-b456a464})
#### 概述

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

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

-   模板级别的标签——由该模板的触发器生成的主机问题将被标记
-   主机级别的标签——该主机的所有问题将会被标记
-   触发器级别的标签——该触发器产生的问题将被标记

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

拥有自定义事件标签可提供更大的灵活性。最重要的是，可以基于事件标签进行[事件关联](/zh/manual/config/event_correlation)。另外，可以根据事件标签定义动作。

事件标签的展示形式为一对*tag name（标签名）* 和
*value（值）*。可以只使用标签名或将其与一个值配对：

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

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

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

[comment]: # ({/924ad505-b456a464})

[comment]: # ({5eb094ff-714ab480})
#### 使用示例

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

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

```{=html}
<!-- -->
```
       * 在触发器级别定义标签； 
       * 在//Monitoring// ——> //Problems// 页面查看所有被这些标签标记的触发器问题。
    - 标记所有继承自模板的问题 
       * 在模板级别定义标签，例如 'App=MySQL'；
       * 在//Monitoring// ——> //Problems// 页面查看所有被通过模板触发器创建标签标记的主机问题。
    - 标记所有主机问题 
       * 在主机级别定义标签，例如 'Service=JIRA'；
       * 在//Monitoring// ——> //Problems// 页面查看被这些标签标记的所有主机触发器问题。
    - 识别日志文件中的问题并分别将其关闭
       * 在日志触发器中定义标签，这些标签将使用''%%{{%%ITEM.VALUE<N>}.regsub()}'' 宏解析的值来识别事件；
       * 触发器配置中''问题事件生成模式(PROBLEM event generation mode)''选择''多重(Mulitple)''；
       * 触发器配置中使用 [[zh:manual/config/event_correlation|事件关联]]：在选项''事件成功关闭(OK event closes)''中选择''所有问题如果标签值匹配(All problems if tag values match)''，然后在''匹配标签(Tag for matching)''中输入要匹配的标签；
       * 查看使用标签创建并分别关闭的问题事件。
    - 用标签来过滤通知
       * 在触发器级别定义标签，以通过不同的标签标记事件；
       * 在动作条件下使用标签过滤，对仅与标签数据匹配的事件上接收通知。
    - 使用从监控项的值中提取的信息作为标签值
       * 在标签值中使用宏 ''%%{{%%ITEM.VALUE<N>}.regsub()}'' ;
       * 在 //Monitoring// → //Problems// 页面查看从监控项值中提取的数据作为标签值的问题。
    - 在通知中更好地识别问题
       * 在触发器级别定义标签;
       * 在问题通知中使用宏 {EVENT.TAGS} ; 
       * 更容易识别通知所属的应用程序/服务。
    - 通过在模板级别使用标签简化配置任务 
       * 在模板触发器级别定义标签; 
       * 在模板触发器创建的所有触发器上查看这些标签。
    - 使用低级发现(LLD)中的标签创建触发器 
       * 在触发器原型上定义标签; 
       * 在标签名或值中使用LLD宏;
       * 在触发器原型创建的所有触发器上查看这些标签.

[comment]: # ({/5eb094ff-714ab480})

[comment]: # ({246b69c2-647ba99a})
#### 配置

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

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

![](../../../../../assets/zh/manual/config/triggers/event_tags.png)

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

[comment]: # ({/246b69c2-647ba99a})

[comment]: # ({fa80b26b-21e6eb0e})
#### 支持的宏

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

-   {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME},
    {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} 和 {HOST.ID}
    这些宏可被填写到标签名或标签值中。
-   {INVENTORY.\*}
    [宏](/zh/manual/appendix/macros/supported_by_location)
    可在触发器表达式中用于从一个或多个主机中获取主机资产信息 (从 4.0.0
    开始支持)。
-   [用户宏](/manual/config/macros/user_macros)
    标签名/值支持用户宏上下文。用户宏上下文可能包括低级发现宏。
-   低级发现宏可用于触发器原型中的标签名/值。

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

-   {EVENT.TAGS} 和 {EVENT.RECOVERY.TAGS}
    宏将解析为事件标签或恢复事件标签的逗号分隔列表。
-   {EVENT.TAGSJSON} and {EVENT.RECOVERY.TAGSJSON}
    宏将解析为包含事件标签[对象](/zh/manual/api/reference/event/object#event_tag)
    或恢复事件标签对象的JSON数组。

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

-   {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP},
    {HOST.PORT} 和 {HOST.ID} 宏
-   {INVENTORY.\*}
    [宏](/zh/manual/appendix/macros/supported_by_location)
-   [用户宏](/manual/config/macros/user_macros)

[comment]: # ({/fa80b26b-21e6eb0e})

[comment]: # ({197b0d6d-20ae36ff})
##### 触发器标签中使用提取的字符串

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

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

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

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

也可参照: 在
[低级发现宏](/zh/manual/config/macros/lld_macros#using_macro_functions)
中使用宏函数进行事件标记。.

[comment]: # ({/197b0d6d-20ae36ff})

[comment]: # ({237b78bc-8754fe8a})
#### 查看事件标签

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

-   *Monitoring* → *Problems*
-   *Monitoring* → *Problems* → *Event details*
-   *Monitoring* → *Dashboard* → *Problems* widget
    (将鼠标移动到问题名称上时打开的弹出窗口中)

![](../../../../../assets/zh/manual/config/triggers/event_tags_view.png){width="600"}

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

注意，标签的显示顺序受筛选器和页面*Monitoring*→*Problems* 或
[仪表板小构件](/zh/manual/web_interface/frontend_sections/monitoring/dashboard/widgets)*Problems*
的 *标签显示优先级* 选项的影响。

[comment]: # ({/237b78bc-8754fe8a})
