Centreon Alerts mit OpenAI

Druckfreundlich, PDF & Email

Brunnen, este post con estilo veraniegosobre algo que no paramos de oirla IAen este post veremos cómo podemos usar a OpenAI para que nos haga las notificaciones de nuestro sistema de monitorización algo más personalizadas

Ja, como ya sabes, a OpenAI le puedes pedir muchas cosas, en este caso la usaremos para adaptar los mensajes que vienen de Centreon y quizá hacerlos más sencillos, o lo que necesitemos. Ya que yo sólo lo usaré para eso, para que me mande la alerta y me la transcriba de una manera más humana. Por supuesto podemos decirla que nos ayude o nos oriente a resolverla, o que nos lo diga haciendo rima, hip-hop, en verso, o como Chiquito de la Calzada, eso ya… al gusto.

Antes de que alguien se emocione… Ja, necesitaremos una cuenta de pago de OpenAI, pero es ridículo el coste que pueda suponer este uso, además que podremos parametrizar para que use menos tokens, etc… ¿sobre 0,05€ día? dependerá del número de notificaciones que tengáis también

¿Cómo lo conseguimos? Pues realmente sencillo, en mi caso uso Telegram para las notificaciones, así que tengo 2 Skripten, uno para las notificaciones de los Hosts y otro para las notificaciones de los Servicios. Estos scripts recibirán como argumentos pues eso, el Host/Servicio afectado, con su estado, su outputlos scripts le pedirán a OpenAI que por favor si no es mucha molestia los transcriba de una forma humana, usando un lenguaje amable, cercano, bla, bla, al gusto… o dirigido a un departamento técnico, que le gustaría además que le orientesPor supuesto, que deberíais personalizarlo a vuestro gusto.

Script /usr/lib/centreon/plugins/notifica_telegram_ia_servicio.sh

#!/bin/bash

texto="Bitte, genera un texto para una notificación que será enviada al smartphone del usuario con información útil. Eres un agente personal útil que genera texto para técnicos de sistemas. Tus respuestas son breves, útiles, Art, Warm, Einfühlsam. Tus respuestas pueden ser técnicas, no te ofrezcas como ayuda y no incluyen detalles internos del Asistente en Casa, como entidades en las respuestas. El mensaje que tienes que decir es sobre un problema de tipo: $1, en el equipo $2 ya que el servicio $3 está en el estado $4. No hace falta que saludes."

texto_generado=$(/usr/bin/curl https://api.openai.com/v1/completions   -H "Inhaltstyp: application/json"   -H "Authorization: Bearer sk-TOKEN_OPENAI"   -d '{
  "Modell": "text-davinci-003",
  "prompt": "'"$texto"'",
  "Temperatur": 0.9,
  "max_tokens": 100
}' | jq -r '.choices[0].text')

texto_generado=$(ECHO "$texto_generado" | sed 1d)

/usr/bin/curl -X POST -H "Inhaltstyp: application/json" -d '{
  "chat_id": "ID_CHAT_TELEGRAM_DESTINO",
  "Text": "'"$texto_generado"'"
}' "https://api.telegram.org/botTOKEN_TELEGRAM/sendMessage"

Script /usr/lib/centreon/plugins/notifica_telegram_ia_host.sh

#!/bin/bash

texto="Bitte, genera un texto para una notificación que será enviada al smartphone del usuario con información útil. Eres un agente personal útil que genera texto para técnicos de sistemas. Tus respuestas son breves, útiles, Art, Warm, Einfühlsam. Tus respuestas pueden ser técnicas, no te ofrezcas como ayuda y no incluyen detalles internos del Asistente en Casa, como entidades en las respuestas. El mensaje que tienes que decir es sobre un problema de tipo: $1, en el equipo $2 ya que está en el estado $3. No hace falta que saludes."

texto_generado=$(/usr/bin/curl https://api.openai.com/v1/completions   -H "Inhaltstyp: application/json"   -H "Authorization: Bearer sk-TOKEN_OPENAI"   -d '{
  "Modell": "text-davinci-003",
  "prompt": "'"$texto"'",
  "Temperatur": 0.9,
  "max_tokens": 100
}' | jq -r '.choices[0].text')

texto_generado=$(ECHO "$texto_generado" | sed 1d)

/usr/bin/curl -X POST -H "Inhaltstyp: application/json" -d '{
  "chat_id": "ID_CHAT_TELEGRAM_DESTINO",
  "Text": "'"$texto_generado"'"
}' "https://api.telegram.org/botTOKEN_TELEGRAM/sendMessage"

Una vez guardados los scripts (recordar hacerlos ejecutables), ya podremos ir a la GUI de Centreon y crear un Comando de tipo Notificación, hierfür, Wir werden “Konfiguration” > “Befehle” > “Notifications”, crearemos dos, uno para los Servicios y otro para los Hosts.

El comando llamado ‘Telegram_servicios_IA_shtiene la siguiente línea de comandos:

/usr/lib/centreon/plugins/notifica_telegram_ia_servicio.sh '$SERVICESTATE$' \ '$HOSTNAME$' \ '$SERVICEDESC$' \ '$SERVICEOUTPUT$'

El comando llamado ‘Telegram_hosts_IA_shtiene la siguiente línea de comandos:

/usr/lib/centreon/plugins/notifica_telegram_ia_host.sh '$HOSTSTATE$' \ '$HOSTNAME$' \ '$HOSTOUTPUT$'

Cómo veis, estos Comandos cuando sean llamados (por una alerta), ejecutarán nuestros scripts, pasándoles como argumentos las variables de Centreon (el Host, el servicio, su estado…) y luego OpenAi agita, sacude y nos mandará un mensaje por Telegram algo más interesante.

Recordar asociar estos Comandos de Notificación a los usuarios que corresponda y recargar la configuración de Centreon, que nunca viene de más 😉

Gesamt, que tras exportar deberían de comenzar a llegarnos las alertas algo distintas, dependiendo de lo que le hayamos pedido a OpenIA! Was denkst du? Ahora queda seguir exprimiéndolo, pidiendo soluciones, hablando un lenguaje no técnico… Oder, modificar el script y para que os lleguen las alertas por Alexa, llamada telefónica con VoIP, mail, Teams, Slack, Discord

Como siempre deseando que os parezca interesante, algo para darle una vuelta más a nuestro sistema de monitorización! y para los excépticos que me digan que le estamos dando información a OpenIA, lo hace igualmente al usar medios de comunicación externos =) Nada que un abrazote, Möge es sehr gut gehen, ser felices y sobre todo disfrutar del verano que pasa volando!

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!!!

SCAP-Compliance-Prüfung

12 September 2023