- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Prometheus(prometheus-operator Helm chart)进行内存监控。
在调查值时,我注意到内存使用量 ( container_memory_working_set_bytes
) 是从两个端点抓取的:
/metrics/cadvisor
/metrics/resource/v1alpha1
( /metrics/resource
来自 kubernetes 1.18) /metrics/cadvisor
返回三个值 - pod 的容器(如果 pod 有多个容器,则更多),一些特殊容器
POD
(运行 POD 服务是否需要使用一些内部内存?)和所有容器的总和(然后结果具有空标签
container=""
)。
/metrics/resource/v1alpha1
仅返回 pod 容器的内存使用情况(没有
container="POD"
并且没有这些
container=""
的总和)
/metrics/resource/v1alpha1
然后计划更换
/metrics/cadvisor
作为单一的指标来源?
prometheus-operator
中默认启用)返回相同的指标任何
sum()
查询可以返回与实际内存使用量一样大的值 2。
最佳答案
答案是片面的
I understand that /metrics/cadvisor returns three values - pod'scontainer (or more if a pod has multiple containers), some specialcontainer POD (is it some internal memory usage to run a POD service?)and a sum of all containers (then the result has empty labelcontainer="").
container_name=="POD"
是 Pod 的“暂停”容器。
pause container是一个容器,用于保存 pod 的网络命名空间。 Kubernetes 创建暂停容器以获取相应 Pod 的 IP 地址,并为加入该 Pod 的所有其他容器设置网络命名空间。这个容器是整个生态系统的一部分,它首先在 Pod 中启动,在调度另一个 Pod 之前首先配置 POD 网络。 Pod 启动后 - 暂停容器无事可做。
docker ps |grep pause
k8s_POD_etcd-master-1_kube-system_ea5105896423fc919bf9bfc0ab339888_0
k8s_POD_kube-scheduler-master-1_kube-system_155707e0c19147c8dc5e997f089c0ad1_0
k8s_POD_kube-apiserver-master-1_kube-system_fe660a7e8840003352195a8c40a01ef8_0
k8s_POD_kube-controller-manager-master-1_kube-system_807045fe48b23a157f7fe1ef20001ba0_0
k8s_POD_kube-proxy-76g9l_kube-system_e2348a94-eb96-4630-86b2-1912a9ce3a0f_0
k8s_POD_kube-flannel-ds-amd64-76749_kube-system_bf441436-bca3-4b49-b6fb-9e031ef7513d_0
container_name!=="POD"
它过滤掉暂停容器的指标流,而不是通常的元数据。大多数人,如果他们想在他们的 pod 中绘制容器的图形,不希望看到 pause 容器的资源使用情况,因为它没有做太多事情。暂停容器的名称是一些容器运行时的实现细节,但并不适用于所有,也不能保证一直存在。
The Kubelet acts as a bridge between the Kubernetes master andthe nodes. It manages the pods and containers running on a machine.Kubelet translates each pod into its constituent containers andfetches individual container usage statistics from the containerruntime, through the container runtime interface. For the legacydocker integration, it fetches this information from cAdvisor. It thenexposes the aggregated pod resource usage statistics through thekubelet resource metrics api. This api is served at/metrics/resource/v1alpha1 on the kubelet’s authenticated andread-only ports.
cAdvisor is an open source container resource usage andperformance analysis agent. It is purpose-built for containers andsupports Docker containers natively. In Kubernetes, cAdvisor isintegrated into the Kubelet binary. cAdvisor auto-discovers allcontainers in the machine and collects CPU, memory, filesystem, andnetwork usage statistics. cAdvisor also provides the overall machineusage by analyzing the ‘root’ container on the machine.
## Enable scraping /metrics/cadvisor from kubelet's service
##
cAdvisor: true
## Enable scraping /metrics/probes from kubelet's service
##
probes: true
## Enable scraping /metrics/resource from kubelet's service
##
resource: true
# From kubernetes 1.18, /metrics/resource/v1alpha1 renamed to /metrics/resource
resourcePath: "/metrics/resource/v1alpha1"
我的意见
/metrics/resource/
不会取代谷歌的 cadvisor。只需在您的情况下禁用您不需要的内容。这仅取决于您的需求。比如我发现了一篇文章
Kubernetes: monitoring with Prometheus – exporters, a Service Discovery, and its roles其中 4 个差异工具用于监控所有内容。
关于kubernetes - kubernetes 指标 "/metrics/resource/v1alpha1"和 "/metrics/cadvisor"端点之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63020184/
我尝试使用 Keras Tuner 进行超参数优化: import keras from kerastuner import HyperModel from kerastuner.tuners imp
它有一些不错的地方(比如它封装了圈复杂度的概念),我想知道是否有人在“现实生活”中使用过它。如果是这样,你有什么经验?它是衡量规模的有用指标吗(相对于 KLOC 或功能点)? 对于那些想知道我在抽什么
我有一个启用了 Actuator 和 Hystrix 的 spring-boot-app。 Spring-Boot-版本:1.3.1.RELEASE org.springframework.
我在尝试使用 metrics for graphite 时收到 carbon 错误: [listener] invalid line received from client HOST:PORT, i
尝试使用谷歌搜索,但找不到如何在 keras 中实现像 cohen kappa、roc、f1score 这样的 Sklearn 指标作为不平衡数据的指标。 如何在 Keras 中将 Sklearn M
Keras 2.x 取消了我需要使用的一堆有用指标,因此我将旧的metrics.py 文件中的函数复制到我的代码中,然后按如下方式包含它们。 def precision(y_true, y_pred)
在某些情况下, tf.metrics.auc 产生的值与 sklearn.metrics.roc_auc_score 非常不同。 我无法确定这种情况的特殊性是什么,但我能够获得一个可重现的例子: 代码
我正在使用 sklearn,我注意到 sklearn.metrics.plot_confusion_matrix 的参数和 sklearn.metrics.confusion_matrix不一致。 p
我正在使用 Prometheus(prometheus-operator Helm chart)进行内存监控。 在调查值时,我注意到内存使用量 ( container_memory_working_s
由于 codahale-metrics 已移至 io. 下。我们代码中的一个实现使用了类: import com.codahale.metrics.JmxReporter 与依赖版本 3.2.2 现在
为什么有两个不同的属性用于指标报告?是什么让它们与众不同? 如果它们不同,那么何时使用哪一个? 谢谢,阿比 最佳答案 Kafka 使用 2 个库作为其指标: "Yammer" metrics : 这些
我的目标是可视化 vertx 指标 - 例如通过 eventbus 发送的消息计数等。(请考虑以下工具都在我的本地主机上,没有任何东西驻留在单独的机器上) 因此,我使用了 vertx 的 Hawkul
我观察到一件奇怪的事情。 heap.used 随着每次后续的/metrics api 调用而增加。我是唯一使用此应用程序的客户。不知道为什么会发生。有人可以解释一下吗? “堆.已使用”:62495 “
在使用 kubeadm 安装 Kubernetes 后,我试图创建一个水平 pod 自动缩放。 主要症状是kubectl get hpa返回列 TARGETS 中的 CPU 指标作为“未定义”: $
我在 minikube 上启用了 heapster minikube addons start heapster 和自定义指标 minikube start --extra-config kubele
我尝试序列化我的 Map>对象使用 Gson但我收到 JSON 字符串响应。而且我在内部 Map 中有指标值和名称我的代码如下所示: @GetMapping(path = "/showRawKafka
我们正在尝试在台风kubernetes集群上启动metricbeat。但是由于以下原因,它在启动后无法获得一些特定于Pod的事件,例如重新启动等 对应的metricbeat.yaml代码段 # Sta
我是 k8s 的新手,普罗米修斯。我正在尝试使用 prometheus 收集每个 pod 的指标,但由于错误而无法这样做: API ERROR . { "kind": "Status", "a
我使用 xgboost 进行预测,我的主要代码如下: params={ 'booster':'gbtree', 'object':'binary:logistic', 'ear
来自OTel Metrics specification计数器是用于衡量已完成请求数的推荐工具。这稍后可用于计算吞吐率。 Example uses for Counter: count the num
我是一名优秀的程序员,十分优秀!