57 lines
893 B
Bash
Executable File
57 lines
893 B
Bash
Executable File
#!/bin/bash
|
|
# ABOUT docker for zabbix
|
|
# author mikedmorto 2021 year
|
|
export LC_ALL=""
|
|
export LANG="en_US.UTF-8"
|
|
version="0.0"
|
|
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
|
|
;;
|
|
|
|
help)
|
|
echo "please use these parametrs
|
|
{
|
|
discovery
|
|
}"
|
|
;;
|
|
*)
|
|
echo ""
|
|
;;
|
|
esac
|