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