"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Escribir un script de notificaciones de Telegram y correo electrónico para Zabbix

Escribir un script de notificaciones de Telegram y correo electrónico para Zabbix

Publicado el 2024-11-08
Navegar:583

Writing a Telegram and Email Notifications Script for Zabbix

Monitorear toda su infraestructura es muy esencial, especialmente en infraestructuras de TI. Recientemente aprendí a crear y escribir scripts para monitorear como este. Les compartiré cómo hago el script de notificaciones de telegramas y correo electrónico. Este script envía un telegrama y una notificación por correo electrónico cada vez que ocurre un problema en la infraestructura.

¿Qué es Zabbix?

Zabbix es un software de código abierto que monitorea numerosos parámetros de una red y el estado e integridad de servidores, máquinas virtuales, aplicaciones, servicios, bases de datos, sitios web, la nube y más. Zabbix utiliza un mecanismo de notificación flexible que permite a los usuarios configurar alertas basadas en correo electrónico para prácticamente cualquier evento. Esto permite una reacción rápida ante problemas del servidor. Zabbix ofrece excelentes funciones de visualización de datos e informes basadas en los datos almacenados. Esto hace que Zabbix sea ideal para la planificación de capacidad.

Secuencia de comandos de notificación de Telegram

Inicie sesión en su servidor/proxy Zabbix a través de SSH y vaya al directorio "externalscripts".

cd /usr/lib/zabbix/externalscripts

Crea el script para el bot de Telegram. Configura tu bot de Telegram aquí.

sudo vim telegram-notif.sh

Pegue el script a continuación

#!/bin/bash

# Telegram Bot API Token
BOT_TOKEN="YOUR_BOT_TOKEN"

# Telegram Chat ID
CHAT_ID="YOUR_TELEGRAM_CHAT_ID"

# Message to be sent
MESSAGE="$1"

# Sends the telegram message
curl -s -X POST "https://api.telegram.org/bot$BOT_TOKEN/sendMessage" -d "chat_id=$CHAT_ID&text=$MESSAGE"

Guarda tu guión.

:wq

Convertirlo en un archivo ejecutable

chmod  x telegram-notif.sh

Secuencia de comandos de notificación por correo electrónico

En el mismo directorio, cree un archivo Python.

sudo vim email-notif.py

Pegue este código. Este código requiere una contraseña de aplicación de su cuenta de Gmail. Crea la contraseña de tu aplicación aquí.

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import sys

# Get the alert message from command-line arguments
alert_message = sys.argv[1]

# Email account credentials
gmail_user = 'YOUR_EMAIL_ADDRESS'
gmail_password = 'YOUR_APP_PASSWORD'  # Use your App Password here

# Create the message
msg = MIMEMultipart()
msg['From'] = gmail_user
msg['To'] = 'YOUR_RECIPIENT_EMAIL_ADDRESS'  # Recipient's email address
msg['Subject'] = 'Alert Message Subject'  # Subject of the email
message = alert_message
msg.attach(MIMEText(message, 'plain'))

# Attempt to send the email
try:
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.ehlo()
    server.login(gmail_user, gmail_password)
    server.send_message(msg)
    server.close()

    print('Email sent!')
except Exception as e:
    print('Failed to send email:', e)

No olvides guardarlo y convertirlo en un archivo ejecutable

:wq
chmod  x email-notif.py

Este script se puede integrar en Zabbix para notificar problemas que deben abordarse lo más rápido posible.

En algunos casos, ejecutar un script de Python en un servidor requiere permisos de root (sudo). Para permitir que Zabbix ejecute el script de Python con sudo, debe editar el visudo.

sudo visudo

Busque la "Especificación de privilegios de usuario" y pegue esta línea de código debajo.

zabbix  ALL=(ALL) NOPASSWD: /usr/lib/zabbix/externalscripts/your_script.py

Entonces se verá así

# User privilege specification
root    ALL=(ALL:ALL) ALL
zabbix  ALL=(ALL) NOPASSWD: /usr/bin/python3
zabbix  ALL=(ALL) NOPASSWD: /usr/lib/zabbix/externalscripts/your_script.py

¡Gracias por leer!

Declaración de liberación Este artículo se reproduce en: https://dev.to/kurtchan/writing-a-telegram-and-email-notifications-script-for-zabbix-5ddj?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3