Monitoring script per container Docker

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.

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

Most Recent

Come ridurre la dimensione di un boltdb

Questo post parte da questa risposta ad una domanda posta sul repository ufficiale di boltdb. Nella domanda si chiede come ridurre la dimensione di un database

Come installare uno script Go su Ubuntu

Go è un linguaggio di programmazione nato in Google dalle mani di Robert Griesemer, Rob Pike e Ken Thompson. Sintatticamente è molto simile al C

Come trasferire chiamate tra interni su FreePBX

Molti telefoni hardware hanno già incorporato un pulsante che può essere utilizzato per il trasferimento delle chiamate tra interni, altri invece ne sono sprovvisti. Cosa