能通过 cgroup 看容器的 cpu 和内存,但是负载好像只能看到宿主机的,没法看到某个容器的。
|  |      1momocraft      2021-12-20 15:27:07 +08:00 load 的意义是等待 CPU 的队列的长度 容器一般不独占 CPU, 以容器单位统计好像意义不大 | 
|  |      3ch2      2021-12-20 18:59:04 +08:00 自己计算,容器本质上是宿主机里的一组进程   你挨个 docker top 每个容器,把 pid 分组 然后在宿主机上 top ,把所有进程的负载都获取到 按上一步获取的分组来个求和,就得到了每个容器的负载 | 
|  |      4locoz      2021-12-20 19:40:10 +08:00 可以直接用现成的比如 kubesphere 来看 | 
|  |      5mikuazusa      2021-12-20 19:50:24 +08:00 kubectl top pod POD_NAME --sort-by=cpu | 
|  |      6y835L9DyC5XD09kq      2021-12-20 20:36:17 +08:00 grafana 有现成模板 | 
|  |      7zhoudaiyu OP PRO | 
|  |      9plko345      2021-12-21 00:53:47 +08:00 via Android prometheus 一整套解决方案 | 
|      10SIGEV13      2021-12-21 06:56:23 +08:00 用 prometheus operator, 直接装 Prometheus 和一系列的 recording rules, 里面就有 pod 和容器的资源消耗。 https://github.com/prometheus-operator/prometheus-operator | 
|  |      11UnknownR      2021-12-21 10:34:24 +08:00 引入 prometheus ,可以部署在 k8s 里,然后用 Lens 、KuPi 等 IDE 工具查看,直接在面板就能看到负载。也可以接入 Grafana ,做成完整的监控方案,都很容易 | 
|  |      12pydiff      2021-12-21 13:25:32 +08:00 via iPhone 还是有点好奇的,你上 k8 没做监控,日志分析这样工作的吗 | 
|  |      15zhoudaiyu OP PRO | 
|      17julyclyde      2021-12-21 17:53:15 +08:00 这是个比例啊 但你怎么定义分母呢 |