gpt4 book ai didi

kubernetes - AlertManager 没有将警报转发给 webhook 接收器

转载 作者:行者123 更新时间:2023-12-05 04:49:20 27 4
gpt4 key购买 nike

我们使用 PrometheusOperator 在 kubernetes 集群中设置了 Prometheus。我们正在尝试使用 AlertManagerConfig 自定义资源配置 AlertManager。我们尝试创建一个映射到 webhook 接收器的警报路由,然后触发测试警报。该警报似乎已被 AlertManager 捕获,但并未转发到 webhook 端点。 AlertManager pod 日志也不会打印任何有关发送给接收者的警报通知的日志。分享下面的测试配置:

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
name: discord-config
spec:
receivers:
- name: discord
webhookConfigs:
- url: '<webhook-url>'
sendResolved: true
route:
groupBy: ['job']
groupWait: 15s
groupInterval: 15s
repeatInterval: 15s
receiver: 'discord'
---
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: test-rules
spec:
groups:
- name: test-rule-group
rules:
- alert: TestAlert
expr: vector(1)
labels:
severity: medium
annotations:
description: "This is a reciever test for webhook alert"
summary: "This is a dummy summary"

要让接收者开始接收警报,还有什么需要注意的吗?

最佳答案

我能够找到问题的根本原因。实际上是根本原因。有两个问题:

  1. 我当时使用 webhook 与 Discord channel 集成,后来我了解到这并不简单。需要一个中间层来解析 Webhook 警报并将其转发到兼容模板中的 Discord。 Prometheus中已经提到了一个很好的解决方案documentation , 指向 alertmanager-discord应用。我使用 docker 镜像创建部署和服务,将 alertmanager 与 discord 桥接起来。

  2. 运算符(operator)在最上面的警报 route 添加了一个额外的 namepsace 标签匹配器。所以我将相同的标签添加到我创建的警报中。我用这个 R outing Tree editor可视化路线并确保给定的标签集与路线匹配。

apiVersion: apps/v1
kind: Deployment
metadata:
name: alertmanager-discord
spec:
selector:
matchLabels:
app: alertmanager-discord
replicas: 1
template:
metadata:
labels:
app: alertmanager-discord
spec:
containers:
- name: alertmanager-discord
image: benjojo/alertmanager-discord
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 9094
env:
- name: DISCORD_WEBHOOK
value: {{ .Values.webhookURL }}
---
apiVersion: v1
kind: Service
metadata:
name: alertmanager-discord
spec:
selector:
app: alertmanager-discord
ports:
- port: 9094
targetPort: 9094
type: ClusterIP
---
apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
name: alertmanager
spec:
receivers:
- name: discord
webhookConfigs:
- url: 'http://alertmanager-discord:9094'
sendResolved: true
.
.
.

关于kubernetes - AlertManager 没有将警报转发给 webhook 接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67636674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com