cadvisor 与 Prometheus 集成

cadvisor 与 Prometheus 集成,第1张

在上一篇文章 容器监控之 cadvisor 已经介绍了如何通过 cadvisor 来收集容器的运行状态信息,那这篇文章将具体讲解如何与 Prometheus 集成并通过 Prometheus 查看收集的数据。

主要内容:

Step1: 修改 Prometheus 配置信息,添加 cadvisor 访问地址:

Step2: 重新加载配置,访问 http://localhost:9090/targets 你将看到新加的 cadvisor 已经生效。

Step3: 此时访问 Prometheus 的 graph 页面 http://localhost:9090/graph ,搜索 container 你将看到容器相关数据。

CPU 使用率查询:

内存使用量:

网络入口流量

网络出口流量

磁盘使用量:

51reboot K8s课程11.9日,详情WeChat17812796384 去了解

cAdvisor最棒的一点在于它运行起来非常简单。因为它本身就是运行在容器里,所以你可以像运行其他任何容器一样把它运行起来,运行的结果是可预知并且始终一致的。它也可以和一些在容器外的storage driver打包使用。当你指定了storage driver参数的时候,它会自动把资源指标导出到对应的storage driver上。比如,下面的命令会在任意一个Docker主机上创建一个cAdvisor实例,然后把资源指标导出到一个StatsD服务器上:

docker run \

--volume=/:/rootfs:ro \

--volume=/var/run:/var/run:rw \

--volume=/sys:/sys:ro \

--volume=/var/lib/docker/:/var/lib/docker:ro \

--publish=8080:8080 \

--detach=true \

--name=cadvisor \

google/cadvisor:latest \

-storage_driver=statsd \

-storage_driver_host=your_statsd_host:8125 \

-storage_driver_db=docker001

在Wavefront中查看容器指标

最近,我们把之前用来做演示的服务以及相关功能整合到新的服务器上。当我们开始做这件事时,我们想要用Docker重新部署。通过把每个服务隔离在容器中,我们可以简化部署和扩展的流程。我们也能够用cAdvisor隔离每个容器的资源指标。当你在同一个主机上运行多个容器的时候,这就特别有用,和我们的情况一样。

通过上面的命令,cAdvisor就可以立即输出指标到StatsD服务器上。这些指标已下面的命令格式创建:

stats.gauges.<storage_driver_db>.<container name>.<metric name>

Kubernetes的kubelet组件内置了cadvisor,将Node上容器的指标以Prometheus支持的格式展示,可以通过这些指标计算得到更多有用的数据。

在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中查询到。

直接访问Kubelet的apiserver接口,可以读取以Prometheus支持的格式呈现的指标:

从 man top 手册中找到了CPU使用率的定义:

即在过去的一段时间里进程占用的CPU时间与CPU总时间的比率,如果有多个CPU或者多核,需要将每个CPU的时间相加。

kubelet中的cadvisor采集的指标与含义,见: Monitoring cAdvisor with Prometheus 。

其中有几项是:

container_cpu_usage_seconds_total是container累计使用的CPU时间,用它除以CPU的总时间,就得到了容器的CPU使用率。

Pod 在1s内累计使用的CPU时间为:

container_spec_cpu_quota 是容器的CPU配额,它的值是:为容器指定的CPU个数*100000。

故,Pod在1s内CPU的总时间为:Pod的CPU核数 * 1s:

将上面两个公式的结果相除,就得到了容器的CPU使用率:

Pod 内存使用率的计算就简单多了,直接用内存实际使用量除以内存限制使用量即可:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/23693.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-16
下一篇2023-02-16

发表评论

登录后才能评论

评论列表(0条)

    保存