Skip to content
Snippets Groups Projects
Commit 89c98c1a authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

Merge branch 'docker-checks' into 'master'

detect reason for no output

See merge request !240
parents a8ffcf62 13ac2a0f
Branches
No related tags found
1 merge request!240detect reason for no output
......@@ -14,7 +14,7 @@
# https://docs.docker.com/engine/reference/commandline/docker/
# ----------------------------------------------------------------------
# 2024-01-26 v1.0 <axel.hahn@unibe.ch> init
# 2024-01-29 v1.1 <axel.hahn@unibe.ch> fix help
# 2024-01-29 v1.1 <axel.hahn@unibe.ch> fix help; detect reason for no output
# ======================================================================
......@@ -104,11 +104,11 @@ esac; done
sLabel="Docker stats"
case "$sMode" in
"cpu") sLabel="Docker CPU usage total of all containers: %s percent"; sUnit="1"; sumkey="CPUPerc"; sColumns=".Container, .${sumkey}, .Name" ;;
"mem") sLabel="Docker Memory max usage in most consuming container: %s percent"; sUnit="1"; maxkey="MemPerc"; sColumns=".Container, .${maxkey}, .MemUsage, .Name" ;;
"netio") sLabel="Docker Network I/O of all containers: %s MB IN .. %s MB OUT"; sUnit="M"; sumkey="NetIO"; f2=1; sColumns=".Container, .${sumkey}, .Name" ;;
"memtotal") sLabel="Docker Memory usage of all containers: %s MB"; sUnit="M"; sumkey="MemUsage";f2=0; sColumns=".Container, .${sumkey}, .Name" ;;
"blockio") sLabel="Docker Network I/O of all containers: %s MB IN .. %s MB OUT"; sUnit="M"; sumkey="BlockIO"; f2=1; sColumns=".Container, .${sumkey}, .Name" ;;
"cpu") sLabel="Docker CPU usage total of all containers: %s percent"; sUnit="1"; sumkey="CPUPerc"; sColumns=".Container, .${sumkey}, .Name" ;;
"mem") sLabel="Docker Memory max usage in most consuming container: %s percent"; sUnit="1"; maxkey="MemPerc"; sColumns=".Container, .${maxkey}, .MemUsage, .Name" ;;
"netio") sLabel="Docker Network I/O of all containers: %s MB IN .. %s MB OUT"; sUnit="M"; sumkey="NetIO"; f2=1; sColumns=".Container, .${sumkey}, .Name" ;;
"memtotal") sLabel="Docker Memory usage of all containers: %s MB"; sUnit="M"; sumkey="MemUsage"; f2=0; sColumns=".Container, .${sumkey}, .Name" ;;
"blockio") sLabel="Docker Block I/O of all containers: %s MB IN .. %s MB OUT"; sUnit="M"; sumkey="BlockIO"; f2=1; sColumns=".Container, .${sumkey}, .Name" ;;
"all") ;;
*) ph.setStatus critical
echo "ERROR: mode [$sMode] is unknown. Use -h to get help."
......@@ -127,7 +127,22 @@ _detectDockerenv
# --- get stats data
data=$( sudo -n --preserve-env docker stats --no-stream --format '{{ json . }}' )
_detectDockererror "$data"
if [ -z "$data" ]; then
# zero output could mean:
# - connect to docker failed
# - no data because no container is running
# --> let's detect it...
infos=$( sudo -n --preserve-env docker system info --format '{{ json . }}' )
_detectDockererror "$infos"
typeset -i iCRunning;
iCRunning=$(_getString "$data" ".ContainersRunning" )
if [ "$iCRunning" -eq "0" ]; then
ph.status "$sLabel >> Do data. No container is running"
ph.exit
fi
fi
# --- checks to detect maximum
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment