Zabbix trigger用法
Configuration
- Name(触发器名称):
名称可以应用宏变量和未知参数,$1, $2...$9 宏可用于引用表达式的第一个、第二个...第九个常量。
- Event name(事件名称);
如果已定义,此名称将用于创建问题事件名称,而不是触发器名称。
- Operational data(运营数据):
操作数据允许定义任意字符串以及宏。 宏将动态解析为监控 → 问题中的实时数据。 虽然触发器名称(见上文)中的宏将在问题发生时解析为它们的值,并将成为静态问题名称的基础,但操作数据中的宏保持动态显示最新信息的能力。支持与触发器名称相同的宏集。
- OK event generation(OK 事件生成选项):
Expression - OK 事件基于与问题事件相同的表达式生成;
Recovery expression - 如果promeblem表达式评估为 FALSE 并且恢复表达式评估为 TRUE,则生成 OK 事件;恢复表达式对于触发滞后很有用。 如果问题表达式仍然为 TRUE,则无法仅通过恢复表达式来解决问题。
None - 在这种情况下,触发器将永远不会自行返回到 OK 状态。
- PROBLEM event generation mode(问题事件生成模式)
产生问题事件的模式:
Single - 当触发器第一次进入“问题”状态时生成单个事件;
Multiple - 每次对触发器进行“问题”评估时都会生成一个事件。
- OK event closes
All problems - 此触发器的所有问题
All problems if tag values match - 只有那些触发匹配事件标签值的问题;输入事件标签名称以用于事件关联。
标签选项卡允许您定义触发级标签。 此触发器的所有问题都将使用此处输入的值进行标记。触发器不会“继承”和显示主机级标签.
Trigger expression
一个简单有用的表达式的语法是:function(/host/key,parameter)<operator><constant>
.
示例:
- 有人正在从 Internet 下载一个大文件。当 eth0 在过去 5 分钟内接收到的字节数超过 100 KB 时,该表达式为真。
min(/www.example.com/net.if.in[eth0,bytes],5m)>100K
2.当 smtp1.example.com 和 smtp2.example.com 上的两个 SMTP 服务器都关闭时,该表达式为真。适用于集群节点
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
3.如果 Zabbix 代理的版本为 beta8,则表达式为真
find(/example.example.com/agent.version,,"like","beta8")=1
4.如果主机“example.example.com”在过去 30 分钟内无法访问超过 5 次,则表达式为真。
count(/example.example.com/icmpping,30m,,"0")>5
5.触发器只能在晚上 (00:00-06:00) 将其状态更改为 true。
min(/Zabbix server/system.cpu.load[all,avg1],5m)>2 and time()>000000 and time()<060000
6.如果最后一小时的平均负载超过昨天同一小时的平均负载两倍以上,则此表达式将触发。
avg(/server/system.cpu.load,1h)/avg(/server/system.cpu.load,1h:now-1d)>2
7.使用评估结果获取超过阈值的触发器数量:如果表达式中至少有两个触发器超过 5,触发器将触发。
(last(/server1/system.cpu.load[all,avg1])>5) + (last(/server2/system.cpu.load[all,avg1])>5) + (last(/server3/system.cpu.load[all,avg1])>5)>=2