Nous continuerons de traiter la plus grande partie de l'intégration avec les services externes.
Deuxième partie Intégration avec Zabbix
Dans la deuxième partie de l'histoire de l'intégration de mattermost, nous parlerons de l'envoi de rapports d'accident de zabbix à mattermost. À la suite de recherches sur le net,
ce script . Le code est écrit en Perl, vous devrez donc peut-être installer des packages de perles. Avant de passer à la description du code (il est légèrement modifié par rapport à l'original), d'abord, comme d'habitude, nous allons faire quelques réglages.
Mattermost
Pour utiliser le mécanisme de réception des messages de services tiers, vous devez ajouter un enregistrement des "hooks" entrants. Nous allons dans les paramètres "Intégrations" -> "Webhooks entrants" et ajoutons l'entrée:

Ensuite, copiez le lien souligné à coller dans le script.

Zabbix
Dans l'interface de gestion de zabbix, via le menu "Administration" -> "Méthodes de notification", ajoutez une nouvelle méthode de notification:

Où dans le script les paramètres doivent être indiqués:
- {ALERT.SENDTO}
- Lien vers le webhook le plus important (qui a été copié précédemment)
- Nom d'utilisateur le plus important d'où proviendront les messages
- Lien vers l'avatar (le fichier doit être accessible via http)
- {ALERT.MESSAGE}
Ensuite, dans les paramètres utilisateur, ajoutez une nouvelle méthode de notification:

Dans le champ "Envoyer à", vous devez indiquer le nom du canal dans la plupart des cas où les messages seront diffusés, dans notre cas, c'est "il" (il convient de noter que le nom système du canal est utilisé). Cette valeur sera remplacée par la macro {ALERT.SENDTO}, qui apparaît dans les paramètres de la méthode de notification nouvellement créée. {ALERT.MESSAGE} - ce sera en fait le message lui-même.
Le script d'origine a subi quelques modifications, cela est dû au fait que la version de zabbix utilisée n'envoie pas le message à json (peut-être est-ce configuré quelque part). Par conséquent, le code a dû être modifié. Le code est fourni avec des commentaires et ne devrait pas poser de problèmes de compréhension.
Sur le serveur où Zabbix est installé, créez le fichier /usr/lib/zabbix/alertscripts/zabbixMatterBot.pl (j'ai Debian et zabbix installés à partir du référentiel officiel) avec le contenu suivant:
Maintenant, soit nous attendons que le déclencheur fonctionne, soit nous simulons un accident dans zabbix et nous obtenons un message

C'est toute l'intégration.