Monitoraggio del sistema con notifiche e-mail


10

Al momento ho un Ubuntu Server 16.04 LTS e voglio essere in grado di ricevere notifiche e-mail con informazioni sull'utilizzo delle risorse sul mio server. CPU, memoria, swap, lo chiami.

Capisco che posso usare Glances per il monitoraggio locale, ma non sarò sulla console a guardare le informazioni in ogni momento. Ho solo bisogno di notifiche e-mail che mi informino delle risorse che colpiscono sopra i valori normali / critici e ricevono una notifica.

Qualcuno sa di un metodo che mi permette di farlo?


netdata è perfetto per le tue esigenze.
luv.preet

Risposte:


13

Ti darò un piccolo elenco di strumenti, mentre consiglierei personalmente Nagios semplicemente come sono abituato. Viene fornito con una grande base di utenti, una buona raccolta di plug-in ecc., Ma ho sentito anche cose positive su Icinga .

Tieni presente che l'installazione di Nagios o Icinga richiederà del tempo prima di avere una configurazione perfettamente funzionante che copre / monitora tutti i tuoi servizi esistenti. L'inizio probabilmente non è così semplice, ma una volta che funziona, è una configurazione adorabile che avviserà per tutti i servizi definiti se gli stati cambiano, quindi qualcosa da segnalare / definito come critico

Nomi e collegamenti del progetto

Prima di tutto, una rapida panoramica:

Configurazioni client e server

Altri software interessanti

  • Fumatori (dal punto di vista funzionale limitato)

Configurazioni host singolo

Maggiori informazioni

A proposito di Nagios

Wikipedia scrive

Nagios / ˈnɑːɡiːoʊs /, ora noto come Nagios Core, è un'applicazione software gratuita e open source che monitora sistemi, reti e infrastrutture. Nagios offre servizi di monitoraggio e avviso per server, switch, applicazioni e servizi. Avvisa gli utenti quando le cose vanno male e li avvisa una seconda volta quando il problema è stato risolto.

Immagine di esempio - che mostra 1 delle diverse viste che hai:

inserisci qui la descrizione dell'immagine

Ecco un buon post di AskUbuntu su Come installare Nagios . Nagios Exchange offre una vasta collezione di plugin, componenti aggiuntivi, documentazione, estensioni e altro.

A proposito di Munin

Wikipedia scrive

Munin è un'applicazione software gratuita e open source per il monitoraggio di sistemi informatici, il monitoraggio della rete e il monitoraggio dell'infrastruttura. Offre servizi di monitoraggio e avviso per server, switch, applicazioni, servizi, ecc. Avvisa gli utenti quando le cose vanno male e li avvisa una seconda volta quando il problema è stato risolto

Immagine di esempio

inserisci qui la descrizione dell'immagine

Informazioni su Icinga

Wikipedia scrive

Icinga è un sistema informatico open source e un'applicazione di monitoraggio della rete. È stato originariamente creato come fork dell'applicazione di monitoraggio del sistema Nagios nel 2009.

Icinga sta cercando di superare le carenze percepite nel processo di sviluppo di Nagios, oltre ad aggiungere nuove funzionalità come una moderna interfaccia utente in stile Web 2.0, connettori di database aggiuntivi (per MySQL, Oracle e PostgreSQL) e un'API REST che consente agli amministratori di integrare numerose estensioni senza complicate modifiche al core Icinga.

Immagine di esempio che mostra 1 di diverse viste:

inserisci qui la descrizione dell'immagine

Informazioni su Spiceworks

Wikipedia scrive:

Spiceworks è una rete professionale per l'industria informatica (IT) con sede ad Austin, in Texas. La società è stata fondata nel gennaio 2006 da Scott Abel, Jay Hallberg, Greg Kattawar e Francis Sullivan per creare software di gestione IT.

Spiceworks è una comunità online in cui gli utenti possono collaborare e chiedere consigli gli uni agli altri e anche impegnarsi in un mercato per acquistare servizi e prodotti IT. Si stima che la rete sia utilizzata da oltre sei milioni di professionisti IT e 3000 produttori di tecnologie.

A proposito di monit

Wikipedia scrive

Monit è uno strumento di supervisione dei processi gratuito e open source per Unix e Linux. Con Monit, lo stato del sistema può essere visualizzato direttamente dalla riga di comando o tramite il server Web HTTP (S) nativo. Monit è cresciuto in popolarità con Ruby on Rails e il web server Mongrel, [citazione necessaria] perché era necessario uno strumento in grado di gestire i molti identici processi Mongrel che dovevano essere eseguiti per supportare un sito Ruby scalabile su Rails, e Monit era abbastanza in modo univoco adatto alle esigenze della community di Ruby on Rails. Molti siti popolari di Rails hanno usato Monit, inclusi Twitter e scribd.

A proposito di cactus

Wikipedia scrive:

Cacti è uno strumento di monitoraggio e rappresentazione grafica della rete open source basato sul Web progettato come un'applicazione front-end per lo strumento di registrazione dei dati open-source RRDtool. Cactus consente all'utente di eseguire il polling dei servizi a intervalli prestabiliti e di rappresentare graficamente i dati risultanti. Viene generalmente utilizzato per rappresentare graficamente i dati delle serie temporali di metriche quali il carico della CPU e l'utilizzo della larghezza di banda della rete. Un uso comune è monitorare il traffico di rete eseguendo il polling di uno switch di rete o di un'interfaccia del router tramite il protocollo SNMP (Simple Network Management Protocol).

Il front-end può gestire più utenti, ognuno con i propri set di grafici, quindi a volte viene utilizzato dai provider di web hosting (in particolare server dedicati, server privato virtuale e provider di collocazione) per visualizzare le statistiche sulla larghezza di banda per i propri clienti. Può essere utilizzato per configurare la raccolta dati stessa, consentendo il monitoraggio di alcune configurazioni senza alcuna configurazione manuale di RRDtool. I cactus possono essere estesi per monitorare qualsiasi fonte tramite script shell ed eseguibili.

Informazioni su Zabbix

Wikpedia scrive:

Zabbix è un software di monitoraggio open source aziendale per reti e applicazioni, creato da Alexei Vladishev. È progettato per monitorare e tenere traccia dello stato di vari servizi di rete, server e altro hardware di rete.

Zabbix utilizza MySQL, PostgreSQL, SQLite, Oracle o IBM DB2 per archiviare i dati. Il suo backend è scritto in C e il frontend web è scritto in PHP. Zabbix offre diverse opzioni di monitoraggio


3

Puoi usare diverse soluzioni. Uno di questi è monit.

Dalla riga di comando, basta eseguire il comando seguente:

sudo apt-get install monit

Ora Monit dovrebbe essere installato e accessibile tramite uno dei seguenti URL:

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Configurazione del Monit

Prima di poter iniziare a utilizzare Monitper il monitoraggio automatico del server, è necessario eseguire una configurazione di base. Prima fai il backup della Monitconfigurazione predefinita esistente usando il seguente comando:

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Quindi, crea un nuovo monitrcfile usando il comando

sudo /etc/monit/monitrc 

e copiarvi i seguenti contenuti.

# How often in seconds should monit check your services.
set daemon 120

set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state

# Configure your SMTP out server. 
set mailserver smtp-server.columbus.rr.com port 25,localhost

set eventqueue
    basedir /var/lib/monit/events # set the base directory where events will be stored
    # optionally limit the queue size
    slots 100 

# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert admin@domain.com but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert admin@domain.com 

set httpd port 2812 and
    #Change username and password
    allow Username:Password
    # To enable SSL for WebUI uncomment the next 2 lines
    #ssl enable
    #pemfile /path/to/unified/certificate.pem
    # To restrict access to localhost only uncomment the following line
    #allow localhost

include /etc/monit/conf.d/*

Le righe che iniziano con un # sono commenti per aiutarti a personalizzare la configurazione. Assicurati di aver configurato correttamente l'e-mail di amministrazione, il server SMTP e la porta SMTP. Dovresti anche considerare di cambiare il nome utente e la password di Monit WebUI. Se si dispone di un certificato SSL, è possibile abilitare anche quello per l'accesso HTTPS

Per ora usa i seguenti comandi per assicurarti che Monit funzioni bene.

Per verificare la Monitconfigurazione per errori di sintassi:

sudo monit -t

Per avviare Monit:

sudo monit

Per controllare lo stato di Monit:

sudo monit status

Monitoraggio del carico di sistema con Monit

È necessario disporre di un'istanza Monit funzionante con un /etc/monit/monitrcfile appropriato . Le configurazioni di monitoraggio per vari servizi vengono caricate dalla /etc/monit/conf.dcartella. Per monitorare il carico del server con Monit, creare un Monitfile di configurazione usando il comando seguente:

sudo /etc/monit/conf.d/systemload

Copia il seguente contenuto su di esso, salva ed esci

# domain.com could be IP, hostname, or localhost
check System domain.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if swap usage > 25% then alert
    if cpu usage (user) > 80% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Questo codice ti Monitinvierà un avviso e-mail quando viene soddisfatta una delle condizioni di cui sopra (ad esempio, il carico medio è >4per almeno 1 minuto o quando è più di 75% RAMpieno). Puoi personalizzare le regole sopra come preferisci. Di seguito è riportato un esempio di avviso e-mail inviato Monitinsieme a una descrizione della condizione che ha causato l'avviso.

Test e ricarica Monit

Una volta apportate le modifiche devi testare la Monitconfigurazione:

sudo monit -t

Dovresti vedere il seguente messaggio: Control File Syntax OK.

Quindi, controlla per vedere se Monitè già in esecuzione utilizzando il seguente comando:

sudo /etc/init.d/monit status

Se Monitè in esecuzione, ricaricare le Monitconfigurazioni utilizzando il seguente comando:

sudo /etc/init.d/monit reload

Ora, avvia il tuo browser web e visita uno dei seguenti URL in base alla configurazione di Monit (assicurati di utilizzare il numero di porta corretto):

http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)

Dovresti vedere lo stato del sistema, il carico, il carico della CPU, il carico di memoria e il carico di scambio

Monitoraggio dell'archiviazione con Monit

Successivamente, è necessario disporre di Monitun'istanza funzionante con un /etc/monit/monitrcfile appropriato . Monitle configurazioni per vari servizi vengono caricate dalla /etc/monit/conf.dcartella. Per il monitoraggio dello spazio su disco con il Monit, create afile di configurazione di Monit` usando il seguente comando:

sudo /etc/monit/conf.d/storagespace

Copia il seguente contenuto su di esso, salva ed esci

# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
    if space usage > 90% then alert
check filesystem Home with path /dev/sda3
    if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
    if space usage > 90% then alert

Il codice sopra riportato monitorerà lo spazio sul disco rigido in 3 partizioni in 2 unità. Se uno di essi è pieno per oltre il 90%, riceverai un avviso.

Inoltre è possibile monitorare un servizio specifico.

Monitorare Apache Server con Monit

L'impostazione del monitoraggio del server Apache con Monitè Monit’smediante modelli di configurazione predefiniti. Tutto quello che dovete fare è copiare il modello esistente da /etc/monit/monitrc.da /etc/monit/conf.dcartella.

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

Invece di copiare, puoi anche creare un collegamento simbolico. Crea processo Web server Apache apache2.pid. Il apache2.pidfile di monitoraggio del codice sopra riportato e, se non esiste, Monittenterà di riavviare Apache. Un riavvio attiverà un avviso e-mail. Se il riavvio fallisce più volte, Monit interrompe il monitoraggio del server Apache.

...


2

Puoi anche dare un'occhiata a SeaLion Puoi impostare avvisi personalizzati per l'utilizzo della CPU, la memoria, ecc. Inoltre, puoi anche aggiungere le tue metriche e configurare le notifiche anche per loro. Inoltre, è possibile pianificare l'esecuzione dei comandi a intervalli specifici e visualizzare i relativi output in una visualizzazione della sequenza temporale. Puoi trovare ulteriori informazioni qui .


1

Gli strumenti di cui sopra sono tutti ottimi per la generazione di e-mail. Preferisco ricevere e-mail per il mio monitoraggio quotidiano poiché non voglio sedermi e guardare una dashboard tutto il giorno. Il problema è che vieni inondato da e-mail e ti interessa solo quando qualcosa va storto. Inoltre, come fai a sapere se un'e-mail per qualche motivo non è mai stata recapitata e pensi che tutto funzioni correttamente.

Ho cercato a lungo e mi sono imbattuto in 2 prodotti in grado di leggere le e-mail dei rapporti e avvisarti quando è necessario agire.

  1. PRTG è possibile impostare i filtri di posta per cercare e-mail contenenti determinate parole. È stato un po 'complicato da fare.
  2. Uno strumento online chiamato wwww.smtpviewer.com svolge effettivamente il lavoro e ha un'impostazione di timeout che ti avviserà quando l'e-mail dai tuoi dispositivi monitorati non arriva per un tempo prestabilito.

Molti client di posta sono già in grado di filtrare, ordinare, etichettare, ... mail. Quindi non vedo davvero la necessità di una soluzione esterna per questo. Uso questo filtro di Thunderbird per fare questo da anni ormai, per esempio. Se il mailserver lo supporta, puoi anche usare gli script Sieve per filtrare, ordinare, etichettare, ... i messaggi direttamente sul server.
Henning Kockerbeck,

0

Nella mia scuola, il nostro insegnante ci ha fornito una formazione su Pandora FMS, una soluzione di monitoraggio che copre il monitoraggio dei server, le applicazioni e persino le reti!

Conoscevo solo Zabbix e Nagios all'epoca, non avevo mai sentito parlare di questa soluzione prima, ma ora sto basando il mio progetto su di esso a causa delle funzionalità extra che offre. La parte di monitoraggio del server è davvero matura e, secondo me, è la più semplice da configurare e ottenere le statistiche sulle prestazioni al più presto: http://pandorafms.com/monitoring-solutions/server-monitoring/


-1 pacchetto commerciale ...
Fabby,

0

Anche se non fa esattamente quello che vuoi fuori dalla scatola, trovo logwatchche sia uno strumento estremamente utile, ma semplice.

Ti fornisce un riepilogo giornaliero di tutti gli eventi che si sono verificati nella tua /var/logdirectory e alcune altre informazioni importanti sul sistema come lo spazio su disco corrente. Tutto ciò che manca può essere aggiunto semplicemente (ad esempio, ho aggiunto uno script che controlla che alcuni demoni siano ancora in esecuzione).


0

Da quello che capisco il tuo bisogno è molto semplice. Ti piacerebbe cercare nel contenuto e-mail di ricerca parole chiave specifiche e quindi ricevere una notifica quando ciò accade. Quindi solo quando ad esempio l'e-mail contiene la parola non riuscita si desidera ricevere una notifica e non quando contiene esito positivo. Uso anche www.smtpviewer.com come indicato da John Grobbelaar per essere avvisato. Il vantaggio di utilizzare uno strumento online è che puoi sempre essere avvisato quando l'email prevista non arriva. Da tutti gli strumenti di monitoraggio della posta che ho giocato con questo è il più semplice e fa solo questa cosa.


Questo non sembra rispondere alla domanda. Si prega di riformulare questo per rispondere alla domanda o eliminare questa risposta / spostarla in un commento. Grazie e benvenuti a chiedere a Ubuntu!
zwork,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.