事件标签
概述
在Zabbix中有一个定义自定义事件标签的选项。该标签可以在模板、主机和触发器级别定义。
定义标签后,将使用标签数据标记相应的新事件:
模板级别的标签——由该模板的触发器生成的主机问题将被标记
主机级别的标签——该主机的所有问题将会被标记
触发器级别的标签——该触发器产生的问题将被标记
事件从模板、主机、触发器的整个链路中继承所有标签。在标记事件时,完全相同的tag:value
组合(在解析之后)会合并成一个,而不是产生重复的多个标记。
拥有自定义事件标签可提供更大的灵活性。最重要的是,可以基于事件标签进行事件关联。另外,可以根据事件标签定义动作。
事件标签的展示形式为一对tag name(标签名) 和 value(值)。可以只使用标签名或将其与一个值配对:
MySQL, Service:MySQL, Services, Services:Customer, Applications, Application:Java, Priority:High
一个(触发器、模板、主机或事件)实体可能有多个名称相同但是值不同的标签——这些标签不会被视为“重复项”。例如,空值和有值的同名标签可以同时使用。
主机原型和从原型创建的主机不支持使用标签。
使用示例
该功能的一些使用示例如下:
在前端标记触发器事件
在触发器级别定义标签;
在Monitoring ——> Problems 页面查看所有被这些标签标记的触发器问题。
标记所有继承自模板的问题
在模板级别定义标签,例如 ‘App=MySQL’;
在Monitoring ——> Problems 页面查看所有被通过模板触发器创建标签标记的主机问题。
标记所有主机问题
在主机级别定义标签,例如 ‘Service=JIRA’;
在Monitoring ——> Problems 页面查看被这些标签标记的所有主机触发器问题。
识别日志文件中的问题并分别将其关闭
在日志触发器中定义标签,这些标签将使用
{{ITEM.VALUE<N>}.regsub()}
宏解析的值来识别事件;触发器配置中
问题事件生成模式(PROBLEM event generation mode)
选择多重(Mulitple)
;触发器配置中使用 事件关联:在选项
事件成功关闭(OK event closes)
中选择所有问题如果标签值匹配(All problems if tag values match)
,然后在匹配标签(Tag for matching)
中输入要匹配的标签;查看使用标签创建并分别关闭的问题事件。
用标签来过滤通知
在触发器级别定义标签,以通过不同的标签标记事件;
在动作条件下使用标签过滤,对仅与标签数据匹配的事件上接收通知。
使用从监控项的值中提取的信息作为标签值
在标签值中使用宏
{{ITEM.VALUE<N>}.regsub()}
;在 Monitoring → Problems 页面查看从监控项值中提取的数据作为标签值的问题。
在通知中更好地识别问题
在触发器级别定义标签;
在问题通知中使用宏 {EVENT.TAGS} ;
更容易识别通知所属的应用程序/服务。
通过在模板级别使用标签简化配置任务
在模板触发器级别定义标签;
在模板触发器创建的所有触发器上查看这些标签。
使用低级发现(LLD)中的标签创建触发器
在触发器原型上定义标签;
在标签名或值中使用LLD宏;
在触发器原型创建的所有触发器上查看这些标签.
配置
事件标签可以在如下配置中进行配置:
模板配置 - 链接到主机时影响模板中的所有触发器
主机配置 - 影响主机的所有触发器
单个触发器配置:
可以为触发器、模板触发器和触发器原型定义事件标签。
支持的宏
以下宏可用于触发器级别标签:
{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}或低级发现宏中,例如:
{{ITEM.VALUE}.regsub(pattern, output)}
{{ITEM.VALUE}.iregsub(pattern, output)}
{{#LLDMACRO}.regsub(pattern, output)}
{{#LLDMACRO}.iregsub(pattern, output)}
如果宏解析后的标签名或值的长度超过255个字符,则标签名或值将被剪切为255个字符。
也可参照: 在 低级发现宏 中使用宏函数进行事件标记。.
查看事件标签
事件标签(如果已定义)可以在如下产生的新事件列表的页面查看:
Monitoring → Problems
Monitoring → Problems → Event details
Monitoring → Dashboard → Problems widget (将鼠标移动到问题名称上时打开的弹出窗口中)
仅显示前三个标签条目。如果有三个以上的标签条目,则用三个点表示。如果将鼠标移动到这三个点上时,所有标签条目都将显示在弹出窗口中。
注意,标签的显示顺序受筛选器和页面Monitoring→Problems 或 仪表板小构件Problems 的 标签显示优先级 选项的影响。