
Alertes Centreon avec l’IA locale Ollama
Très bien! L’intention de cet article est de ne faire qu’un simple exemple de la façon dont nous pouvons utiliser l’IA dans notre environnement de surveillance, Dans ce premier document, nous allons vous guider vers la réception des alertes, dans ce cas de Centreon. Donc, si vous en avez marre des notifications traditionnelles, L’IA est venue le changer!
Ce que j’ai dit, Dans ce premier article, nous allons voir comment utiliser le L’IA d’Ollama afin qu’il nous transfère les notifications de notre système de surveillance de manière plus conviviale, Plus humain… Si nous le souhaitons, nous pouvons lui dire de nous donner des recommandations ou des conseils pour agir, ou qu’il le fait en vers… L’idée est que Centreon l’envoie via API à Ollama à chaque fois qu’un Host ou un Service rencontre un problème, nous allons créer quelques scripts très simples que nous utiliserons pour que l’alerte soit envoyée à Ollama, avec un texte où nous détaillerons ce que nous en voulons et nous passerons en arguments l’Hôte ou le Service qui échoue, ainsi que ses…
Nous avons donc commencé par créer ces 2 Scripts, dans mon cas, j’utiliserai les notifications avec Telegram, Donc, si vous allez utiliser le courrier ou un autre service, vous devrez faire cette partie différemment.
Nous créons le script pour les notifications de l’hôte, Nous l’appelons '/usr/lib/centreon/plugins/notifica_telegram_ia_ollama_host.sh’ Par exemple. Dans celui-ci, nous vous donnerons les indications appropriées que nous considérons, Je vous laisse mon exemple, vous devrez prendre en compte la modification de l’IP Ollama, ainsi que l’identifiant de chat du groupe Telegram, le jeton Telegram, le modèle de langage LLM utilisé ou par exemple la température pour le rendre plus ou moins créatif. Ce serait le contenu:
#!/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 peuvent être techniques, Ne vous offrez pas comme aide, Ne donnez pas de recommandations. Le message que vous avez à dire concerne un problème de type: "$1", Dans l’équipe "$2" puisqu’il est dans l’État "$3". Ne dites pas bonjour, Ne dites pas bonjour et ne dites pas au revoir, Ne vous remercie même pas pour quoi que ce soit. La réponse doit être en espagnol et le message doit être bref." texto_generado=$(/usr/bin/curl http://DIRECCION_IP_OLLAMA:11434/api/generate -H "Type de contenu: application/json" -d '{ "modèle": "lama3", "prompt": "'"$SMS"'", "température": 0.1, "Ruisseau": Faux, "max_length": 50 }' | jq -r '.response') texto_generado_sin_comillas='écho "$texto_generado" | sed 's/\"//g'` /usr/bin/curl -X POST -H "Type de contenu: application/json" -d '{ "chat_id": "-XXXXXXXXXX", "SMS": "'"$texto_generado_sin_comillas"'" }' "https://api.telegram.org/botTOKEN_BOT_TELEGRAM/sendMessage"
Et nous devons également générer le script que Centreon utilisera pour nous notifier tout problème avec les Services, pour cela, Nous avons également créé par exemple ce script appelé '/usr/lib/centreon/plugins/notifica_telegram_ia_ollama_servicio.sh’ où, si vous regardez cela, c’est très similaire, Mais il a 1 Argument Plus.
#!/bin/bash text="S’il vous plaît, génère un texte pour une notification qui sera envoyée sur le smartphone de l’utilisateur. Vous êtes un agent personnel qui génère du texte pour les techniciens informatiques. Vos réponses peuvent être techniques. 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". Ne dites pas bonjour. Ne dites pas au revoir. Ne dites pas merci. La réponse doit être en espagnol. Le message doit être bref, En un paragraphe, votre réponse" texto_generado=$(/usr/bin/curl http://DIRECCION_IP_OLLAMA:11434/api/generate -H "Type de contenu: application/json" -d '{ "modèle": "lama3", "prompt": "'"$SMS"'", "température": 0.1, "Ruisseau": Faux, "max_length": 50 }' | jq -r '.response') texto_generado_sin_comillas='écho "$texto_generado" | sed 's/\"//g'` /usr/bin/curl -X POST -H "Type de contenu: application/json" -d '{ "chat_id": "-ID_CHAT_TELEGRAM", "SMS": "'"$texto_generado_sin_comillas"'" }' "https://api.telegram.org/botTOKEN_TELEGRAM/sendMessage"
Après cela, N’oubliez pas de les rendre exécutables (Avec Chmod +D) et la prochaine chose serait de créer les commandes de type de notification dans Centreon, Nous allons “Configuration” > “Commandes” > “Notifications” et nous en avons créé quelques-uns, l’un pour signaler les problèmes avec les Hôtes et l’autre pour les Services, chacun avec sa propre ligne de commande:
- /usr/lib/centreon/plugins/notifica_telegram_ia_ollama_host.sh '$HOSTSTATE$’ \ '$HOSTNAME$’ \ '$HOSTOUTPUT$’
- /usr/lib/centreon/plugins/notifica_telegram_ia_ollama_servicio.sh '$SERVICESTATE$’ \ '$HOSTNAME$’ \ '$SERVICEDESC$’ \ '$SERVICEOUTPUT$’
Et une fois les Notifications Commands créées, elles seront associées à un Utilisateur ou à un Groupe, sélectionnez donc l’utilisateur ou le groupe que vous avez associé à vos hôtes et services et nous indiquons les commandes nouvellement créées dans 'Commandes de notification de l’hôte’ et sur 'Commandes de notification de service'.
Nous enregistrons et exportons, En cas de nécessité, Et c’est tout!
Et rien, Désormais, chaque fois que vous avez une alerte dans votre centre de données, elle sera différente, aussi curieux que vosotr@s le souhaitez, Court, Long, avec options de résolution, en basque, En swahili…
J’espère que vous l’avez trouvé curieux et rien, Comme je l’ai dit, Comme toujours, tout se passe très bien!
Un câlin!