6 标记
概述
Zabbix提供了为各类实体添加标签的选项。标签可应用于以下对象:
- 模板
- 主机
- 监控项
- Web场景
- 触发器
- 服务
- 模板中的监控项和触发器
- 主机、监控项及触发器原型
标签具有多种用途,最显著的是用于标记事件。当实体被标记时,相应的新事件get会被同步标记:
- 标记模板时 - 由该模板相关实体(监控项、触发器等)产生的任何主机问题都将被标记
- 标记主机时 - 该主机的所有问题将被标记
- 标记监控项或Web场景时 - 该监控项或Web场景的任何数据/问题将被标记
- 标记触发器时 - 该触发器的所有问题将被标记
问题事件会继承整个模板链、主机、监控项、Web场景和触发器的所有标签。完全相同的tag:value组合(宏解析后)在标记事件时会被合并而非重复。
自定义事件标签提供了更高的灵活性。重要的是,事件可以基于标签进行correlated。在其他应用中,可基于标记事件定义动作。监控项问题可根据标签分组,问题标签还可用于将问题映射到问题标签。
标签实现为标签名和值的组合。可单独使用名称或与值配对:
MySQL, Service:MySQL, Services, Services:Customer, Applications, Application:Java, Priority:High
一个实体(模板、主机、监控项、Web场景、触发器或事件)可用相同名称但不同值标记 - 这些标签不会被视作"重复"。同理,无值的标签与带值的同名标签可同时使用。
使用场景
该功能的部分应用场景如下:
- 在前端标记触发器事件:
- 在触发器级别定义标签,例如
scope:performance; - 该触发器创建的所有问题都将被标记此标签。
- 在触发器级别定义标签,例如
- 标记所有模板继承的问题:
- 在模板级别定义标签,例如
target:MySQL; - 该模板触发器创建的所有主机问题都将被标记此标签。
- 在模板级别定义标签,例如
- 标记所有主机问题:
- 在主机级别定义标签,例如
service:Jira; - 该主机触发器的所有问题都将被标记此标签。
- 在主机级别定义标签,例如
- 分组相关监控项:
- 在监控项级别定义标签,例如
component:cpu; - 在最新数据部分,使用标签过滤器查看所有标记为
component:cpu的监控项。
- 在监控项级别定义标签,例如
- 识别日志file中的问题并单独关闭:
- 在日志触发器中定义标签,通过
{{ITEM.VALUE<N>}.regsub()}宏的值提取来识别事件; - 在触发器配置中设置多问题事件生成模式;
- 在触发器配置中使用event correlation: 选择"OK事件仅关闭匹配事件"选项并指定匹配标签;
- 查看带有标签的问题事件被单独关闭的情况。
- 在日志触发器中定义标签,通过
- 用于过滤通知:
- 在触发器级别定义不同标签来标记事件;
- 在动作条件中使用标签过滤,仅接收符合标签数据的通知。
- 使用监控项值提取的信息作为标签值:
- 在标签值中使用
{{ITEM.VALUE<N>}.regsub()}宏; - 在监控→问题中查看从监控项值提取的标签数据。
- 在标签值中使用
- 在通知中更好识别问题:
- 在触发器级别定义标签;
- 在问题通知中使用{EVENT.TAGS}宏;
- 更易识别通知所属的应用/服务。
- 通过模板级标签简化配置任务:
- 在模板触发器级别定义标签;
- 在所有从模板创建的触发器上查看这些标签。
- 通过低级发现(LLD)创建带标签的触发器:
- 在触发器原型上定义标签;
- 在标签名或值中使用LLD宏;
- 在所有从原型创建的触发器上查看这些标签。
- 使用服务标签匹配服务:
- 使用服务配置将服务映射到问题:
- 在服务配置中指定问题标签,例如
target:MySQL; - 具有匹配标签的问题将自动关联到该服务;
- 服务状态将变更为最高严重性问题的状态。
- 在服务配置中指定问题标签,例如
- 当一个主机处于维护模式时抑制问题:
- 在配置中定义标签,仅抑制具有匹配标签的问题。
- 授予用户组访问权限:
- 在配置配置中指定标签,仅允许查看具有匹配标签的问题。
配置
标签可以在专用选项卡中输入,例如在触发器配置中:

宏支持
标签中的内置宏和用户宏在事件发生时解析。在事件发生之前,这些宏将在Zabbix前端显示为未解析状态。低级发现宏在发现过程中解析。
以下宏可用于触发器标签中:
- {ITEM.VALUE}, {ITEM.LASTVALUE}, {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} 和 {HOST.ID} 宏可用于填充标签名称或标签值。
- {INVENTORY.*} macros 可用于 在触发器表达式中引用一个或多个主机的主机资产记录值
- User macros 以及带上下文的用户宏支持用于标签名称/值; 上下文可能包含低级发现宏。
-
低级发现宏可用于标签名称/值
trigger prototypes.
以下宏可用于基于触发器的通知:
- {EVENT.TAGS}和{EVENT.RECOVERY.TAGS}宏将解析为 逗号分隔的事件标签或恢复事件标签列表
-
{EVENT.TAGSJSON} 和 {EVENT.RECOVERY.TAGSJSON} 宏将被解析
to a JSON array containing event tag objects or recovery event tag objects
以下宏可用于模板、主机、监控项和网页 场景标签:
- {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT}和{HOST.ID}宏
- {INVENTORY.*} macros
- User macros
- 低级发现宏可用于监控项原型标签
以下宏可在主机原型标签中使用:
- {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {HOST.PORT} 和 {HOST.ID} 宏
- {INVENTORY.*} macros
- User macros
- Low-level discovery macros 将 在发现过程中解析并随后添加到 已发现 主机
触发器标签中的子字符串提取
支持通过子字符串提取来填充标签名称或标签值,使用宏函数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个字符。
另请参阅:在使用宏函数中使用宏函数进行事件标记。
查看事件标签
如果已定义标签,可以在以下位置的新事件中查看:
- 监控 → 问题
- 监控 → 问题 → 事件详情
- 监控 → 仪表板 → 问题 小部件

仅显示前三个标签条目。如果超过三个标签条目,将以三个点表示。将鼠标悬停在这三个点上时,所有标签条目将在弹出窗口中显示。
请注意,标签的显示顺序受标签过滤以及监控 → 问题或问题仪表板小部件过滤器中的标签显示优先级选项影响。