Prometheus Kubernetes CPU峰值告警到Slack工作流 - n8n自动化监控解决方案
Kubernetes监控,Prometheus告警,Slack通知,n8n工作流,CPU峰值检测,DevOps自动化,实时告警

## 概述

这个n8n工作流通过监控Kubernetes Pod的CPU使用情况,当CPU消耗超过阈值(例如0.8核心)时,向Slack发送实时告警。它按应用程序名称对Pod进行分组,以减少噪音并提高清晰度,非常适合跨多Pod部署(如Argo CD、Loki、Promtail等)的可观测性。

## 目标用户

专为DevOps、SRE团队和平台团队设计,这个工作流是100%无代码、即插即用的,可以轻松扩展以支持内存、磁盘或网络峰值。它通过使用原生n8n节点将关键告警直接路由到Slack,消除了对Alertmanager的需求。

## 工作流功能

– ⏱️ 每5分钟轮询一次Prometheus
– 🚨 检查是否有任何Pod的CPU使用率超过定义的阈值(例如0.8核心)
– 🧩 按应用程序对Pod进行分组
– 💬 向Slack频道发送结构化告警

## 设置步骤

1. 🔗 设置您的Prometheus URL,包含必需的指标(container_cpu_usage_seconds_total, kube_pod_container_resource_limits)
2. 🔐 添加具有chat:write范围的Slack机器人令牌
3. 🧩 导入工作流并自定义:
– 阈值(例如0.8核心)
– Slack频道
– Cron计划

## 技术要求

– 带有kube-state-metrics的正常运行的Prometheus堆栈
– Slack机器人凭据
– n8n实例(自托管或云)

## 自定义选项

– 🧠 调整阈值或查询间隔
– 📈 添加内存/磁盘/网络使用指标

这是一个用于实时可观测性的即插即用Kubernetes告警模板。

## 工作流节点说明

1. **🕒 Every 5 Min Trigger** – 每5分钟触发一次,检查Prometheus的CPU峰值
2. **Query Prometheus for CPU Spikes** – HTTP GET请求查询Prometheus中高CPU使用率的Pod
3. **Format Prometheus JSON** – 将原始Prometheus JSON转换为包含应用程序名称、命名空间、Pod名称和CPU使用率的数组
4. **Check Number of Pods in Group** – 检查同一应用程序下是否有多个Pod超过阈值
5. **Format Batched Slack Message** – 为同一应用程序下的多个Pod格式化批量Slack消息
6. **Format Single Pod Slack Message** – 为单个Pod格式化Slack消息
7. **📤 Send Alerts to Slack** – 通过Webhook或Bot API将格式化后的告警消息发送到Slack

## 标签

Prometheus, Slack, Kubernetes, Alert, n8n, DevOps, Observability, CPU Spike, Monitoring

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。