Senden von Centreon-Benachrichtigungen an Google Home

Druckfreundlich, PDF & Email

Si somos un poco frikis y tenemos a mano un asistente inteligente de estos llamados Google Home, tenéis un sistema de monitorización basado en Centreon o en Nagios y queréis escuchar ahí las alertas, Das ist dein Beitrag!

Nicht schlecht, para conseguirlo necesitaremos hacer unos pasos en nuestro servidor de monitorización Centreon, lo conseguiremos gracias a un script de Python 3, que permite enviarle un texto a un Google Home como argumento.

Tendremos en cuenta tener al menos Python 3.5:

sudo yum install rh-python35
scl enable rh-python35 bash

Y lo habilitamos de manera permanente, ejemplo de mi ‘/etc/profile.d/enablepython35.sh’:

#!/Mülleimer/Bash
source scl_source enable rh-python35

Danach, deberemos reiniciar los servicios de Centreon para que cargue la sesión de centreon-engine de nuevo y corra Python3.

Algo que seguro no nos gusta, pero lo tengo anotado como requisito, es que el usuario centreon-centengine debe tener privilegios de sudo, ejecutamos ‘visudoy añadimos la siguiente línea en la parte correspondiente:

centreon-engine ALL=(ALL) NOPASSWD:ALL

Nos descargamos este script, que en mi caso lo llamé ‘mensaje_google_home.sh’:

#! /usr/bin/python3.5

#
# spoke something on GoogleHome
#
# use: ./ghome_say [ghome_ip] [text_to_say]
#
#

import sys
import pychromecast
import os
import os.path
from gtts import gTTS
import time
import hashlib

ip=sys.argv[1];
say=sys.argv[2];

#********* retrieve local ip of my rpi3
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
local_ip=s.getsockname()[0]
s.close()
#**********************

fname=hashlib.md5(say.encode()).hexdigest()+".mp3"; #create md5 filename for caching

castdevice = pychromecast.Chromecast(IP)
castdevice.wait()
vol_prec=castdevice.status.volume_level
castdevice.set_volume(0.0) #set volume 0 for not hear the BEEEP

try:
   Os.mkdir("/var/www/html/mp3_cache/")
except:
   pass

if not os.path.isfile("/var/www/html/mp3_cache/"+fname):
   tts = gTTS(say,lang='es')
   tts.save("/var/www/html/mp3_cache/"+fname)

mc = castdevice.media_controller
mc.play_media("HTTP (Englisch)://"+local_ip+"/mp3_cache/"+fname, "audio/mp3")

mc.block_until_active()

mc.pause() #prepare audio and pause...

Zeit.Schlaf(1)
castdevice.set_volume(vol_prec) #setting volume to precedent value
time.sleep(0.2)

mc.play() #play the mp3

while not mc.status.player_is_idle:
   Zeit.Schlaf(0.5)

mc.stop()

castdevice.quit_app()

Lo hacemos ejecutable y lo probamos:

chmod +x mensaje_google_home.sh
python3 mensaje_google_home.sh DIRECCION_IP_GOOGLE_HOME "Testen, Testen"

Veremos cómo nuestro altavoz inteligente de Google Home nos dirá el texto que pusimos en el ejemplo. Nicht schlecht, ahora llevaremos esto a Centreon, Das ist, crearemos un Comando de Notificación para alertas de Hosts y otro para alertas de Servicios que utilicen el script anterior.

Um dies zu tun,, seit “Konfiguration” > “Befehle” > “Benachrichtigungen”, crearemos un Comando para que Google Home alerte de lo que le pase a nuestros hosts con la siguiente línea de comandos:

python3 /usr/lib/centreon/plugins/mensaje_google_home.sh DIRECCION_IP_GOOGLE_HOME "El Host $HOSTNAME$ ($HOSTADDRESS$) esta en estado $HOSTSTATE$"

Y hacemos otro Comando, pero esta vez para alertar de los Servicios, y con la siguiente línea nos bastaría:

python3 /usr/lib/centreon/plugins/mensaje_google_home.sh DIRECCION_IP_GOOGLE_HOME "En $HOSTNAME$ el Servicio $SERVICEDESC$ está en estado $SERVICESTATE$"

Lo que quedaría ahora sería asociar estos comandos de notificación recién creados a un usuario que tengamos, por ejemplo ya definido, o al que le habilitemos las notificaciones. Exportaremos la configuración de Centreon y a partir de este momento ya recibiremos las alertas de nuestra monitorización con nuestros altavoces o asistentes inteligentes de Google Home o Google Home Mini entre otros.

Wie gewöhnlich, espero que os haya sido de interés y agradecer como siempre que lo mováis por las redes sociales.

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!