„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Schreiben eines Telegramm- und E-Mail-Benachrichtigungsskripts für Zabbix

Schreiben eines Telegramm- und E-Mail-Benachrichtigungsskripts für Zabbix

Veröffentlicht am 08.11.2024
Durchsuche:308

Writing a Telegram and Email Notifications Script for Zabbix

Die Überwachung Ihrer gesamten Infrastruktur ist besonders in IT-Infrastrukturen sehr wichtig. Ich habe kürzlich gelernt, Skripte für die Überwachung wie dieses zu erstellen und zu schreiben. Ich werde Ihnen zeigen, wie ich ein Skript für Telegramm- und E-Mail-Benachrichtigungen erstelle. Dieses Skript sendet eine Telegramm- und E-Mail-Benachrichtigung, wenn ein Problem in der Infrastruktur auftritt.

Was ist Zabbix

Zabbix ist eine Open-Source-Software, die zahlreiche Parameter eines Netzwerks sowie den Zustand und die Integrität von Servern, virtuellen Maschinen, Anwendungen, Diensten, Datenbanken, Websites, der Cloud und mehr überwacht. Zabbix verwendet einen flexiblen Benachrichtigungsmechanismus, der es Benutzern ermöglicht, E-Mail-basierte Benachrichtigungen für praktisch jedes Ereignis zu konfigurieren. Dies ermöglicht eine schnelle Reaktion auf Serverprobleme. Zabbix bietet hervorragende Berichts- und Datenvisualisierungsfunktionen basierend auf den gespeicherten Daten. Dadurch ist Zabbix ideal für die Kapazitätsplanung.

Telegram-Benachrichtigungsskript

Melden Sie sich über SSH bei Ihrem Zabbix-Proxy/Server an und gehen Sie zum Verzeichnis „externalscripts“.

cd /usr/lib/zabbix/externalscripts

Erstellen Sie das Skript für den Telegram-Bot. Richten Sie hier Ihren Telegram-Bot ein.

sudo vim telegram-notif.sh

Fügen Sie das Skript unten ein

#!/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"

Speichern Sie Ihr Skript.

:wq

Konvertieren Sie es in eine ausführbare Datei

chmod  x telegram-notif.sh

E-Mail-Benachrichtigungsskript

Erstellen Sie im selben Verzeichnis eine Python-Datei.

sudo vim email-notif.py

Fügen Sie diesen Code ein. Für diesen Code ist ein App-Passwort von Ihrem Gmail-Konto erforderlich. Erstellen Sie hier Ihr App-Passwort.

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)

Vergessen Sie nicht, diese Datei zu speichern und in eine ausführbare Datei umzuwandeln

:wq
chmod  x email-notif.py

Dieses Skript kann in Zabbix integriert werden, um Probleme zu melden, die so schnell wie möglich behoben werden müssen.

In einigen Fällen erfordert die Ausführung eines Python-Skripts auf einem Server Root-Berechtigungen (sudo). Damit Zabbix das Python-Skript mit sudo ausführen kann, müssen Sie visudo bearbeiten.

sudo visudo

Suchen Sie nach der „Benutzerberechtigungsspezifikation“ und fügen Sie diese Codezeile darunter ein.

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

So wird es so aussehen

# 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

Danke fürs Lesen!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/kurtchan/writing-a-telegram-and-email-notifications-script-for-zabbix-5ddj?1 Bei Verstößen wenden Sie sich bitte an [email protected] um es zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3