gpt4 book ai didi

kubernetes - 如何在 kube-prometheus-stack helm chart 中覆盖 alertmanager 配置

转载 作者:行者123 更新时间:2023-12-05 03:25:42 29 4
gpt4 key购买 nike

我正在从 kube-prometheus-stack 部署监控堆栈helm chart,我正在尝试配置 alertmanager,以便它具有我的自定义配置,用于在 Slack channel 中发出警报。

pod中的配置从/etc/alertmanager/config/alertmanager.yaml加载。从 pod 描述中,这个文件是从一个自动生成的 secret 中加载的:

...
volumeMounts:
- mountPath: /etc/alertmanager/config
name: config-volume
...
volumes:
- name: config-volume
secret:
defaultMode: 420
secretName: alertmanager-prometheus-community-kube-alertmanager-generated

如果我检查 secret ,它包含在 alertmanager.config 的默认值中找到的默认配置,我打算覆盖它。

如果我将以下配置传递给 alertmanager 以全新安装图表,它不会创建 alertmanager pod:

alertmanager:
config:
global:
resolve_timeout: 5m
route:
group_by: ['job', 'alertname', 'priority']
group_wait: 10s
group_interval: 1m
routes:
- match:
alertname: Watchdog
receiver: 'null'
- receiver: 'slack-notifications'
continue: true
receivers:
- name: 'slack-notifications'
slack-configs:
- slack_api_url: <url here>
title: '{{ .Status }} ({{ .Alerts.Firing | len }}): {{ .GroupLabels.SortedPairs.Values | join " " }}'
text: '<!channel> {{ .CommonAnnotations.summary }}'
channel: '#mychannel'

首先,如果我没有在 values.yaml 中传递任何配置,则成功创建了 alertmanager pod。

我怎样才能正确地覆盖 alertmanager 的配置,以便它使用我的自定义配置将正确的文件安装到 /etc/alertmanger/config/alertmanager.yaml 中?

最佳答案

alertmanager 需要某些非默认参数来覆盖默认参数,因为它似乎无声无息地失败了。错误的配置会导致 pod 不应用配置 ( https://github.com/prometheus-community/helm-charts/issues/1998 )。对我有用的是仔细配置警报管理器并添加看门狗子路由和空接收器

route:
group_by: [ '...' ]
group_wait: 30s
group_interval: 10s
repeat_interval: 10s
receiver: 'user1'
routes:
- match:
alertname: Watchdog
receiver: 'null'
receivers:
- name: 'null'
- ...

关于kubernetes - 如何在 kube-prometheus-stack helm chart 中覆盖 alertmanager 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71924744/

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