docker v0.6 - work with 'awk' fixed
This commit is contained in:
parent
fbd1838f4b
commit
dc1f36861d
@ -3,13 +3,17 @@
|
||||
# author mikedmorto 2021 year
|
||||
export LC_ALL=""
|
||||
export LANG="en_US.UTF-8"
|
||||
version="0.5"
|
||||
version="0.6"
|
||||
DOCKER="/usr/bin/docker"
|
||||
|
||||
|
||||
TMP=""
|
||||
PATCH="/tmp/zabbix.docker.tmp"
|
||||
JSON=""
|
||||
#### PARAMETRS ####
|
||||
METRIC="$1"
|
||||
ITEM="$2"
|
||||
ERROR=0
|
||||
|
||||
case "$METRIC" in
|
||||
discovery)
|
||||
@ -37,7 +41,11 @@ 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 && $7 == "Up") 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 ""} '`
|
||||
TMP=`${DOCKER} ps | 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 > 1) print ""; else if (count == 0) print 0} '`
|
||||
fi
|
||||
echo ${RET}
|
||||
|
||||
|
||||
@ -48,9 +56,18 @@ RET=`${DOCKER} ps -a | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {$count=0;} { if
|
||||
#get cpu usage
|
||||
docker.cpu)
|
||||
|
||||
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 $3; 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 ""} '`
|
||||
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
|
||||
;;
|
||||
|
||||
@ -58,7 +75,15 @@ RET=`${DOCKER} stats --no-stream | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {$co
|
||||
#get ram usage
|
||||
docker.ram)
|
||||
|
||||
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 int($4*1048576); 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 ""} '`
|
||||
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
|
||||
@ -69,7 +94,11 @@ RET=`${DOCKER} stats --no-stream | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {$co
|
||||
#get container name
|
||||
docker.name)
|
||||
|
||||
RET=`${DOCKER} ps | 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 $13; 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 -a | tail -n +2 | awk -v IT="${ITEM}" '{if ($1 == IT) print $12}'`
|
||||
fi
|
||||
echo ${RET}
|
||||
|
||||
exit 0
|
||||
@ -80,12 +109,15 @@ RET=`${DOCKER} ps | tail -n +2 | awk -v IT="${ITEM}" ' BEGIN {$count=0;} {if ($1
|
||||
#get container image
|
||||
docker.image)
|
||||
|
||||
RET=`${DOCKER} ps | 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 $2; 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 -a | tail -n +2 | awk -v IT="${ITEM}" '{if ($1 == IT) print $2}'`
|
||||
fi
|
||||
echo ${RET}
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
;;
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user