From f9f6cdff0fd3f41fefd6fee68628632aab5c0945 Mon Sep 17 00:00:00 2001 From: fedor Date: Fri, 1 Oct 2021 00:49:10 +0700 Subject: [PATCH] docker v2.0 - docker.container_running with docker ps - released --- docker.sh | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 docker.sh 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