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 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
目录
相关文章
|
2月前
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
107 22
|
5月前
|
Prometheus 监控 Cloud Native
无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?
Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可
1738 2
|
6月前
|
数据采集 Prometheus 监控
Prometheus的告警规则
Prometheus的告警规则
287 11
|
6月前
|
Prometheus Kubernetes 监控
告警规则设置方法
告警规则设置方法
144 3
|
6月前
|
数据采集 Prometheus 监控
告警规则
告警规则
87 3
|
6月前
|
Prometheus Kubernetes Cloud Native
Prometheus的告警配置
【10月更文挑战第31天】Prometheus的告警配置
213 1
|
7天前
|
运维 监控 网络协议
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
28 11
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
|
2月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
120 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
6月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
660 3
|
9月前
|
Prometheus 监控 Cloud Native
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置
【监控】prometheus传统环境监控告警常用配置