
Alertes Centreon avec OpenAI
Puits, Cet article au style estival… À propos de quelque chose que nous n’arrêtons pas d’entendre… IA… dans cet article, nous allons voir comment nous pouvons utiliser OpenAI pour rendre les notifications de notre système de surveillance un peu plus personnalisées…
Oui, Comme vous le savez déjà, Vous pouvez demander beaucoup de choses à OpenAI, dans ce cas, nous l’utiliserons pour adapter les messages qui proviennent de Centreon et peut-être les simplifier, ou tout ce dont nous avons besoin. Puisque je ne l’utiliserai que pour ça, pour qu’il m’envoie l’alerte et la retranscrit de manière plus humaine. Bien sûr, on peut dire qu’il nous aide ou nous guide pour le résoudre, Ou qu’il nous dit en rimant, Hip-hop, en vers, ou comme Chiquito de la Calzada, Voilà… Au goût.
Avant que quiconque ne s’excite… Oui, nous aurons besoin d’un compte OpenAI payant, Mais le coût que cette utilisation peut entraîner est ridicule, De plus, nous pourrons paramétrer pour qu’il utilise moins de jetons, etc… Environ 0,05€ par jour? Cela dépendra également du nombre de notifications que vous avez…
Comment y parvenons-nous ?? Eh bien, c’est très simple, dans mon cas, j’utilise Telegram pour les notifications, Alors j’ai 2 Scripts, un pour les notifications de l’hôte et un pour les notifications des services. Ces scripts recevront comme arguments car, l’hôte/le service concerné, Avec votre état, Votre production… les scripts demanderont à OpenAI de bien vouloir les transcrire de manière humaine si ce n’est pas trop compliqué, Utiliser un langage amical, fermer, Bla, Bla, Au goût… ou adressé à un service technique, qu’il aimerait aussi que vous le guidiez… Bien sûr, que vous devriez le personnaliser à votre goût.
Script /usr/lib/centreon/plugins/notifica_telegram_ia_servicio.sh
#!/bin/bash text="S’il vous plaît, génère un texte pour une notification qui sera envoyée au smartphone de l’utilisateur avec des informations utiles. Vous êtes un agent personnel utile qui génère du texte pour les techniciens informatiques. Vos réponses sont brèves, Utile, Gentil, Chaud, Perspicace. Vos réponses peuvent être techniques, ne proposez pas de vous aider et n’incluez pas les détails internes de l’Assistant Maison., en tant qu’entités dans les réponses. Le message que vous avez à dire concerne un problème de type: $1, Dans l’équipe $2 depuis le service $3 est dans l’État $4. Vous n’avez pas besoin de dire bonjour." texto_generado=$(/usr/bin/curl https://api.openai.com/v1/completions -H "Type de contenu: application/json" -H "Autorisation: Porteur sk-TOKEN_OPENAI" -d '{ "modèle": "texte-davinci-003", "prompt": "'"$SMS"'", "température": 0.9, "max_tokens": 100 }' | jq -r '.choices[0].text') texto_generado=$(ÉCHO "$texto_generado" | Soif 1D) /usr/bin/curl -X POST -H "Type de contenu: application/json" -d '{ "chat_id": "ID_CHAT_TELEGRAM_DESTINO", "SMS": "'"$texto_generado"'" }' "https://api.telegram.org/botTOKEN_TELEGRAM/sendMessage"
Script /usr/lib/centreon/plugins/notifica_telegram_ia_host.sh
#!/bin/bash text="S’il vous plaît, génère un texte pour une notification qui sera envoyée au smartphone de l’utilisateur avec des informations utiles. Vous êtes un agent personnel utile qui génère du texte pour les techniciens informatiques. Vos réponses sont brèves, Utile, Gentil, Chaud, Perspicace. Vos réponses peuvent être techniques, ne proposez pas de vous aider et n’incluez pas les détails internes de l’Assistant Maison., en tant qu’entités dans les réponses. Le message que vous avez à dire concerne un problème de type: $1, Dans l’équipe $2 puisqu’il est dans l’État $3. Vous n’avez pas besoin de dire bonjour." texto_generado=$(/usr/bin/curl https://api.openai.com/v1/completions -H "Type de contenu: application/json" -H "Autorisation: Porteur sk-TOKEN_OPENAI" -d '{ "modèle": "texte-davinci-003", "prompt": "'"$SMS"'", "température": 0.9, "max_tokens": 100 }' | jq -r '.choices[0].text') texto_generado=$(ÉCHO "$texto_generado" | Soif 1D) /usr/bin/curl -X POST -H "Type de contenu: application/json" -d '{ "chat_id": "ID_CHAT_TELEGRAM_DESTINO", "SMS": "'"$texto_generado"'" }' "https://api.telegram.org/botTOKEN_TELEGRAM/sendMessage"
Une fois les scripts sauvegardés (N’oubliez pas de les rendre exécutables), nous pouvons maintenant aller sur l’interface graphique de Centreon et créer une commande de notification, pour cela, Nous allons “Configuration” > “Commandes” > “Notifications”, Nous allons créer deux, un pour les Services et un pour les Hôtes.
La commande appelée 'Telegram_servicios_IA_sh’ a la ligne de commande suivante:
/usr/lib/centreon/plugins/notifica_telegram_ia_servicio.sh '$SERVICESTATE$' \ '$HOSTNAME$' \ '$SERVICEDESC$' \ '$SERVICEOUTPUT$'
La commande appelée 'Telegram_hosts_IA_sh’ a la ligne de commande suivante:
/usr/lib/centreon/plugins/notifica_telegram_ia_host.sh '$HOSTSTATE$' \ '$HOSTNAME$' \ '$HOSTOUTPUT$'
Comment voyez-vous, ces commandes lorsqu’elles sont appelées (Pour une alerte), exécutera nos scripts, passer les variables de Centreon en argument (L’hôte, Le service, Votre statut…) puis OpenAi tremble, secouez-le et il nous enverra un message sur Telegram, quelque chose de plus intéressant.
N’oubliez pas d’associer ces Notifications Commands aux utilisateurs appropriés et de recharger la configuration de Centreon, Cela ne fait jamais de 😉 mal
Total, qu’après l’exportation, nous devrions commencer à recevoir des alertes quelque peu différentes, en fonction de ce que nous avons demandé à OpenIA! Qu’en penses-tu? Maintenant, il reste à continuer à le presser, Demander des solutions, Parler un langage non technique… Ou, modifier le script et pour que vous receviez des alertes par Alexa, appel téléphonique avec VoIP, courrier, Équipes, Lâche, Discorde…
Comme toujours en espérant que vous le trouviez intéressant, De quoi donner un peu plus d’élan à notre système de surveillance! et pour les sceptiques qui me disent que nous donnons des informations à OpenAI, Il le fait également en utilisant des moyens de communication externes =) Rien de plus qu’un câlin, Puisse-t-il très bien se passer, d’être heureux et surtout de profiter de l’été qui passe!