Zabbix Send Message

时间:2017-08-04 12:52:55

标签: action zabbix

I have a trigger which acts after 3 checks of ping. Interval of checks 3 minutes. I need to send message like:

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

Which macros i need to use?

1 个答案:

答案 0 :(得分:0)

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

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

在“操作”部分中,您可以指定要发送给谁的操作(再次将其视为参数)以及介质类型。用户/组也成为参数。

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

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

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

通过使用脚本扩展默认警报的能力(以及zabbix服务器本身的可调用接口,可以在脚本执行时从zabbix中提取额外数据)使得警报有点神秘,但非常强大。通常,您可以通过对脚本参数做出反应,并将数据汇总到电子邮件中,动态地在警报中包含几乎所有内容(包括图形)。