在Zabbix中有一个定义自定义事件标签的选项。该标签可以在模板、主机和触发器级别定义。
定义标签后,将使用标签数据标记相应的新事件:
事件从模板、主机、触发器的整个链路中继承所有标签。在标记事件时,完全相同的tag:value
组合(在解析之后)会合并成一个,而不是产生重复的多个标记。
拥有自定义事件标签可提供更大的灵活性。最重要的是,可以基于事件标签进行事件关联。另外,可以根据事件标签定义动作。
事件标签的展示形式为一对tag name(标签名) 和 value(值)。可以只使用标签名或将其与一个值配对:
一个(触发器、模板、主机或事件)实体可能有多个名称相同但是值不同的标签——这些标签不会被视为“重复项”。例如,空值和有值的同名标签可以同时使用。
主机原型和从原型创建的主机不支持使用标签。
该功能的一些使用示例如下:
* 在触发器级别定义标签;
* 在//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宏;
* 在触发器原型创建的所有触发器上查看这些标签.
事件标签可以在如下配置中进行配置:
可以为触发器、模板触发器和触发器原型定义事件标签。
以下宏可用于触发器级别标签:
以下宏可用于基于触发器的通知:
以下宏可用于模板和主机级标签:
支持使用宏中提取的字符串来作为标签名或标签值-将正则表达式应用于宏{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 或 仪表板小构件Problems 的 标签显示优先级 选项的影响。