使用docker stats监控目标docker容器资源消耗情况:
#!/bin/bash
#本脚本用于监控docker容器内的服务器资源使用情况,传参数为2个,第一个为待监控目标容器名,第二个为目标容器分配的CPU内核数;#在docker容器所在服务器上,使用docker ps|grep 容器名,获取容器id,将容器id作为该脚本第一个参数;
#脚本执行示例:sh docker_mon.sh 76e4a3e32428 16
cpu_num=$2
docker stats $1|awk 'BEGIN{print "container,cpu%,mem%,mem-usage,mem-limit,netInput,netOutput,date";cpu_num='"${cpu_num}"'}{if($2 ~ /^[0-9]/){sleep 5;printf("%s,%f%,%s,%s,%s,%s,%s,",$1,$2/cpu_num,$6,$3,$5,$7,$9);system("date +\"%F/%T\"")}}'