我正在嘗試設置從nagios監控docker容器。我的nagios在一個虛擬機上,而我的泊塢窗在另一個虛擬機上。因此,監測泊塢窗我試圖使用the shell script below:如何設置從Nagios監控Docker容器
#!/bin/bash
# Author: Erik Kristensen
# Email: [email protected]
# 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
GHOST=$(docker inspect --format="{{ .State.Ghost }}" $CONTAINER)
if [ "$GHOST" == "true" ]; then
echo "WARNING - $CONTAINER has been ghosted."
exit 1
fi
STARTED=$(docker inspect --format="{{ .State.StartedAt }}" $CONTAINER)
NETWORK=$(docker inspect --format="{{ .NetworkSettings.IPAddress }}" $CONTAINER)
echo "OK - $CONTAINER is running. IP: $NETWORK, StartedAt: $STARTED"
,並放置在位置的文件在/ usr/lib64下/ nagios的/插件/ 但是當我運行此腳本它往往拋出時發生錯誤,
錯誤:
check_docker: line 40: syntax error: unexpected end of file
作爲一個Java的傢伙我真的不知道這在很大程度上
所以可能有人請告訴我如何能實現監控泊塢窗的這個任務,因爲我已經浪費了我的時間
感謝您的幫助提前。