首页 > 解决方案 > 如何基于 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

标签: kubernetesprometheusprometheus-alertmanager

解决方案


我认为 Alertmanager 可以使用webhook接收器(文档)为您提供帮助。

这样,当警报被触发时,Prometheus 将其发送给 Alertmanager,然后 Alertmanager 对自定义 webhook 进行 POST。

当然,您需要实现一个服务来处理警报并运行您的操作。


推荐阅读