【发布时间】:2020-09-30 13:53:49
【问题描述】:
我是 docker 新手,我希望监控 docker 容器中服务的一些 QoS 指标。 docker 是否提供了一些 API,我可以使用容器内的部署代码来计算对每个容器的 HTTP 请求?
【问题讨论】:
标签: docker http containers qos
我是 docker 新手,我希望监控 docker 容器中服务的一些 QoS 指标。 docker 是否提供了一些 API,我可以使用容器内的部署代码来计算对每个容器的 HTTP 请求?
【问题讨论】:
标签: docker http containers qos
我相信 Docker 唯一的指标 API 是 /containers/{id}/stats 端点,看起来它只发布接口级别的统计信息(通常是进出容器的字节总数)。该接口不提供端口级或 HTTP 级指标。
您可以检查您正在使用的 HTTP 框架是否内置了指标检测。如果是这样,您可以使用 Prometheus 和 Grafana 等开源工具来收集和显示这些指标。
在技术层面上,解码 HTTP 流比仅仅转发数据包更棘手,并且您需要更多涉及的代理设置。如果您使用 Kubernetes,像 Istio 这样的服务网格通常会通过运行处理所有流量的代理 (Envoy) 为您提供这些统计信息;但特别是对于小型应用程序,检测您自己的代码比安装 Kubernetes 和 Istio 并尝试在那里部署要容易得多。
【讨论】: