Slik konfigurerer du Zabbix for å sende e-postvarsler til Gmail-kontoen


Hvis du bruker Zabbix til å overvåke infrastrukturen din, vil du kanskje motta e-postvarsler fra ditt lokale domene et sted på et offentlig internettdomene, selv om du ikke eier et gyldig registrert internettdomenenavn med en e-postserver som du kan konfigurere på egen.

Denne opplæringen vil kort diskutere hvordan du setter opp en Zabbix-server for å sende e-postrapporter til en Gmail-adresse ved å bruke SSMTP-programmet, uten å måtte installere og konfigurere noen lokal MTA-demon, som Postfix, Exim, etc.

  • Hvordan installerer Zabbix på RHEL/CentOS og Debian/Ubuntu – del 1

Trinn 1: Installer og konfigurer SSMTP

1. SSMTP er en liten programvare, som ikke oppfyller noen av funksjonaliteten til en e-postserver, men bare leverer e-post fra en lokal maskin til en ekstern e-postadresse på en mailhub.

For å installere SSMTP-programmet sammen med mailutils-pakken som du vil bruke til å sende e-post, utfør følgende kommando på din Debian-lignende server:

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

2. Etter at pakkene er installert på systemet, konfigurer SSMTP-programmet til å sende lokale e-poster til Gmail-kontoen din ved å åpne hovedkonfigurasjonsfilen for redigering med favoritttekstredigeringsprogrammet og rotrettigheter og bruke følgende parameterinnstillinger:

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

MSMTP-innstillinger for 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-innstillinger for 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

Trinn 2: Gmail-tester for Zabbix e-postvarsler

3. På neste trinn er det på tide å sende en lokalt generert e-post til en Gmail-konto ved å gi kommandoen nedenfor.

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

4. Normalt forhindrer Gmail forskjellige typer autentiseringer til deres servere fra kontoen din, så i tilfelle du får feilen \mail: kan ikke sende en melding: Prosessen avsluttet med status som ikke er null, logg deretter på Gmail-kontoen din fra nettleseren og naviger til følgende lenke https://www.google.com/settings/security/lesssecureapps for å gi tilgang for mindre sikre apper som på følgende skjermbilde.

5. Etter at du har slått på funksjonen for mindre sikre apper på Gmail-kontoen din, kjører du e-postkommandoen ovenfor på nytt og bekrefter innboksen din etter noen sekunder for å sjekke om den lokalt genererte e-posten har blitt levert – du skal normalt se at e-posten har innkommende fra Gmail.

Trinn 3: Konfigurer Zabbix Sendmail-skript

6. Basert på kommandoen $ (which mail) oppretter dessuten følgende Bash-skript til Zabbix alertscripts-katalog med følgende innhold og gir den utføringstillatelser:

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

Skriptinnhold:

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

Deretter setter du utføringstillatelsen på skriptfilen.

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

7. Deretter, som tidligere, test skriptfunksjonaliteten ved å sende en lokal e-post til en Gmail-konto. Måten å kjøre skriptet med posisjonsparametere er forklart ovenfor:

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

Etterpå, verifiser Gmail-innboksen og sjekk om den nye lokale meldingen har kommet.

Trinn 4: Konfigurer Zabbix til å sende varsler til Gmail

8. Hvis testene så langt er vellykkede, kan du gå til neste trinn og sette opp Zabbix til å sende genererte e-postvarsler til Gmail. Logg først på Zabbix-nettgrensesnittet og naviger til følgende meny: Administrasjon -> Medietyper -> Opprett medietype.

9. På neste skjermbilde skriv inn et vilkårlig navn for å identifisere skriptet unikt i Zabbix-konfigurasjonene (i dette eksempelet brukes Send-E-post-skript), velg Skript som Type fra listen og skriv inn navnet på Bash-skriptet opprettet tidligere ( zabbix-sendmail brukt i denne opplæringen) for å sende e-post fra kommandolinjen (ikke bruk banen til skriptet, bare skriptnavnet). Når du er ferdig, trykk på Legg til-knappen nedenfor for å gjenspeile endringer.

10. La oss videre konfigurere en e-postadresse som du vil sende Zabbix-varsler til. Gå til Profil -> Media -> Legg til og et nytt popup-vindu skal vises.

Her velger du navnet på skriptet du tidligere har navngitt (i dette eksempelet brukes Send-E-post-skript) for Type, skriv inn Gmail-adressen du vil sende e-post til, velg tidsperiode (uke, timer) når du sender e-post rapporter skal være aktive for sending, velg alvorlighetsgraden av meldingene du vil motta på Gmail-adressen din, velg Aktivert som status og trykk på Legg til-knappen for å legge til media. Til slutt trykker du på Oppdater-knappen for å bruke konfigurasjonen.

11. På neste trinn aktiverer du standard Zabbix-varsler ved å navigere til Konfigurasjon -> Handlinger, velg som hendelseskilde -> Utløsere fra høyremenyen, og trykk på Deaktivert status for å aktivere den. Gjenta trinnet for Event Source -> Interne eller andre spesiallagde handlinger, og du er ferdig.

Vent en stund til Zabbix begynner å samle informasjon og generere noen rapporter, bekreft deretter Gmail-innboksen din, og du skal se noen Zabbix-varsler som er sendt inn så langt.

Det er alt! Selv om denne veiledningen hovedsakelig var fokusert på å sende Zabbix-varsler til en Gmail-konto som bruker Gmail SMTP-server som en e-posthub, kan du ved å bruke den samme konfigurasjonen også sende Zabbix-e-postvarsler videre til andre gyldige internett-e-postkontoer ved å stole på Gmail for å rute e-postene dine gjennom SMTP-servere.