Zoeken op website

Hoe u Zabbix instelt om e-mailwaarschuwingen naar een Gmail-account te verzenden


Als u Zabbix gebruikt om uw infrastructuur te monitoren, wilt u mogelijk e-mailwaarschuwingen ontvangen van uw lokale domein ergens op een openbaar internetdomein, zelfs als u niet over een geldige geregistreerde internetdomeinnaam met een e-mailadres beschikt server die u zelf kunt configureren.

In deze tutorial wordt kort besproken hoe u een Zabbix-server instelt om e-mailrapporten naar een Gmail-adres te verzenden met behulp van het SSMTP-programma, zonder dat dit nodig is om elke lokale MTA daemon te installeren en configureren, zoals Postfix, Exim, enz.

Vereisten

  • Zabbix installeren op RHEL/CentOS en Debian/Ubuntu – Deel 1

Stap 1: SSMTP installeren en configureren

1. SSMTP is kleine software die geen enkele functionaliteit van een mailserver vervult, maar alleen e-mails van een lokale machine naar een extern e-mailadres op een mailhub.

Om het SSMTP programma te installeren samen met het mailutils pakket dat u gaat gebruiken om e-mails te verzenden, geeft u de volgende opdracht op uw op RedHat gebaseerde distributies en Debian-achtige server:

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

2. Nadat de pakketten op het systeem zijn geïnstalleerd, configureert u het SSMTP-programma om lokale e-mails naar uw Gmail-account te verzenden door het hoofdconfiguratiebestand te openen voor bewerking met uw favoriete teksteditor en rootrechten en gebruik de volgende parameterinstellingen:

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

MSMTP-instellingen voor GMAIL-account.

#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-instellingen voor GMAIL-account.

[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

Stap 2: Gmail-tests voor e-mailwaarschuwingen van Zabbix

3. Bij de volgende stap is het tijd om een lokaal gegenereerde e-mail naar een Gmail-account te sturen door de onderstaande opdracht te geven.

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

4. Normaal gesproken voorkomt Gmail verschillende soorten authenticatie van hun servers vanaf uw account, dus mocht u de foutmelding “mail: kan geen bericht verzenden: proces afgesloten met niet-nulstatus ", log vervolgens in op uw Gmail-account vanuit de browser en navigeer naar de volgende link https://www.google.com/settings/security/ lesssecureapps om toegang voor minder veilige apps mogelijk te maken, zoals in het volgende scherm.

5. Nadat u de functie Minder veilige apps op uw Gmail-account heeft ingeschakeld, voert u de bovenstaande e-mailopdracht opnieuw uit en verifieert u uw Postvak IN na een enkele seconden om te controleren of de lokaal gegenereerde e-mail succesvol is afgeleverd. Normaal gesproken zou u moeten zien dat de e-mail afkomstig is van Gmail.

Stap 3: Configureer het Zabbix Sendmail-script

6. Verder wordt op basis van de opdracht $ (welke mail) het volgende Bash-script gemaakt naar de map Zabbix alertscripts met de volgende inhoud en geeft het uitvoeringsrechten:

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

Scriptinhoud:

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

Stel vervolgens de uitvoeringsmachtiging in voor het scriptbestand.

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

7. Test vervolgens, zoals eerder, de functionaliteit van het script door een lokale e-mail naar een Gmail-account te sturen. De manier waarop u het script met positionele parameters uitvoert, wordt hierboven uitgelegd:

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

Controleer daarna het Postvak IN van Gmail en controleer of het nieuwe lokale bericht is aangekomen.

Stap 4: Configureer Zabbix om waarschuwingen naar Gmail te verzenden

8. Als de tests tot nu toe succesvol zijn, kun je doorgaan naar de volgende stap en Zabbix instellen om gegenereerde e-mailwaarschuwingen naar Gmail te verzenden. Log eerst in op de Zabbix-webinterface en navigeer naar het volgende menu: Beheer -> Mediatypen -> Maak mediatype.

9. Voer op het volgende scherm een willekeurige Naam in om het script uniek te identificeren in de Zabbix-configuraties (in dit voorbeeld Send-Email -Script wordt gebruikt), kies Script als Type uit de lijst en voer de naam in van het eerder gemaakte Bash-script (zabbix-sendmail gebruikt in deze tutorial) om e-mail te verzenden vanaf de opdrachtregel (gebruik niet het pad voor het script, alleen de scriptnaam). Wanneer u klaar bent, klikt u hieronder op de knop Toevoegen om de wijzigingen weer te geven.

10. Laten we verder een e-mailadres configureren waarnaar u Zabbix-waarschuwingen stuurt. Ga naar Profiel -> Media -> Toevoegen en er zou een nieuw pop-upvenster moeten verschijnen.

Selecteer hier de naam van het script dat u eerder heeft genoemd (in dit voorbeeld wordt Send-Email-Script gebruikt) voor Type, voer de Gmail in adres waarnaar u e-mails wilt verzenden, kies de periode (week, uren) waarin e-mailrapporten actief moeten zijn voor verzending, kies de ernst van de berichten die u op uw Gmail-adres wilt ontvangen, selecteer Ingeschakeld< als Status en klik op de knop Toevoegen om de media toe te voegen. Klik ten slotte op de knop Bijwerken om de configuratie toe te passen.

11. Schakel bij de volgende stap de standaard Zabbix-waarschuwingen in door naar Configuratie -> Acties te gaan en selecteer als Evenementbron< – > Triggers in het rechtermenu en klik op Uitgeschakelde status om deze in te schakelen. Herhaal de stap voor Gebeurtenisbron – > Interne of andere op maat gemaakte acties en je bent klaar.

Wacht een tijdje totdat Zabbix begint met het verzamelen van informatie en het genereren van enkele rapporten. Verifieer vervolgens uw Gmail-inbox en u zou enkele Zabbix-waarschuwingen moeten zien ingediend dusver.

Dat is alles! Hoewel deze handleiding voornamelijk gericht was op het verzenden van Zabbix-waarschuwingen naar een Gmail-account met behulp van de Gmail SMTP-server als mailhub, kunt u met dezelfde configuratie Zabbix-e-mailwaarschuwingen ook verder pushen naar andere geldige internet-e-mailaccounts door vertrouwend op Gmail om uw e-mails via SMTP-servers te routeren.