2017-08-04 238 views
0

我有一个触发器,它在ping 3次检查之后起作用。支票间隔3分钟。 我需要发送如下消息:Zabbix发送消息

Host unavailable from [time of first unsuccessfully check]; 
Trigger [time of trigger acts] 

我需要使用哪些宏?

+0

[触发行为时间]可以使用{event.time}。第一次检查失败的时间呢?我们可以做些事情吗?{event.time} - 9分钟? – Damir

+0

或者作弊,只是说“主机从[时间]起9分钟不可用”。你当然可以编写脚本通知,所以你可以做任何你想要的内部,如果你脚本的行动,包括数学。似乎不是很值得。 – Linwood

+0

我需要用脚本来完成它。有任何想法吗?我能随着时间的推移来操作吗? – Damir

回答

0

有关脚本的评论,我将提供以下内容。

配置/操作允许您指定消息的内容。该消息可以被认为是简单地将参数传递给某个东西。简单的默认是它发送电子邮件,但相同的参数可以传递给脚本。

在“操作”部分中,指定要发送给谁的操作(再次将此视为参数)和媒体类型。用户/组也成为参数。

在管理,媒体类型下,您可以定义媒体类型的“脚本”。这将调用您编写的外部脚本,并将参数传递给它,默认情况下前三个是发送,主题和消息内容。你可以(在后来的Zabbix版本中)也包含其他参数(我不记得是否有限制)。在此之前,我开始在消息体中以可预测和定界的方式传递我想要的任何数据,然后在脚本中解析出它。

在脚本本身内部,您可以拾取传入的字符串,并执行任何您想要的操作。因此,如果一个参数(主题,明确地是第4个参数,或埋在消息正文内的可预测位置)是一个时间,那么您可以在那个时间以您选择的语言进行操作,替换它,对其进行阐述,等等。当你有你想要的东西时,你可以根据需要从脚本中发送消息。

可以使用不同的媒体类型发送不同的操作,因此您可以根据操作中写入的条件(例如特定的触发器名称)仅对特定类型的触发器执行脚本。因此,您可以根据需要使用某些默认行为,并自定义编写其他触发器。关键是在配置/操作/触发器中具有可预测的格式,并取决于管理/媒体类型参数中的格式,以及它们所调用的脚本中的格式。不要忘记让脚本可以访问zabbix服务帐户,并将其放置在zabbix配置文件中指定的位置。我发现坚持使用电子邮件格式非常有用,然后我可以通过发送电子邮件来“测试”我的操作,获取生成的电子邮件并使用它在zabbix外调用我的脚本并确保它们正常工作。

通过使用脚本来扩展默认警报(以及一个可调用的zabbix服务器本身的接口,可以在脚本执行时从zabbix中提取额外的数据),这使得警报有点神秘,但却非常强大。通常情况下,您可以通过对脚本参数作出反应并将数据集中到电子邮件中来动态地将任何内容(包括图表)包含在警报中。