Compare commits

...

8 Commits

View File

@ -3,13 +3,17 @@
# author mikedmorto 2021 year
export LC_ALL=""
export LANG="en_US.UTF-8"
version="0.1"
version="0.7"
DOCKER="/usr/bin/docker"
TMP=""
PATCH="/tmp/zabbix.docker.tmp"
JSON=""
#### PARAMETRS ####
METRIC="$1"
ITEM="$2"
ERROR=0
case "$METRIC" in
discovery)
@ -37,13 +41,86 @@ 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} '`
RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {count=0} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else print ""} '`
if [ "$RET" == "1" ]
then RET=`${DOCKER} ps | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {count=0} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else if (count > 1) print ""; else if (count == 0) print 0} '`
fi
echo ${RET}
exit 0
;;
#get cpu usage
docker.cpu)
RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {count=0;} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else print ""} '`
TMP=`${DOCKER} stats --no-stream | tail -n +2`
if [ "$RET" == "1" ]
then RET=`echo $TMP | awk -v IT="${ITEM}" ' BEGIN {count=0} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else if (count == 0) print 0; else print ""}'`
if [ "$RET" == "1" ]
then RET=`echo $TMP | awk -v IT="${ITEM}" '{if ($1 == IT) print $3}'`
fi
fi
echo ${RET} | awk -v FS="%" '{print $1}'
exit 0
;;
#get ram usage
docker.ram)
RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {count=0;} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else print ""} '`
TMP=`${DOCKER} stats --no-stream | tail -n +2`
if [ "$RET" == "1" ]
then RET=`echo $TMP | awk -v IT="${ITEM}" ' BEGIN {count=0} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else if (count == 0) print 0; else print ""}'`
if [ "$RET" == "1" ]
then RET=`echo $TMP | awk -v IT="${ITEM}" '{if ($1 == IT) print int($4*1048576)}'`
fi
fi
echo ${RET}
exit 0
;;
#get container name
docker.name)
RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {count = 0} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else print ""} '`
if [ "$RET" == "1" ]
then RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" '{if ($1 == IT) print $12}'`
fi
echo ${RET}
exit 0
;;
#get container image
docker.image)
RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {count = 0} {if ($1 == IT) count += 1} END {if (count == 1) print 1; else print ""} '`
if [ "$RET" == "1" ]
then RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" '{if ($1 == IT) print $2}'`
fi
echo ${RET}
exit 0
;;
#get script version
script.version)
echo ${version}
@ -56,6 +133,10 @@ echo "please use these parametrs
{
discovery
docker.container_running
docker.cpu
docker.ram
docker.name
docker.image
script.version
}"
;;