kubernetes - 如何基于 Prometheus alert 运行 pod
问题描述
有什么方法可以根据 Prometheus 发出的警报运行 pod?我们有一个场景,我们需要根据磁盘压力阈值执行一个 pod。我能够创建警报,但我需要执行一个 pod。我怎样才能做到这一点?
groups:
- name: node_memory_MemAvailable_percent
rules:
- alert: node_memory_MemAvailable_percent_alert
annotations:
description: Memory on node {{ $labels.instance }} currently at {{ $value }}%
is under pressure
summary: Memory usage is under pressure, system may become unstable.
expr: |
100 - ((node_memory_MemAvailable_bytes{job="node-exporter"} * 100) / node_memory_MemTotal_bytes{job="node-exporter"}) > 80
for: 2m
labels:
severity: warning
解决方案
我认为 Alertmanager 可以使用webhook
接收器(文档)为您提供帮助。
这样,当警报被触发时,Prometheus 将其发送给 Alertmanager,然后 Alertmanager 对自定义 webhook 进行 POST。
当然,您需要实现一个服务来处理警报并运行您的操作。
推荐阅读
- node.js - 无法在 NodeJS 上使用帖子
- gdi+ - 使用 Gdiplus 显示具有透明背景颜色的 PNG 图像
- extjs - 没有在 extjs 网格上应用任何加载掩码,它仍然显示。它会自动调用吗?
- android - 在 ConstraintLayout 中另一个 ImageView 之上的 ImageView
- android - 实现相机意图和缓存有多难?
- functional-programming - 有没有办法将这个异步函数重构为自由点?
- java - 什么导致 javax.xml.transform.* 中的致命错误、错误和警告
- c++ - OpenCV 多线程泄漏内存
- javascript - 使用 Promise.all 在 for 循环后执行函数
- javascript - json 使用 ajax 在另一个新页面上获取数据,但即使使用 e.preventDefault() 也会重新加载页面;功能