Monitoring script per container Docker

Cerca

Se siamo alla ricerca di un modo per eseguire il monitoring dei container Docker possiamo affidarci a poche righe scritte in bash. L’esempio seguente non è dei più raffinati, ma è un’ottima base di partenza per successive evoluzioni.

Script bash per il monitoring di container Docker

Il seguente codice può essere copiato ed eseguito as it is. Ricordarsi solo di cambiare il nome del container alla riga 28.

				
					#!/bin/bash

echo "---------------------------------------------------------"
echo "---------------DOCKER CONTAINER MONITORING---------------"
echo "---------------------------------------------------------"

echo

RED='\033[0;31m'
GREEN='\033[0;32m'
NOCOLOR='\033[0m'

#BEGIN TEST DOCKER STATE
if docker info > /dev/null 2>&1; then
	echo -e "Docker service ---> [${GREEN}RUNNING${NOCOLOR}]"
else
  echo -e "Docker service ---> [${RED}STOPPED${NOCOLOR}]"
  echo
  echo "Tentativo di ripristino del servizio Docker"
  echo "Il sistema verrà riavviato in 15 secondi"
  sleep 15
  sudo reboot
  exit 1
fi
#END TEST DOCKER STATE

#BEGIN TEST CONTAINER RUNNING STATE
container_name="my-container-name"
sentinel=0
if [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "running" ];
then
	echo -e "$container_name ---> [${GREEN}RUNNING${NOCOLOR}]"
elif [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "restarting" ];
then
	echo -e "$container_name ---> [${RED}RESTARTING${NOCOLOR}]"
elif [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "dead" ];
then
	echo -e "$container_name ---> [${RED}DEAD${NOCOLOR}]"
elif [ "$( docker container inspect -f '{{.State.Status}}' $container_name )" == "exited" ];
then
	echo -e "$container_name ---> [${RED}EXITED${NOCOLOR}]"
else
	echo -e "$container_name ---> [${RED}SERIOUSLY DAMAGED${NOCOLOR}]"
fi
#END TEST CONTAINER RUNNING STATE
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come realizzare un client NTP in Python

In questo post vediamo come realizzare, utilizzando poche righe di codice, uno script Python che agisca da client NTP. Soluzione 1 In questa prima soluzione

Come avviare UEFI dopo reboot su Linux

L’accesso a UEFI al boot del computer richiede la pressione di un tasto che varia per ogni produttore di hardware. I tasti che più comunemente

Partners