# Monitora containers Link: [https://gist.github.com/haukurk/a6e0751a8b8746265f8b2c55d9476230](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"