当前位置: 首页 > 知识库问答 >
问题:

CPU使用率低于阈值且存在多个节点-普罗米修斯

林念
2023-03-14

我试图在prometheus中创建一个警报规则,以便当标签为agentpool=“worker”的所有节点在过去3分钟内的平均CPU使用率低于30%时,它会发出警报。

- alert: NodeCPUUtilizationLow
    expr: instance:node_cpu:rate:sum * 100 < 30
    labels:
        severity: none
    annotations:
        description: CPU utilization has been lower than 30% for last 3 minutes (current value is {{$value}})
{instance="10.240.0.187:9100"}  26.466666666668715
kube_node_labels{endpoint="kube-state-metrics",instance="10.240.0.187:8080",job="kube-prometheus-exporter-kube-state",label_agentpool="worker",label_beta_kubernetes_io_arch="amd64",label_beta_kubernetes_io_instance_type="Standard_B2s",label_beta_kubernetes_io_os="linux",label_failure_domain_beta_kubernetes_io_region="southcentralus",label_failure_domain_beta_kubernetes_io_zone="0",label_kubernetes_azure_com_cluster="dev-kube-cluster",label_kubernetes_io_hostname="k8s-worker-22588695-1",label_kubernetes_io_role="agent",namespace="monitoring",node="k8s-worker-22588695-1",pod="kube-prometheus-exporter-kube-state-854f846569-8lnk2",service="kube-prometheus-exporter-kube-state"}   1
kube_node_labels{endpoint="kube-state-metrics",instance="10.240.0.187:8080",job="kube-prometheus-exporter-kube-state",label_agentpool="worker",label_beta_kubernetes_io_arch="amd64",label_beta_kubernetes_io_instance_type="Standard_B2s",label_beta_kubernetes_io_os="linux",label_failure_domain_beta_kubernetes_io_region="southcentralus",label_failure_domain_beta_kubernetes_io_zone="1",label_kubernetes_azure_com_cluster="dev-kube-cluster",label_kubernetes_io_hostname="k8s-worker-22588695-0",label_kubernetes_io_role="agent",namespace="monitoring",node="k8s-worker-22588695-0",pod="kube-prometheus-exporter-kube-state-854f846569-8lnk2",service="kube-prometheus-exporter-kube-state"}   1

共有1个答案

左凯定
2023-03-14

实例:node_cpu:rate:sum可能是https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/

因此,您可以向Prometheus添加一个新的记录规则来求和工作节点的CPU,或者直接使用相应的查询。

 类似资料:
  • 我有一个带有prom客户端的node express应用程序,用于监视串行连接并向httpendpoint报告值,串行速度为9600波特,正在通过网络传输一些统计数据。Prometheus实例以1000毫秒的间隔配置作业,以针对该endpoint并获取度量。我希望能够在至少10毫秒的分辨率内看到这个指标,但似乎普罗米修斯图形分辨率不接受小于1秒的分辨率。我应该怎么做才能让普罗米修斯以至少10毫秒的

  • 摘要 由于导入的Grafana仪表板无法工作,我正在尝试找出如何在Prometheus查询中正确使用或运算符。

  • 我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s

  • 我已经读了3天了,甚至配置了一套容器来测试它们,但我有疑问。 我了解普罗米修斯节点导出器的架构基于: 节点导出器知道如何提取度量。这些在HTTP中公开,例如:9201/metrics Prometheus每隔X秒查询这些HTTPendpoint(节点导出HTTTP)并存储度量。它还为图形/控制台可视化/查询提供了另一个HTTP。 问题1: 假设您希望CPU指标每15秒一次,硬盘指标每5米一次,网络

  • null 使用默认配置和轻微的定制。 我可以访问prometheus、grafana和alertmanager,查询度量标准并查看精美的图表。 但是prometheus-adapter在启动时不断抱怨它不能访问/发现度量: 在我的设置中,对于prometheus-adapter的正确值是什么?

  • 我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希