prometheus operator告警规则(一):你的cpu够用吗?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ack-prometheus-operator就像一把瑞士军刀,包含非常丰富的功能,安装后会自动部署prometheus、grafana、alertmanager等组件,并会下发很多的监控相关的规则,包括metric采集规则、告警规则和grafana dashboard。

ack-prometheus-operator就像一把瑞士军刀,包含非常丰富的功能,安装后会自动部署prometheus、grafana、alertmanager等组件,并会下发很多的监控相关的规则,包括metric采集规则、告警规则和grafana dashboard。但是很朋友看到这些指标和规则后,只能感受到他的强大,却不知道如何发挥它强大的功能,我们这一系列文章就是描述如何快速上手使用ack-prometheus-operator,让这把瑞士军刀发挥出强大的作用

背景知识

开始之前

  • 你需要有一个ACK集群,以及配置好可以管理这个集群的kubectl,集群上还要有ingress controller和helm tiller,如果你还没有集群
  • 安装ack-prometheus-operator,参考这里

CPUThrottlingHigh

很多Kubernetes的用户都会苦恼如何配置cpu的limit,并且不知如何确认自己当前的配置是否合理,这里就来演示如何利用ack-prometheus-operator自带的告警规则发现cpu limit的不合理配置

ack-prometheus-operator部署后默认带有个叫CPUThrottlingHigh的rule,expr如下:

100
  * sum by(container_name, pod_name, namespace) (increase(container_cpu_cfs_throttled_periods_total{container_name!=""}[5m]))
  / sum by(container_name, pod_name, namespace) (increase(container_cpu_cfs_periods_total[5m]))
  > 25

这个表达式的作用是查出最近5分钟,超过25%的CPU执行周期受到限制的container,这里用到了来自kubelet的两个重要指标:

  1. container_cpu_cfs_periods_total:container生命周期中度过的cpu周期总数
  2. container_cpu_cfs_throttled_periods_total:container生命周期中度过的受限的cpu周期总数

下面我们就用一个例子来验证这个告警规则的可靠性:

apiVersion: v1
kind: Pod
metadata:
  name: cpu-demo
spec:
  containers:
  - name: cpu-demo
    image: vish/stress
    resources:
      limits:
        cpu: "2"
      requests:
        cpu: "2"
    args:
    - -cpus
    - "3"

这个pod,我们给他的cpu limit配置成2,然后容器的进程配置申请3个cpu核心的用量,这个pod下发下去,不久就可以在Prometheus的alert页面看到CPUThrottlingHigh这个告警规则变成activeprometheus_alert_1

小结

Prometheus为kubernetes提供了丰富的可观测指标,有了这些指标,我们队集群的掌握就告别了盲人摸象的阶段,并且可以利用我们观测到的指标来持续的优化我们的应用配置

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
目录
相关文章
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
237 3
|
1月前
|
数据采集 Prometheus 监控
Prometheus的告警规则
Prometheus的告警规则
76 11
|
1月前
|
Prometheus Cloud Native
Prometheus的告警处理
【10月更文挑战第31天】Prometheus的告警处理
34 3
|
1月前
|
Prometheus Kubernetes Cloud Native
Prometheus的告警配置
【10月更文挑战第31天】Prometheus的告警配置
45 1
|
1月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
199 0
|
4月前
|
存储 Prometheus Cloud Native
[prometheus]配置alertmanager和钉钉告警
[prometheus]配置alertmanager和钉钉告警
216 0
|
7月前
|
Prometheus 监控 Cloud Native
使用 Prometheus 配置 SLO 监控和告警
使用 Prometheus 配置 SLO 监控和告警
|
4月前
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
|
24天前
|
存储 Prometheus 监控
监控堆外第三方监控工具Prometheus
监控堆外第三方监控工具Prometheus
42 3
|
27天前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
34 3