diff --git a/docker.sh b/docker.sh new file mode 100755 index 0000000..0256aba --- /dev/null +++ b/docker.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# ABOUT docker for zabbix +# author mikedmorto 2021 year +export LC_ALL="" +export LANG="en_US.UTF-8" +version="0.2" +DOCKER="/usr/bin/docker" + +JSON="" +#### PARAMETRS #### +METRIC="$1" +ITEM="$2" + +case "$METRIC" in +discovery) + +JSON="{ \"data\":[" +DCLIST="" + + +# get all docker containers list of id +DCLIST=`${DOCKER} ps -a | tail -n +2 | awk '{print $1}'` + + +# show all docker id +for DOCKERID in ${DCLIST}; do + JSON=${JSON}" {\"{#DOCKERID}\":\"${DOCKERID}\"}," +done + + +JSON=${JSON::-1} +JSON=${JSON}"]}" +echo ${JSON} +exit 0 +;; + +# get container status +docker.container_running) + +RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {$count=0;} { if ($1 == IT || $4 == "Up*") count += 1 } END {if (count > 1) print ""; else if (count == 1) print 1; else if (count == 0) print 0} '` + echo ${RET} + + + exit 0 +;; + +script.version) + + echo ${version} + + exit 0 +;; + +help) +echo "please use these parametrs +{ +discovery +docker.container_running +script.version +}" +;; +*) + echo "" +;; +esac