--问题:告警是正常的,恢复告警的发送不正常。
举例:以下面的 cpu 规则为例,如果 cpu 超过所设的阈值 90,是能接到告警的。如下:
·Status: firing
·StartsAt: 2020-10-18T10:44:22.718516222Z
·Discription: 命名空间 xx 的 pod xx-xx-testpod 当前的 CPU 使用率已达到 99.89.
但接到告警恢复的通知时,数值往往大于 90%...(也有正常的恢复)
·Status: resolved
·StartsAt: 2020-10-18T10:44:22.718516222Z
·Discription: 命名空间 xx 的 pod xx-xx-testpod 当前的 CPU 使用率已达到 98.11.
按我的理解 恢复通知只有 cpu < 90 持续 resolve_timeout 的值 之后才能触发,现在是哪里配置有问题吗?
相关组件都是通过 kubernetes operator 部署在 k8s 集群中的。
PrometheusRule:
alert: PodCPUOvercommit
description: 命名空间 {{ $labels.namespace }} 的 pod {{ $labels.pod }} 当前的 CPU 使用率已达到 {{ printf "%.2f" $value }}.
expr: | 100 * (sum(rate(container_cpu_usage_seconds_total{namespace!~"monitoring",container!=""}[1m])) by (pod,namespace) / sum(kube_pod_container_resource_limits_cpu_cores{namespace!~"monitoring",container!=""}) by (pod,namespace)) > 90
for: 3m
alertmanager
global:
resolve_timeout: 1m
route:
group_by: ['alertname']
group_wait: 10s
group_interval: 1m
repeat_interval: 12h
receiver: 'webhook'
receivers:
name: 'webhook'
webhook_configs:
url: 'http://x.x.x.x:xx/'
send_resolved: true
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.