Prometheus può generare avvisi quando un obiettivo non è disponibile e inviarli al gestore di avviso, inviandoti una notifica e -mail per farti sapere che un obiettivo è inattivo. Questo è solo un esempio. Prometheus può inviare avvisi a Alert Manager a seconda delle metriche Prometeo. Quindi, le possibilità sono illimitate.
In questo articolo, ti mostrerò come installare Prometheus Alert Manager su Ubuntu 20.04 LTS. Ti mostrerò anche come configurare Prometheus e Alert Manager per inviarti notifiche e -mail tramite Gmail quando un obiettivo Prometheus è inattivo (non disponibile). Quindi iniziamo.
Sommario:
Prerequisiti:
Per seguire questo articolo, devi:
Questo articolo è una continuazione dell'articolo come installare Prometheus su Ubuntu 20.04 LTS. Se hai bisogno di assistenza sull'installazione di Prometheus su Ubuntu 20.04 LTS e creazione di un utente del sistema Prometheus, assicurati di verificarlo.
Installazione di Alert Manager:
Puoi scaricare l'ultima versione di Alert Manager dal sito Web ufficiale di Prometheus e installarlo su Ubuntu 20.04 LTS molto facilmente.
Innanzitutto, navigare verso il ~/Download Directory (o qualsiasi altra directory temporanea di tua scelta) come segue:
$ cd ~/download
Scarica l'ultima versione di Alert Manager (V0.22.2 al momento di questa scrittura) con il seguente comando:
$ wget https: // github.com/Prometheus/AlertManager/Releases/Download/V0.22.2/AlertManager-0.22.2.Linux-AMD64.catrame.Gz
Alert Manager viene scaricato. Potrebbe volerci un po 'di tempo per completare.
A questo punto, Alert Manager dovrebbe essere scaricato.
Una volta scaricato Alert Manager, dovresti trovare un nuovo file di archivio AlertManager-0.22.2.Linux-AMD64.catrame.Gz Nella tua attuale directory di lavoro, come contrassegnato nello screenshot seguente.
$ ls -lh
Estrarre il AlertManager-0.22.2.Linux-AMD64.catrame.Gz Archivio con il seguente comando:
$ TAR XZF AlertManager-0.22.2.Linux-AMD64.catrame.Gz
Dovresti trovare una nuova directory AlertManager-0.22.2.Linux-Amd64/ come contrassegnato nello screenshot seguente.
$ ls -lh
Ora, muovi il AlertManager-0.22.2.Linux-AMD64 directory a /optare/ directory e rinominarlo a ArertManager come segue:
$ sudo mv -v arertmanager -0.22.2.Linux-Amd64 /Opt /AlertManager
Modificare l'utente e il gruppo di tutti i file e le directory del /opt/arertmanager/ Directory to Root come segue:
$ sudo chown -rfv root: root /opt /arertmanager
Nel /opt/arertmanager directory, dovresti trovare il ArertManager Binario e il file di configurazione di Alert Manager ArertManager.YML, come contrassegnato nello screenshot seguente. Li userai più tardi. Quindi, tienilo a mente.
Creazione di una directory di dati:
Alert Manager ha bisogno di una directory in cui può archiviare i suoi dati. Come eseguirai Alert Manager come il Prometeo utente di sistema, il Prometeo L'utente di sistema deve avere accesso (lettura, scrittura ed eseguire le autorizzazioni) a quella directory di dati.
Puoi creare il dati/ directory nel /opt/arertmanager/ directory come segue:
$ sudo mkdir -v/opt/alertmanager/dati
Cambiare il proprietario e il gruppo del /opt/arertmanager/dati/ directory a Prometeo con il seguente comando:
$ sudo chown -rfv Prometheus: Prometheus/Opt/AlertManager/Data
Il proprietario e il gruppo del /opt/arertmanager/dati/ La directory dovrebbe essere cambiata in Prometeo, Come mostrato nello screenshot seguente.
$ ls -lh
Avvio di Alert Manager su Boot:
Ora, devi creare un file di servizio SystemD per Alert Manager in modo da poter facilmente gestire (avviare, arrestare, riavviare e aggiungere all'avvio) il servizio AlertManager con SystemD.
Per creare un file di servizio SystemD ArertManager.servizio, Esegui il seguente comando:
$ sudo nano/etc/systemd/system/arertmanager.servizio
Digitare le seguenti righe in ArertManager.servizio file.
[Unità]
Descrizione = ArertManager per Prometeo
[Servizio]
Riavvia = sempre
Utente = Prometheus
ExecStart =/opt/AlertManager/AlertManager -Config.file =/opt/arertmanager/arertmanager.YML --Storage.Path =/opt/arertManager/Data
ExecreLoad =/bin/kill -hup $ mainpid
TimeoutstopSec = 20s
SendSIGKILL = NO
[Installare]
WANTEDBY = Multi-utente.bersaglio
Una volta che hai finito, premere + X seguito da Y E per salvare il ArertManager.servizio file.
Per le modifiche SystemD per avere effetto, eseguire il seguente comando:
$ sudo systemctl demone-ricaricamento
Ora, inizia il ArertManager Servizio con il seguente comando:
$ sudo systemctl avvia avvisirmanager.servizio
Aggiungi il ArertManager Servizio all'avvio del sistema in modo che inizi automaticamente all'avvio con il seguente comando:
$ sudo systemctl abilita arertmanager.servizio
Come puoi vedere, il ArertManager Il servizio è attivo/in esecuzione. È altresì abilitato (Avverrà automaticamente su avvio).
$ sudo SystemCtl Stato AlertManager.servizio
Configurazione di Prometeo:
Ora, devi configurare Prometheus per utilizzare Alert Manager. Puoi anche monitorare il gestore di avviso con Prometheus. Ti mostrerò come fare entrambi in questa sezione.
Innanzitutto, trova l'indirizzo IP del computer in cui è stato installato Alert Manager con il seguente comando:
$ hostname -i
Nel mio caso, l'indirizzo IP è 192.168.20.161. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.
Ora apri il file di configurazione Prometheus /opt/Prometheus/Prometheus.YML con il nano Editor di testo come segue:
$ sudo nano/opt/prometheus/prometeo.YML
Digitare le seguenti righe in rash_configs Sezione per aggiungere Alert Manager per il monitoraggio con Prometheus.
- Job_name: 'ArertManager'
static_configs:
- Obiettivi: ['192.168.20.161: 9093 ']
Inoltre, digita l'indirizzo IP e il numero di porta di Alert Manager nel Allerting> AlertManagers sezione come contrassegnato nello screenshot seguente.
Una volta che hai finito, premere + X seguito da Y E per salvare il Prometeo.YML file di configurazione.
Affinché le modifiche abbiano effetto, riavvia il Prometeo servizio come segue:
$ sudo systemctl riavvia Prometeo.servizio
Visita l'URL http: // 192.168.20.161: 9090/obiettivi dal tuo browser Web preferito e dovresti vederlo ArertManager è nel SU stato. Quindi, Prometheus può accedere perfettamente a Alert Manager.
NOTA: Ho installato Prometheus e Alert Manager sullo stesso computer. Quindi, l'indirizzo IP della mia istanza Prometheus è lo stesso di Alert Manager. Se hai installato Prometheus su un computer diverso, effettua le regolazioni necessarie da ora in poi.
Creare una regola di avviso Prometeo:
Su Prometeo, puoi usare il su espressione per trovare lo stato degli obiettivi aggiunti a Prometeo, come mostrato nello screenshot seguente.
Gli obiettivi che si trovano nel SU lo stato (in esecuzione e accessibile a Prometeo) avrà il valore 1, e obiettivi che non sono nel SU (O GIÙ) stato (non in esecuzione o inaccessibile a Prometeo) avrà il valore 0.
Se fermi uno degli obiettivi - node_exporter (diciamo).
$ sudo systemctl stop nodo-exporter.servizio
IL su il valore di quel bersaglio dovrebbe essere 0, Come puoi vedere nello screenshot qui sotto. Ottieni l'idea.
Quindi, puoi usare il up == 0 espressioni per elencare solo gli obiettivi che non sono in esecuzione o inaccessibili a Prometeo, come puoi vedere nello screenshot seguente.
Questa espressione può essere utilizzata per creare un avviso Prometeo e inviare avvisi a Alert Manager quando uno o più obiettivi non sono in esecuzione o inaccessibile a Prometeo.
Per creare un avviso Prometheus, crea un nuovo file regole.YML nel /opt/Prometheus/ directory come segue:
$ sudo nano/opt/prometheus/regole.YML
Ora, digita le seguenti righe in regole.YML file.
Gruppi:
- Nome: test
regole:
- Avviso: INDITAZIONE
expr: up == 0
per: 1m
Una volta che hai finito, premere + X seguito da Y E per salvare il regole.YML file.
Qui, l'avviso Instanced verrà licenziato quando gli obiettivi non sono in esecuzione o inaccessibile a Prometeo (cioè up == 0) per un minuto (1 m).
Ora apri il file di configurazione Prometheus /opt/Prometheus/Prometheus.YML con il nano Editor di testo come segue:
$ sudo nano/opt/prometheus/prometeo.YML
Aggiungi il regole.YML file in regola_files Sezione del Prometeo.File di configurazione YML come contrassegnato nello screenshot seguente.
Un'altra opzione importante del Prometeo.YML Il file è valutazione_interval. Prometeo controllerà se qualche regola corrisponda a ogni valutazione_interval tempo. Il valore predefinito è 15s (15 secondi). Quindi, le regole di avviso nel regole.YML Il file verrà controllato ogni 15 secondi.
Una volta che hai finito, premere + X seguito da Y E per salvare il Prometeo.YML file.
Affinché le modifiche abbiano effetto, riavvia il Prometeo servizio come segue:
$ sudo systemctl riavvia Prometeo.servizio
Ora, vai all'URL http: // 192.168.20.161: 9090/regole dal tuo browser Web preferito e dovresti vedere la regola Instanced che hai appena aggiunto.
Passare all'URL http: // 192.168.20.161: 9090/Avvisi dal tuo browser Web preferito e dovresti vedere lo stato di Alert Instanced, come puoi vedere nello screenshot seguente.
Mentre ti sei fermato node_exporter In precedenza, l'avviso è attivo ed è in attesa di essere inviato al direttore di avviso.
Dopo un minuto è passato, l'avviso Instanced dovrebbe essere in LICENZIARE stato. Significa che l'avviso viene inviato al direttore di avviso.
Configurazione del ricevitore Gmail su Alert Manager:
In questa sezione, ti mostrerò come configurare Gmail come ricevitore Alert Manager in modo da poter ricevere e -mail sul tuo account Gmail da Alert Manager se un obiettivo Prometheus è inattivo.
Per configurare Gmail come ricevitore Alert Manager, è necessario generare una password dell'app per Gmail dalle impostazioni di sicurezza del tuo account Google.
Per fare ciò, vai a URL https: // myaccount.Google.com dal tuo browser Web preferito e fai clic su Sicurezza> Password dell'app come contrassegnato nello screenshot seguente.
Dovresti vedere la pagina seguente.
Selezionare Posta dal Seleziona l'app Menu a discesa come contrassegnato nello screenshot in basso.
Selezionare Altro (nome personalizzato) dal Seleziona dispositivo Menu a discesa come contrassegnato nello screenshot in basso.
Digitare ArertManager (o qualsiasi cosa ti piace) e fai clic su CREARE come contrassegnato nello screenshot seguente.
Dovrebbe essere generata una password dell'app. Copialo e memorizzalo da qualche parte sicuro. Ne avrai bisogno più tardi.
Ora apri il file di configurazione di Alert Manager /opt/arertmanager/arertmanager.YML con il nano Editor di testo come segue:
$ sudo nano/opt/alertmanager/alertmanager.YML
Per aggiungere un nuovo ricevitore Gmail, digita le seguenti righe in ricevitori sezione del ArertManager.YML File come contrassegnato nello screenshot di seguito.
- Nome: "Gmail"
email_configs:
- a: '@gmail.com
da: '@gmail.com
Smarthost: SMTP.gmail.com: 587
auth_username: '@gmail.com
Auth_Identity: '@gmail.com
Auth_Password: ''
NOTA: Assicurati di sostituire con il nome utente (la parte prima della sezione @ della tua e -mail) del tuo account Google e con la password dell'app che hai generato in precedenza.
Quindi, imposta il manager di avviso ricevitore A gmail (il ricevitore che hai appena creato) come contrassegnato nello screenshot seguente.
Una volta che hai finito, premere + X seguito da Y E per salvare il ArertManager.YML file di configurazione.
Alert Manager utilizzerà il gmail ricevitore da ora in poi.
ripetizione_interval è anche un'importante opzione di manager di avviso. Per impostazione predefinita, ripetizione_interval è impostato per 1h (1 ora). Se Alert Manager ti ha inviato un'e -mail sul tuo account Gmail, aspetterà un'ora prima di inviarne un'altra. Se non vuoi ricevere e -mail molto frequentemente, puoi aumentarle.
Ora, riavvia il ArertManager Servizio SystemD per le modifiche ad avere effetto come segue:
$ sudo systemctl riavvia avvertmanager.servizio
Dovresti ricevere un'e -mail a breve nel tuo account Gmail, come puoi vedere nello screenshot qui sotto.
Ti sei fermato node_exporter In precedenza, ricorda?
Risoluzione dei problemi Alert Manager Problemi di consegna e-mail:
È possibile monitorare i problemi di consegna e -mail di Alert Manager con il seguente comando:
$ sudo journalctl--follow --no-pager --boot-Unit AlertManager.servizio
IL ArertManager I registri di servizio SystemD devono essere visualizzati, come puoi vedere nello screenshot seguente.
Se Alert Manager non è in grado di consegnare le e -mail al tuo indirizzo e -mail, dovresti essere in grado di trovare perché non è riuscito qui.
Un esempio di consegna e -mail non riuscita è mostrato nello screenshot seguente. Se leggi il messaggio di registro, dovresti essere in grado di dire che la consegna non è riuscita perché la password non era corretta.
Conclusione:
In questo articolo, ti ho mostrato come installare Alert Manager su Ubuntu 20.04 LTS. Ti ho anche mostrato come configurare Alert Manager e Prometheus per inviare notifiche e -mail al tuo account Gmail quando un obiettivo Prometheus è inattivo.
Riferimenti: