标签由标签名称和标签值组成。
在对实体进行标签标记时,可以仅使用名称,或者将其与值配对(例如,mysql
、jira
、target:mysql
、service:jira
等)。
可以为以下各种实体定义标签:
有关定义标签的官方 Zabbix 指南,请参考 general recommendations,以及针对以下内容的具体指南:
标签、标签、
triggers 和 标签。
标签具有多种用途,最显著的是标记 events。
当实体被标记后,与该标记实体相关的任何新事件都将继承其标签。例如:
问题事件将继承整个实体链中的所有标签 —— 模板、主机、监控项/Web 场景、触发器。
相同的 tag:value
组合(宏解析后)将合并为一个,从而避免重复。
自定义事件标签提供了更大的灵活性。例如:
实体可以使用相同的标签名称但不同的标签值进行标记(例如,component:memory
和 component:storage
)。
同样,一个实体可以拥有无值的标签以及同名但带值的标签(例如,database
和 database:postgresql
)。
此类标签不被视为重复。
以下是标签的一些常见使用场景:
1。标记触发事件: - 定义一个触发器标签(例如,scope:performance
)。 - 该触发器创建的问题将带有该触发器标签。
2。标记模板继承的问题: - 定义一个模板标签(例如,target:mysql
)。 - 该模板中的触发器创建的问题将带有该模板标签。
3。标记主机问题: - 定义一个主机标签(例如,service:jira
)。 - 该主机中的触发器创建的问题将带有主机标签。
4。过滤相关监控项: - 定义一个监控项标签(例如,component:cpu
)。 - 在 监控 → 使用过滤器 中,可以通过component:cpu
标签过滤监控项。
5。使用从监控项值中提取的信息作为标签值: - 定义一个标签,其值使用宏(例如,tag-name:{{ITEM.VALUE<N>}.regsub()}
)。 - 在 监控 → Problems 中,问题的标签值将解析为从监控项值中提取的数据。
6。识别日志file中的问题并分别关闭: - 为log monitoring item触发器定义一个触发器标签,该触发器将使用宏从监控项值中提取值(例如,service:{{ITEM.VALUE<N>}.regsub()}
)。 - 在配置中,设置event correlation: - 将问题事件生成模式设置为“多个”; - 将OK事件关闭设置为“如果标签值匹配,则关闭所有问题”; - 设置用于匹配的标签。 - 日志监控项触发器创建的问题将带有触发器标签,并将单独关闭。
7。过滤通知: - 定义触发器标签(例如,scope:security
用于trigger1,scope:availability
用于trigger2)。 - 在action conditions中使用标签过滤,仅接收与标签数据匹配的事件通知。
8。在通知中标识问题: - 定义触发器标签。 - 在问题通知中使用{EVENT.TAGS}宏。 - 问题通知将包含触发器标签,从而更容易识别通知属于哪个应用程序/服务。
9。通过使用模板标签简化配置任务: - 定义一个模板触发器标签。 - 从该模板触发器创建的触发器将继承该标签。
10。从低级别自动发现(LLD)创建带标签的触发器: - 在标签名称或值中定义一个带有LLD宏的触发器原型标签(例如,scope:{#FSNAME}
)。 - 从触发器原型创建的触发器将继承其标签。
11。使用服务标签匹配服务: - 定义服务标签。 - 为具有匹配标签的服务配置service actions。 - 此外,使用服务标签将服务链接到配置以进行SLA计算。
12。使用服务问题标签将服务与问题关联: - 在服务配置中定义问题标签(例如,target:mysql
)。 - 具有匹配标签的问题将自动关联到该服务,并且服务状态将根据配置的服务状态计算规则更改。
13。当一个主机处于维护模式时抑制问题: - 在配置中定义标签。 - 具有已定义标签的问题将被抑制。
14。授予用户组访问权限: - 在配置中定义标签。 - 用户组中的用户只能查看具有已定义标签的问题。
标签可以在专用的标签页中定义,例如,在 配置 中:
在事件发生时,标签中的 Built-in 和 user macros 将被解析。 在事件发生之前,这些宏将在 Zabbix 前端显示为未解析状态。
Low-level discovery macros 在发现过程中被解析。
以下宏可在触发器标签名称和值中使用:
以下宏可在模板、主机 以及 监控项/web 场景标签名称和值中使用:
以下宏可在基于触发器的通知中使用:
支持使用宏 function 对标签名称或标签值进行子字符串提取。 该函数会对 支持的 宏获取的值应用正则表达式。例如:
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
如果在宏解析后标签名称或值超过 255 个字符,则会被截断为 255 个字符。
另见:在 使用宏函数 中使用宏函数进行事件标记。
标签(如果已定义)可以在以下位置的新事件中查看:
显示的标签顺序和数量由 监控 → 问题 或 问题 仪表板小部件中的 标签显示优先级 和 显示标签 过滤选项决定。 请注意,最多可显示三个标签;如果标签数量超过三个,将鼠标悬停在三个点上会在弹出窗口中显示所有标签。