Monitora containers

Link: https://gist.github.com/haukurk/a6e0751a8b8746265f8b2c55d9476230 

 

 

 

 

 

 

 

 #!/bin/bash 

 

 

 # Author: Haukur Kristinsson / Erik Kristensen 

 

 

 # Email: haukur@hauxi.is / erik@erikkristensen.com 

 

 

 # License: MIT 

 

 

 # Nagios Usage: check_nrpe!check_docker_container!_container_id_ 

 

 

 # Usage: ./check_docker_container.sh _container_id_ 

 

 

 # 

 

 

 # The script checks if a container is running. 

 

 

 # OK - running 

 

 

 # WARNING - container is ghosted 

 

 

 # CRITICAL - container is stopped 

 

 

 # UNKNOWN - does not exist 

 

 

 

 

 

 CONTAINER= $1 

 

 

 

 

 

 RUNNING= $( docker inspect --format= " {{ .State.Running }} " $CONTAINER 2> /dev/null ) 

 

 

 

 

 

 if [ $? -eq 1 ] ; then 

 

 

 echo " UNKNOWN - $CONTAINER does not exist. " 

 

 

 exit 3 

 

 

 fi 

 

 

 

 

 

 if [ " $RUNNING " == " false " ] ; then 

 

 

 echo " CRITICAL - $CONTAINER is not running. " 

 

 

 exit 2 

 

 

 fi 

 

 

 

 

 

 STARTED= $( docker inspect --format= " {{ .State.StartedAt }} " $CONTAINER ) 

 

 

 NAME= $( docker inspect --format= " {{ .Name }} " $CONTAINER ) 

 

 

 NETWORKMODE= $( docker inspect --format= " {{ .HostConfig.NetworkMode }} " $CONTAINER ) 

 

 

 NETWORK= $( docker inspect --format= " {{ .NetworkSettings.Networks. " $NETWORKMODE " .IPAddress }} " $CONTAINER ) 

 

 

 

 

 

 echo " OK - $CONTAINER is running. IP: $NETWORK , StartedAt: $STARTED , Named: $NAME " 

 

 

 

 

  