Centreon alertak OpenAI-rekin
Onena, este post con estilo veraniego… sobre algo que no paramos de oir… la IA… en 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…
Bai, dagoeneko dakizun bezala, OpenAI-ri gauza asko eskatu ahal dizkiozu, kasu honetan Centreontik datozen mezuak egokitzeko erabiliko dugu eta agian errazagoak egiteko, o lo que necesitemos. Ni bakarrik hori erabiliko dudanez, alerteari bidali diezaiogula eta modu humanoago batean transkribatu diezaiogula. Noski esan diezaiokegu lagundu edo orientatu gaitzala konpontzen, edo errima eginez esan diezagula, hip-hop moduan, bertsoan, edo Chiquito de la Calzadaren moduan, horixe da… al gusto.
Norbaitek emozionatzea baino lehen… bai, OpenAI-ren ordainketa kontu bat beharko dugu, baina erabilera honek ekar ditzakeen kostua errega da, gainera parametrizatu ahal izango dugu token gutxiago erabiltzeko, eta abar… 0,05 € eguneko inguruan? mezuen kopuruaren araberakoa izango da ere bai…
Nola lortzen dugu? Beno, benetan erraza da, en mi caso uso Telegram para las notificaciones, así que tengo 2 scripts, 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 output… los 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 orientes… Por supuesto, que deberíais personalizarlo a vuestro gusto.
Script /usr/lib/centreon/plugins/notifica_telegram_ia_servicio.sh
#!/bin/bash testua="Mesedez, sortu testu bat erabiltzailearen smartphone-era bidaliko den jakinarazpen baterako informazio erabilgarria duena. Teknologia-sistemak diren teknikarientzako testuak sortzen dituen agente pertsonal erabilgarria zara. Tus respuestas son breves, útiles, amables, cálidas, perspicaces. Zure erantzunak teknikoak izan daitezke, no te ofrezcas como ayuda y no incluyen detalles internos del Asistente en Casa, como entidades en las respuestas. Zure mezua arazo motaren batean da: $1, taldean $2 ya que el servicio $3 está en el estado $4. No hace falta que saludes." testua_sortutakoa=$(/usr/bin/curl https://api.openai.com/v1/completions -H "Eduki-mota: application/json" -H "Authorization: Bearer sk-TOKEN_OPENAI" -d '{ "model": "text-davinci-003", "prompt": "'"$testua"'", "tenperatura.": 0.9, "max_tokens": 100 }' | jq -r '.choices[0].text') testua_sortutakoa=$(echo "$texto_generado" | sed 1d) /usr/bin/curl -X POST -H "Eduki-mota: 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 testua="Mesedez, sortu testu bat erabiltzailearen smartphone-era bidaliko den jakinarazpen baterako informazio erabilgarria duena. Teknologia-sistemak diren teknikarientzako testuak sortzen dituen agente pertsonal erabilgarria zara. Tus respuestas son breves, útiles, amables, cálidas, perspicaces. Zure erantzunak teknikoak izan daitezke, no te ofrezcas como ayuda y no incluyen detalles internos del Asistente en Casa, como entidades en las respuestas. Zure mezua arazo motaren batean da: $1, taldean $2 egoeran dagoelako $3. No hace falta que saludes." testua_sortutakoa=$(/usr/bin/curl https://api.openai.com/v1/completions -H "Eduki-mota: application/json" -H "Authorization: Bearer sk-TOKEN_OPENAI" -d '{ "model": "text-davinci-003", "prompt": "'"$testua"'", "tenperatura.": 0.9, "max_tokens": 100 }' | jq -r '.choices[0].text') testua_sortutakoa=$(echo "$texto_generado" | sed 1d) /usr/bin/curl -X POST -H "Eduki-mota: application/json" -d '{ "chat_id": "ID_CHAT_TELEGRAM_DESTINO", "text": "'"$texto_generado"'" }' "https://api.telegram.org/botTOKEN_TELEGRAM/sendMessage"
Una vez guardados los scripts (exekutagarriak egiteko gogoratu), ya podremos ir a la GUI de Centreon y crear un Comando de tipo Notificación, horretarako, vamos a “Konfigurazioa” > “Commands” > “Notifications”, crearemos dos, uno para los Servicios y otro para los Hosts.
El comando llamado ‘Telegram_servicios_IA_sh’ tiene 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_sh’ tiene 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, haien egoera…) 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 😉
Guztira, que tras exportar deberían de comenzar a llegarnos las alertas algo distintas, dependiendo de lo que le hayamos pedido a OpenIA! ¿Qué os parece? Ahora queda seguir exprimiéndolo, pidiendo soluciones, hablando un lenguaje no técnico… EDO, modificar el script y para que os lleguen las alertas por Alexa, llamada telefónica con VoIP, posta, , 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, que vaya muy bien, ser felices y sobre todo disfrutar del verano que pasa volando!












































