#!/bin/bash # ABOUT docker for zabbix # author mikedmorto 2021 year export LC_ALL="" export LANG="en_US.UTF-8" version="0.1" 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} stats --no-stream | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {$count=0;} { if ($1 == IT) 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