Website-Suche

So richten Sie Zabbix ein, um E-Mail-Benachrichtigungen an ein Gmail-Konto zu senden


Wenn Sie Zabbix zur Überwachung Ihrer Infrastruktur verwenden, möchten Sie möglicherweise E-Mail-Benachrichtigungen von Ihrer lokalen Domäne irgendwo in einer öffentlichen Internetdomäne erhalten, auch wenn Sie keinen gültigen registrierten Internetdomänennamen mit einer E-Mail-Adresse besitzen Server, den Sie selbst konfigurieren können.

In diesem Tutorial wird kurz erläutert, wie Sie einen Zabbix-Server einrichten, um E-Mail-Berichte ohne Verwendung des SSMTP-Programms an eine Gmail-Adresse zu senden zum Installieren und Konfigurieren eines beliebigen lokalen MTA-Daemons wie Postfix, Exim usw.

Anforderungen

  • So installieren Sie Zabbix unter RHEL/CentOS und Debian/Ubuntu – Teil 1

Schritt 1: SSMTP installieren und konfigurieren

1. SSMTP ist eine kleine Software, die keinerlei Funktionalität eines Mailservers erfüllt, sondern lediglich E-Mails von einem lokalen Rechner an eine externe E-Mail-Adresse auf einem zustellt mailhub.

Um das Programm SSMTP zusammen mit dem Paket mailutils zu installieren, das Sie zum Versenden von E-Mails verwenden, geben Sie den folgenden Befehl auf Ihren RedHat-basierten Distributionen und Debian-ähnlichen Servern ein:

yum install msmtp mailx               [On RHEL/CentOS] 
sudo apt-get install ssmtp mailutils       [On Debian/Ubuntu]

2. Nachdem die Pakete auf dem System installiert wurden, konfigurieren Sie das SSMTP-Programm, um lokale E-Mails an Ihr Gmail-Konto zu senden, indem Sie die Hauptkonfigurationsdatei öffnen zum Bearbeiten mit Ihrem bevorzugten Texteditor und Root-Rechten und verwenden Sie die folgenden Parametereinstellungen:

vi /etc/msmtprc                       [On RHEL/CentOS]
sudo nano /etc/ssmtp/ssmtp.conf            [On Debian/Ubuntu]

MSMTP-Einstellungen für das GMAIL-Konto.

#set default values for all following accounts.
defaults
auth           on
tls            on
tls_trust_file    /etc/pki/tls/certs/ca-bundle.crt
logfile        ~/.msmtp.log
Gmail
account        gmail
host           smtp.gmail.com
port           587
from           [email 
user           [email 
password       gmailpassword

Set a default account
account default : gmail

SSMTP-Einstellungen für das GMAIL-Konto.

[email 
mailhub=smtp.gmail.com:587
rewriteDomain=your_local_domain
hostname=your_local_FQDN
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=Gmail_username
AuthPass=Gmail_password
FromLineOverride=YES

Schritt 2: Gmail-Tests für Zabbix-E-Mail-Benachrichtigungen

3. Im nächsten Schritt ist es an der Zeit, eine lokal generierte E-Mail an ein Gmail-Konto zu senden, indem Sie den folgenden Befehl ausführen.

echo "Body test email from 'hostname -f' "| mail -s "subject here" [email 

4. Normalerweise verhindert Gmail verschiedene Arten der Authentifizierung bei seinen Servern von Ihrem Konto aus. Falls Sie also die Fehlermeldung „Mail: Nachricht kann nicht gesendet werden: Prozess mit Status ungleich Null beendet“, melden Sie sich dann über den Browser bei Ihrem Gmail-Konto an und navigieren Sie zum folgenden Link: https://www.google.com/settings/security/ lesssecureapps, um den Zugriff für weniger sichere Apps zu ermöglichen, wie im folgenden Bildschirm dargestellt.

5. Nachdem Sie die Funktion Weniger sichere Apps in Ihrem Gmail-Konto aktiviert haben, führen Sie den obigen E-Mail-Befehl erneut aus und überprüfen Sie Ihren Posteingang nach einer Weile Geben Sie einige Sekunden ein, um zu überprüfen, ob die lokal generierte E-Mail erfolgreich zugestellt wurde. Normalerweise sollten Sie sehen, dass die E-Mail von Gmail eingegangen ist.

Schritt 3: Konfigurieren Sie das Zabbix Sendmail-Skript

6. Darüber hinaus erstellt der Befehl $ (which mail) das folgende Bash-Skript im Zabbix-Verzeichnis alertscripts mit dem folgenden Inhalt und gibt ihm Ausführungsberechtigungen:

vi /usr/local/share/zabbix/alertscripts/zabbix-sendmail            [On RHEL/CentOS]
sudo nano /usr/local/share/zabbix/alertscripts/zabbix-sendmail     [On Debian/Ubuntu]

Skriptinhalt:

#!/bin/bash
echo "$3" | /usr/bin/mail -s "$2" $1

Als nächstes legen Sie die Ausführungsberechtigung für die Skriptdatei fest.

chmod +x /usr/local/share/zabbix/alertscripts/zabbix-sendmail

7. Testen Sie als Nächstes wie zuvor die Skriptfunktionalität, indem Sie eine lokale E-Mail an ein Gmail-Konto senden. Die Art und Weise, wie das Skript mit Positionsparametern ausgeführt wird, wird oben erläutert:

/usr/local/share/zabbix/alertscripts/zabbix-sendmail [email  "Subject here" "Body of the message here"

Überprüfen Sie anschließend den Gmail-Posteingang und prüfen Sie, ob die neue lokale Nachricht angekommen ist.

Schritt 4: Konfigurieren Sie Zabbix zum Senden von Benachrichtigungen an Gmail

8. Wenn die Tests bisher erfolgreich verlaufen, können Sie mit dem nächsten Schritt fortfahren und Zabbix so einrichten, dass generierte E-Mail-Benachrichtigungen an Gmail gesendet werden. Melden Sie sich zunächst bei der Zabbix-Weboberfläche an und navigieren Sie zum folgenden Menü: Administration -> Medientypen -> Medientyp erstellen.

9. Geben Sie im nächsten Bildschirm einen beliebigen Namen ein, um das Skript in den Zabbix-Konfigurationen eindeutig zu identifizieren (in diesem Beispiel Send-Email -Skript verwendet wird), wählen Sie Skript als Typ aus der Liste und geben Sie den Namen des zuvor erstellten Bash-Skripts ein (zabbix-sendmail wird in diesem Tutorial verwendet), um E-Mails über die Befehlszeile zu senden (verwenden Sie nicht den Pfad für das Skript, sondern nur den Skriptnamen). Wenn Sie fertig sind, klicken Sie unten auf die Schaltfläche Hinzufügen, um die Änderungen zu übernehmen.

10. Konfigurieren Sie außerdem eine E-Mail-Adresse, an die Sie Zabbix-Benachrichtigungen senden. Gehen Sie zu Profil -> Medien -> Hinzufügen und ein neues Popup-Fenster sollte erscheinen.

Wählen Sie hier den Namen des Skripts aus, das Sie zuvor benannt haben (in diesem Beispiel wird Send-Email-Script verwendet). Geben Sie als Typ den Namen Gmail ein. Geben Sie die Adresse ein, an die Sie E-Mails senden möchten, wählen Sie den Zeitraum (Woche, Stunden) aus, in dem E-Mail-Berichte zum Senden aktiv sein sollen, wählen Sie den Schweregrad der Nachrichten aus, die Sie an Ihrer Gmail-Adresse erhalten möchten, und wählen Sie Aktiviert< als Status und klicken Sie auf die Schaltfläche Hinzufügen, um die Medien hinzuzufügen. Klicken Sie abschließend auf die Schaltfläche Aktualisieren, um die Konfiguration zu übernehmen.

11. Aktivieren Sie im nächsten Schritt die standardmäßigen Zabbix-Benachrichtigungen, indem Sie zu Konfiguration -> Aktionen navigieren und als Ereignisquelle< auswählen – > Trigger aus dem rechten Menü und klicken Sie auf Deaktivierter Status, um es zu aktivieren. Wiederholen Sie den Schritt für Ereignisquelle – > Intern oder andere benutzerdefinierte Aktionen und schon sind Sie fertig.

Warten Sie eine Weile, bis Zabbix damit beginnt, Informationen zu sammeln und einige Berichte zu erstellen. Überprüfen Sie dann Ihren Gmail-Posteingang und Sie sollten einige gesendete Zabbix-Benachrichtigungen sehen bis jetzt.

Das ist alles! Obwohl sich dieser Leitfaden hauptsächlich auf das Senden von Zabbix-Benachrichtigungen an ein Gmail-Konto unter Verwendung des Gmail SMTP-Servers als Mailhub konzentrierte, können Sie mit derselben Konfiguration Zabbix-E-Mail-Benachrichtigungen auch an andere gültige Internet-E-Mail-Konten weiterleiten Sie verlassen sich darauf, dass Gmail Ihre E-Mails über SMTP-Server weiterleitet.