Guest User

Untitled

a guest
Jul 1st, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Author: Erik Kristensen
  4. # Email: erik@erikkristensen.com
  5. # License: MIT
  6. # Nagios Usage: check_nrpe!check_docker_container!_container_id_
  7. # Usage: ./check_docker_container.sh _container_id_
  8. #
  9. # The script checks if a container is running.
  10. # OK - running
  11. # WARNING - container is ghosted
  12. # CRITICAL - container is stopped
  13. # UNKNOWN - does not exist
  14.  
  15. CONTAINER=$1
  16.  
  17. RUNNING=$(docker inspect --format="{{ .State.Running }}" $CONTAINER 2> /dev/null)
  18.  
  19. if [ $? -eq 1 ]; then
  20. echo "UNKNOWN - $CONTAINER does not exist."
  21. exit 3
  22. fi
  23.  
  24. if [ "$RUNNING" == "false" ]; then
  25. echo "CRITICAL - $CONTAINER is not running."
  26. exit 2
  27. fi
  28.  
  29. GHOST=$(docker inspect --format="{{ .State.Ghost }}" $CONTAINER)
  30.  
  31. if [ "$GHOST" == "true" ]; then
  32. echo "WARNING - $CONTAINER has been ghosted."
  33. exit 1
  34. fi
  35.  
  36. STARTED=$(docker inspect --format="{{ .State.StartedAt }}" $CONTAINER)
  37. NETWORK=$(docker inspect --format="{{ .NetworkSettings.IPAddress }}" $CONTAINER)
  38.  
  39. echo "OK - $CONTAINER is running. IP: $NETWORK, StartedAt: $STARTED"
Add Comment
Please, Sign In to add comment