Come per l’Installazione di Slack Notifiche per carenza di Spazio su Disco Sul Server

0
208

Probabilmente vuole sapere quando il server è a corto di spazio su disco. Una soluzione semplice è quella di configurare un cron job per l’esecuzione giornaliera e inviare le notifiche su Slack se ci sono problemi.

Ottenere Spazio su Disco Con Il Comando df

Il comando per la visualizzazione di spazio su disco su Linux è il comando df-h (per l’output in un formato leggibile):

Questo elenca ogni filesystem montato, quanto è grande il disco fisico è, e quanto viene utilizzato.

Per limitare la produzione di uno specifico filesystem (in questo caso, la radice) è possibile eseguire df /. Tuttavia, questo restituisce la riga di intestazione, in modo che è possibile filtrare fuori che con grep:

Quindi, selezionare la quinta colonna (la percentuale) con awk, e rimuovere il simbolo di percentuale con sed. Questo ti dà un comando che restituisce un numero che rappresenta la quantità di disco principale è piena:

df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’

Che, in questo caso, sarebbe tornato “39“. Se si desidera modificare il disco di questo comando monitor, è necessario modificare il primo df istruzione.

Configurare Riga Di Comando Slack Notifiche

Il modo più semplice per ottenere un Allentamento delle notifiche di lavoro è con webhooks. Webhooks consentono di inviare le notifiche come inviare le richieste a un URL senza dover gestire utenti bot o OAuth. È possibile formattare i messaggi JSON e POST con curl.

Da Slack API portale, creare una nuova app, seleziona la tua area di lavoro, per aggiungere, e dargli un nome. Questo è ciò che vi mostra quando i messaggi, in modo da prendere qualcosa di interessante.

Una volta che avete la vostra app, trovare “in Arrivo Webhooks” della scheda “Aggiungi funzionalità.”

Questo vi permetterà di creare un nuovo webhook, e dovrete scegliere quale canale dovrebbe postare. È possibile creare un nuovo canale per bot notifiche, o aggiungere al proprio DMs.

Una volta che avete l’URL, copia della richiesta di esempio per verificare che funziona. Si dovrebbe vedere “Ciao Mondo!” nel canale selezionato. Se è così, il margine di flessibilità è buona per andare.

Mettere Tutto Insieme

Per rendere il vostro server effettivamente la notifica, è necessario creare uno script che è possibile eseguire con un job di cron quotidiano. Ecco la shell script, meno la notifica di comando:

#!/bin/bash
CORRENTE=$(df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’)
SOGLIA=90

if [ “$CORRENTE” -gt “$SOGLIA” ] ; then

fi

Questo script set di due variabili, la CORRENTE (per l’output del comando df dall’alto) e la SOGLIA (per un valore che si può configurare). E poi controlla se il valore corrente è superiore alla soglia, e viene eseguito un comando di se.

È possibile impostare la notifica per essere quello che vuoi, ma qui è un esempio—non è compreso il webhook URL, che dovrai incollare alla fine (senza alcun flag obbligatorio):

curl-X POST -H ‘Content-type: application/json’ –dati “{“testo”:”server `$(hostname)` è attualmente a ${CURRENT}% della capacità del disco.”}”

Questo invierà un ben formattato notifica del tuo webhook designato del canale, tra cui l’hostname del server e l’attuale capacità del disco.

È possibile incollare questo comando se l’istruzione di script di cui sopra, rende il tutto insieme come così:

#!/bin/bash
CORRENTE=$(df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’)
SOGLIA=90

if [ “$CORRENTE” -gt “$SOGLIA” ] ; then
curl-X POST -H ‘Content-type: application/json’ –dati “{“testo”:”server `$(hostname)` è attualmente a ${CURRENT}% della capacità del disco.”}”
fi

Salvare questo come diskspace.sh nella vostra home directory, e assicurarsi che si dispone di autorizzazioni di esecuzione con chmod +x diskpace.sh. Aperto fino crontab con il comando crontab-e e aggiungere la seguente riga alla fine:

0 * * * * ~/diskspace.sh

Questo permetterà di eseguire lo script ogni ora per controllare se il disco è pieno. Ma sarà solo ottenere le notifiche se è pieno, in modo da poter testare se funziona lo script tramite l’impostazione di SOGLIA al di sotto della corrente di utilizzo del disco e di eseguirlo manualmente.

Per ulteriori notifiche, è possibile rendere lo script di inviare i risultati di df -h, formattato bene in una casella codice, semplicemente aggiornando il curl dichiarazione:

curl-X POST -H ‘Content-type: application/json’ –dati “{“testo”:”server `$(hostname)` è attualmente a ${CURRENT}% della capacità del disco.n “`$(df -h)“` “}”

Di mostrare in gioco come:

Dal momento che il comando viene eseguito lo script può essere quello che vuoi essere, si potrebbe anche configurare le notifiche e-mail utilizzando un gestore di posta elettronica come Postfix, o qualsiasi altro feed che supporta webhooks.