我有一个触发器,可以在检查ping 3次后执行。检查间隔3分钟。我需要发送这样的消息:
Host unavailable from [time of first unsuccessfully check];
Trigger [time of trigger acts]我需要使用哪些宏?
发布于 2017-08-07 00:22:10
通过对脚本的评论,我将提供以下内容。
配置/操作允许您指定消息的内容。该消息可以被认为是简单地将参数传递给某个对象。简单的默认设置是发送电子邮件,但也可以将相同的参数传递给脚本。
在Operations部分中,您可以指定要发送给谁的操作(同样,将其视为一个参数),以及媒体类型。用户/组也成为一个参数。
在“管理”的“媒体类型”下,可以定义“脚本”的媒体类型。这将调用您编写的外部脚本,并将参数传递给它,默认情况下,前三个参数是收件人、主题和消息内容。您还可以(在后来的Zabbix版本中)在其中包含其他参数(我不记得是否有限制)。在此之前,我开始在消息体中以可预测和分隔的方式传递任何我想要的数据,然后在我的脚本中解析出来。
在脚本本身内部,您可以拾取传入的字符串,然后做任何您想做的事情。因此,如果一个参数(subject,显式为4th+参数,或者隐藏在消息体中可预测的位置)是一个时间,那么您可以用您选择的语言对该时间进行操作,替换它,阐述它,等等。然后,当您有了想要的东西时,您可以根据需要从脚本中发送消息。
不同的动作可以使用不同的媒体类型发送,因此您可以根据动作中编写的条件(例如,特定的触发器名称),仅为特定类型的触发器编写脚本。因此您可以对某些触发器使用默认行为,并根据需要自定义编写其他触发器。关键是在Config/Action/Triggers中具有可预测的格式,并依赖于Administration/Media types参数中的格式,以及它们调用的脚本中的格式。不要忘记让zabbix服务帐户可以访问该脚本,并将其放在zabbix配置文件中指定的位置。我发现坚持电子邮件格式很有用,然后我可以通过发送电子邮件来“测试”我的操作,获得结果电子邮件,并使用它在zabbix之外调用我的脚本,并确保它们正常工作。
通过使用脚本扩展默认警报的能力(以及zabbix服务器本身的可调用接口,可以在脚本执行时从zabbix中提取额外的数据)使得警报有点晦涩难懂,但却非常强大。通常,通过对脚本参数作出反应并将数据收集到电子邮件中,您可以动态地在警报中包含几乎任何内容,包括图形。
https://stackoverflow.com/questions/45507369
复制相似问题