{"id":1569,"date":"2025-04-16T13:08:12","date_gmt":"2025-04-16T16:08:12","guid":{"rendered":"https:\/\/www.nerdadas.com\/blog\/?p=1569"},"modified":"2025-04-16T13:08:12","modified_gmt":"2025-04-16T16:08:12","slug":"integrar-telegram-en-linux-nagios-tambien","status":"publish","type":"post","link":"https:\/\/www.nerdadas.com\/blog\/integrar-telegram-en-linux-nagios-tambien\/","title":{"rendered":"Integrar Telegram en Linux (Nagios tambi\u00e9n)"},"content":{"rendered":"\n<p>Estas de guardia y explota todo en tu trabajo. Que pas\u00f3???. Vas al correo y ten\u00e9s una lista interminable de mails de Nagios dandote detalles de todo lo que paso, muchos emails!. Bueno, esta semana me molest\u00e9 con eso y busqu\u00e9 alternativas para que en vez de mails sean mensajitos en telegram que pueda revisar en un vistazo. A esta altura del a\u00f1o los correos estresan demasiado!.<\/p>\n\n\n\n<p>Telegram es una plataforma de mensajer\u00eda y voip que naci\u00f3 en Rusia. Funciona como Whatsapp y en algunos casos de inspiraci\u00f3n para Whatsapp. Su c\u00f3digo est\u00e1 disponible por si quer\u00e9s montar tu propio fork con servidores locales y tambi\u00e9n tiene un \u00abcommunity support\u00bb que le da un toque de \u00abOpensource\u00bb.(<a href=\"https:\/\/telegram.org\/apps\">https:\/\/telegram.org\/)<\/a><\/p>\n\n\n\n<p>Buscando info en la red y chatgpt saqu\u00e9 funcionando un script en cuesti\u00f3n de minutos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Que descubr\u00ed?<\/h2>\n\n\n\n<p>Crear un bot en Telegram es muy sencillo. Solo basta con iniciar conversaci\u00f3n con <strong>@botfather<\/strong>, el bot padrino de Telegram que te brindar\u00e1 un breve tutorial de como crear tu bot.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"333\" height=\"111\" src=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/image.png\" alt=\"\" class=\"wp-image-1570\" style=\"width:840px;height:auto\" srcset=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/image.png 333w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/image-300x100.png 300w\" sizes=\"auto, (max-width: 333px) 100vw, 333px\" \/><\/a><\/figure>\n\n\n\n<p>Abrimos una chat con @botfather y lo iniciamos con \/newbot esta opci\u00f3n nos va a hacer varias preguntas para crear nuestro bot. Nombre del bot, nombre del usuario del bot(que debe terminar en &#8230;bot)  y nos dar\u00e1 un token para poder acceder a \u00e9l. Ahora solo nos vamos a manejar con esos datos.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"369\" height=\"767\" src=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot1.png\" alt=\"\" class=\"wp-image-1572\" style=\"width:343px;height:auto\" srcset=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot1.png 369w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot1-144x300.png 144w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"590\" src=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot2.png\" alt=\"\" class=\"wp-image-1573\" srcset=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot2.png 349w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2024\/08\/bot2-177x300.png 177w\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" \/><\/a><\/figure>\n\n\n\n<p>Un vez que creamos un bot buscalo en telegram y mandale un mensaje: \u00abHola!\u00bb por ejemplo y luego a: https:\/\/api.telegram.org\/bot&lt;ACA VA TU TOKEN&gt;\/getUpdates <\/p>\n\n\n\n<p>Te va a devolver un json de donde vas a sacar el id de chat. (Puede ser negativo[el n\u00famero] copialo tal cual).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"107\" src=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image-1024x107.png\" alt=\"\" class=\"wp-image-1622\" srcset=\"https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image-1024x107.png 1024w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image-300x31.png 300w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image-768x80.png 768w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image-1536x160.png 1536w, https:\/\/www.nerdadas.com\/blog\/wp-content\/uploads\/2025\/04\/image.png 1622w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>En el pr\u00f3ximo c\u00f3digo de shell vamos a usar: usuario, token, id de chat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El Script<\/h2>\n\n\n\n<p>Vamos a escribir un script con los datos que acabamos de tomar<\/p>\n\n\n\n<p>nano \/usr\/local\/bin\/telegram_nagios.sh<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\nBOT_TOKEN=\"&lt;BOT-TOKEN&gt;\"\nCHAT_ID=\"&lt;GROUP-ID&gt;\"  # Aseg\u00farate de incluir el signo negativo si est\u00e1 presente\nMESSAGE=\"$1\"\n\ncurl -s -X POST https:\/\/api.telegram.org\/bot$BOT_TOKEN\/sendMessage \\\n-d chat_id=$CHAT_ID \\\n-d text=\"$MESSAGE\"\n<\/code><\/pre>\n\n\n\n<p>Con este script ya estamos en condiciones de hacer funcionar las alertas por telegram.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Nagios<\/strong><\/h2>\n\n\n\n<p>Ahora a configurar Nagios. Primero creamos el comando en el archivo commands.cfg, para poder referenciarlo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/nagios\/etc\/objects\/commands.cfg<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>#Servicios\ndefine command {\ncommand_name notify-service-by-telegram\ncommand_line sh \/usr\/local\/bin\/telegram_nagios.sh \"Service: $SERVICEDESC$ on $HOSTNAME$ is $SERVICESTATE$ - Info: $SERVICEOUTPUT$\"\n}\n#host state\ndefine command {\ncommand_name notify-host-by-telegram\ncommand_line sh \/usr\/local\/bin\/telegram_nagios.sh \"Host: $HOSTNAME$ is $HOSTSTATE$ - Info: $HOSTOUTPUT$\"\n}<\/code><\/pre>\n\n\n\n<p>Una vez creados los comandos vamos a contactos y creamos uno nuevo cuyo alias ser\u00e1 nuestro alias de telegram.(En este caso Jerexxx).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/nagios\/etc\/objects\/contacts.cfg<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>define contact {\n   contact_name telegram-contact\n   alias Jerexxx\n   service_notification_commands notify-service-by-telegram\n   host_notification_commands notify-host-by-telegram\n   service_notification_period 24x7\n   host_notification_period 24x7\n   service_notification_options w,u,c,r\n   host_notification_options d,u,r\n}<\/code><\/pre>\n\n\n\n<p>Y modificamos tambi\u00e9n el contactgroup donde definimos el grupo que recibe las alertas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>contactgroup_name admins\n   alias Administradores\n   members soporte, telegram-contact\n}<\/code><\/pre>\n\n\n\n<p>Luego reiniciamos nagios:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl restart nagios<\/code><\/pre>\n\n\n\n<p>Ahora ya estar\u00eda todo funcional.<\/p>\n\n\n\n<p>La idea de este script es m\u00e1s una prueba de concepto general. Si bien ahora Nagios te ofrece mensajer\u00eda por telegram de cada ca\u00edda de servicios o hosts es tambi\u00e9n una forma muy b\u00e1sica de interactuar con telegram de una forma nativa f\u00e1cil de entender en su funcionamiento.<\/p>\n\n\n\n<p>Si encontras una mejora o alguna implementaci\u00f3n mejor por favor no dejes de escribirme.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Estas de guardia y explota todo en tu trabajo. Que pas\u00f3???. Vas al correo y ten\u00e9s una lista interminable de mails de Nagios dandote detalles de todo lo que paso, muchos emails!. Bueno, esta semana me molest\u00e9 con eso y busqu\u00e9 alternativas para que en vez de mails sean mensajitos en telegram que pueda revisar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1575,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[301,3,1223,161,1,17,776,804],"tags":[1341,1340,1342,282,986,10,37,1343,1337,242,1344,569,869,1339,1338],"class_list":["post-1569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-failswins","category-programacion","category-redes","category-seguridad","category-sin-categoria","category-tecnologia","category-textos","category-ti","tag-bot","tag-botfather","tag-bots","tag-hack","tag-ip","tag-jeremias-palazzesi","tag-linux","tag-monitoreo","tag-nagios","tag-network","tag-noc","tag-redes","tag-seguridad","tag-telegram","tag-zabbix"],"_links":{"self":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts\/1569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/comments?post=1569"}],"version-history":[{"count":5,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts\/1569\/revisions"}],"predecessor-version":[{"id":1623,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/posts\/1569\/revisions\/1623"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/media\/1575"}],"wp:attachment":[{"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/media?parent=1569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/categories?post=1569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nerdadas.com\/blog\/wp-json\/wp\/v2\/tags?post=1569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}