我们将继续处理与外部服务集成的最重要问题。
第二部分 与Zabbix集成
在有关整合物联网的故事的第二部分中,我们将讨论将事故报告从zabbix发送至物联网。 由于在网上进行搜索,
这个脚本 。 该代码是用Perl编写的,因此您可能需要安装pearl-packages。 在继续进行代码描述之前(与原始代码相比略有变化),首先,我们将像往常一样进行一些设置。
最重要的
要使用从第三方服务接收消息的机制,您需要添加传入“挂钩”的记录。 我们转到设置“集成”->“传入网络钩子”并添加条目:

之后,复制带下划线的链接以粘贴到脚本中。

扎比克斯
在zabbix管理界面中,通过“管理”->“通知方法”菜单,添加新的通知方法:

脚本中应在何处指示参数:
- {ALERT.SENDTO}
- 链接到最重要的Webhook(之前已复制)
- 用户名中最重要的消息来源
- 链接到头像(文件必须可通过http访问)
- {ALERT.MESSAGE}
然后,在用户设置中,添加新的通知方法:

在“发送到”字段中,您需要在消息流的最重要位置指示通道名称,在我们的示例中,它是“ it”(值得注意的是使用了通道的系统名称)。 该值将替换宏{ALERT.SENDTO},该宏出现在新创建的通知方法的参数中。 {ALERT.MESSAGE}-实际上,这将是消息本身。
原始脚本进行了一些更改,这是由于所使用的zabbix版本未将消息发送到json(也许是在某处配置的)。 因此,必须更改代码。 该代码附带注释,不应引起理解上的困难。
在安装Zabbix的服务器上,创建文件/usr/lib/zabbix/alertscripts/zabbixMatterBot.pl (我从官方存储库安装了Debian和zabbix),其内容如下:
现在,我们要么等待触发器起作用,要么我们在zabbix中模拟一次事故,然后得到一条消息

这就是所有的集成。