Centreon Audible Alerts avec Ollama et Piper AI

Dans cet article, nous allons combiner plusieurs éléments pour avoir des notifications vocales dans notre système de surveillance. Nous utiliserons bien entendu l’Intelligence Artificielle locale et sécurisée (Ollama) pour générer un texte convivial et humain avec l’alerte Centreon, pour y jouer plus tard sur notre écran de 7 pouces″ grâce à Piper et une voix en espagnol parfait.

Alors ce que j’ai dit, si vous disposez d’un système de supervision basé sur Centreon, vous saurez que vous pouvez recevoir des alertes lorsqu’il y a un problème dans un Service ou un Hôte supervisé, De cette façon, vous serez informé des éventuels problèmes dans votre centre de données. Dans un Article précédent nous avons vu comment rendre plus « humains » les messages générés par Centreon’ grâce à l’IA d’Ollama, à cette occasion, il a envoyé l’alerte au format texte par Telegram. Aujourd’hui, la différence est que nous aurons le message reproduit par une voix humaine (Merci à Piper) et faire exploser les haut-parleurs d’un petit Raspberry Pi, que j’utilise sur moi 7 Écran″ Surveillance.

Ce serait un exemple d’audio:

Ah, Bien sûr, N’oubliez pas que tout ce que nous verrons dans cet article est open source, local, sûr, Pas besoin d’Internet

Cornemuseur

On commence donc par Piper, que, comme on dit dans son site officiel Il s’agit d’un « système neuronal de synthèse vocale local rapide qui sonne bien ». C’est un TTS (Synthèse vocale) que nous pouvons installer sur le Raspberry Pi pour convertir n’importe quel texte en audio avec une immense variété de voix dans différentes langues qui seront utiles!

Le moyen le plus simple d’installer Piper sur le Raspberry Pi, il téléchargera le binaire compilé pour notre architecture CPU. Que nous saurons en exécutant: 'cat /proc/cpuinfo'.

  • Pour les ordinateurs de bureau Linux 64 bits: AMD64
  • Pour le Raspberry Pi 4 64 bits: Arm64
  • Pour le Raspberry Pi 3/4 32 bits: Armv7

Téléchargez la dernière version que vous trouverez sur leur GitHub, Les liens deviendront obsolètes. Nous le téléchargeons, Nous décompressons et entrons dans votre répertoire:

wget https://github.com/rhasspy/piper/releases/download/v1.2.0/piper_armv7.tar.gz tar zxfv piper_armv7.tar.gz cd piper

Nous choisissons un modèle vocal entraîné à partir de votre référentiel: https://github.com/rhasspy/piper/#voices et lorsque nous choisissons celui que nous aimons le plus, nous téléchargeons le fichier ONNX et le JSON. D’ailleurs, si vous voulez les écouter pour voir comment ils sonnent, Utiliser ce site Web: https://rhasspy.github.io/piper-samples/. Venir, Nous les téléchargeons:

wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/sharvard/medium/es_ES-sharvard-medium.onnx?download=true -O es_ES-sharvard-medium.onnx wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/es/es_ES/sharvard/medium/es_ES-sharvard-medium.onnx.json?download=true.json -O es_ES-sharvard-medium.onnx.json

Et nous pouvons l’essayer maintenant, Nous aurons deux options, créer le flux audio et l’écouter directement via les haut-parleurs du Raspberry Pi, ou générer un fichier .wav pour ce dont nous avons besoin. Courir:

echo 'Hola, esto es un ejemplo de una frase.' | ./piper --model es_ES-sharvard-medium.onnx --output-raw | Aplay -r 22050 -F S16_LE -T RAW -

Et ça sonnera quelque chose comme ça:

Intégration avec Centreon

Si nous voulons appeler Piper à partir d’une alerte de notification, Voici les étapes que j’ai suivies. Tout d’abord, sur le Raspberry Pi, nous allons créer un script pour que Centreon puisse appeler lorsqu’il y a une notification, exécutera ce script qui informera les intervenants de l’alerte générée. Le script recevra comme première et unique variable le texte à reproduire. Je me suis retrouvé avec quelque chose comme ça (/Accueil/Piper/Piper/alerta_piper.sh):

#!/Bin/Bash CD /Accueil/Piper RM alerta.wav Echo $1 | ./piper --model es_ES-sharvard-medium.onnx --length_scale 1.1 --output_file alerta.wav systemctl stop snapclient aplay alerta_inicio.wav aplay alerta.wav aplay alerta_fin.wav systemctl start snapclient

Certains détails que vous verrez, c’est que je ralentis un peu sa voix, et cela a arrêté certains services Snapclient, car la musique d’ambiance joue également généralement à partir de cet écran et de l’arrêter temporairement pendant que le message retentit.

Après avoir créé le script exécutable, nous devons l’appeler/exécuter depuis le serveur Centreon Central, ou auprès d’un sondeur, le cas échéant. Pour ce faire,, il faudra faire une prise d’empreinte digitale entre le serveur Centreon et le Raspberry Pi, vous pouvez donc accéder via SSH sans demander d’informations d’identification, Et de cette façon, nous exécuterons le script à distance.

su centreon-engine ssh-keygen -t rsa cat /var/lib/centreon-engine/.ssh/id_rsa.pub ssh-rsa AAA... ySHsfu0= centreon-engine@os-poller-osit

Ainsi, chez Centreon, nous nous connectons comme l’utilisateur qui gère les choses dans Centreon, Nous générons une clé privée et une clé publique si nous ne les avons pas; Ensuite, avec CAT, nous verrons la clé publique nouvellement créée et la copierons.

Collez la clé publique de Centreon Central ou Poller sur le Raspberry Pi dans le fichier /home/pi/.ssh/authorized_keys

Et nous avons essayé de voir si nous nous connections depuis Centreon avec centreon-engine vers le Raspberry Pi avec un SSH::

Sh pi@DIRECCION_IP_RASPBERRY_PI

Il ne reste plus qu’à enregistrer dans Centreon les commandes qui seront utilisées pour notifier lorsqu’un Host ou un Service rencontre des problèmes. Si nous utilisons Dans ce post précédent Pour référence, où nous générons déjà les scripts pour lancer le message généré par l’IA d’Ollama sur Telegram, Eh bien, il va falloir simplement ajouter une ligne à la fin qui appelle le script créé dans le Raspberry Pi et c’est tout. De cette façon, nous recevrons la notification sur Telegram et via les haut-parleurs. Je vous laisse un résumé du script qui alerte les problèmes dans les Hosts, Comme je l’ai dit, L’important, c’est la dernière ligne:

#!/bin/bash

# L’IA d’Ollama génère le message au goût du texte="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'`

# Manda a Telegram
/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_BOT_TELEGRAM/sendMessage"

# Alerta en la Raspberry Pi con Piper por los altavoces
ssh pi@DIRECCION_IP_RASPBERRYPI "sudo /home/pi/piper/alerta_piper.sh \"$texto_generado_sin_comillas\""

¡Y chimpún! Ya lo tenemos listo, script créé et ceux qui ont des doutes ont dans les messages précédents toutes les données dont ils ont besoin pour créer la commande, l’enregistrer dans Centreon, Assemblez l’IA locale sécurisée d’Ollama, Balade Centreon…

Comme toujours et pour être très original, J’espère que vous l’avez trouvé intéressant, que vous pouvez l’appliquer à d’autres types de technologies, Idées… La vérité est que Piper et Ollama chez moi avec Home Assistant sont totalement nécessaires, Donnez-lui une touche originale, Maintenant, nous pouvons commencer à l’appeler maison intelligente petit à petit… Mais que, dans d’autres articles, On verra bien!

Câlins, Se comporter bien!

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!