以机器可读格式读取 Docker 指标

以机器可读格式读取 Docker 指标

我正在为我的用户运行一些 Docker 容器。用户可以动态启动和停止他们的容器,所以我想监视我的可用数据空间docker info通过某种监控系统获取指标。

我尝试使用 Docker API 目录

echo -e 'GET /info HTTP/1.0\r\n' |  nc -U /var/run/docker.sock | grep '{'  | python -m json.tool

但结果以人类可读的单位返回 - 例如“16.93 MB”和“9 GB”,这不适合机器处理。

使用 Python Docker API 库时也会发生同样的情况。

import docker
client = docker.Client()
print(client.info()['DriverStatus'])

所以问题是:是否存在一个机器可读的版本docker info来解析“基础数据空间总量”指标?

答案1

可以使用docker info --format '{{json .}}'

例如:

user@host$ docker info --format '{{json .MemTotal}}'
3840544768

相关内容