AlertManager 电子邮件通知的自定义主题

问题描述 投票:0回答:3

当从我的 AlertManager 接收警报时,我正在努力创建自定义主题,我正在使用清单文件来完成此操作:

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: my-name
  labels:
    alertmanagerConfig: email
    alertconfig: email-config
spec:
  route:
    groupBy:
      - node
    groupWait: 30s
    groupInterval: 5m
    repeatInterval: 12h
    receiver: 'myReceiver'
  receivers:
  - name: 'Name'
    emailConfigs:
      - to: [email protected]

我已经读到我需要在 emailConfigs 选项卡下添加标题,但是当我这样做时:

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: my-name
  labels:
    alertmanagerConfig: email
    alertconfig: email-config
spec:
  route:
    groupBy:
      - node
    groupWait: 30s
    groupInterval: 5m
    repeatInterval: 12h
    receiver: 'myReceiver'
  receivers:
  - name: 'Name'
    emailConfigs:
      - to: [email protected]
        headers:
          - subject: "MyTestSubject"

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: my-name
  labels:
    alertmanagerConfig: email
    alertconfig: email-config
spec:
  route:
    groupBy:
      - node
    groupWait: 30s
    groupInterval: 5m
    repeatInterval: 12h
    receiver: 'myReceiver'
  receivers:
  - name: 'Name'
    emailConfigs:
      - to: [email protected]
        headers:
          subject: "MyTestSubject"

我收到以下错误:

要么:

com.coreos.monitoring.v1alpha1.AlertmanagerConfig.spec.receivers.emailConfigs.headers,ValidationError(AlertmanagerConfig.spec.receivers[0].emailConfigs[0].headers[0]):com 中缺少必填字段“key”。 coreos.monitoring.v1alpha1.AlertmanagerConfig.spec.receivers.emailConfigs.headers,ValidationError(AlertmanagerConfig.spec.receivers[0].emailConfigs[0].headers[0]):com.coreos.monitoring 中缺少必填字段“值” .v1alpha1.AlertmanagerConfig.spec.receivers.emailConfigs.headers];

错误:验证“alert-config.yaml”时出错:验证数据时出错:ValidationError(AlertmanagerConfig.spec.receivers[0].emailConfigs[0].headers):com.coreos.monitoring.v1alpha1.AlertmanagerConfig.spec 的类型无效.receivers.emailConfigs.headers:得到“地图”,期望“数组”

我检查了其他解决方案,每个人都这样做 标题: 主题:我的主题
但由于某种原因对我来说,它不起作用

kubernetes prometheus prometheus-alertmanager
3个回答
3
投票

我设法让它工作:

    emailConfigs:
      - to: myreceiver@mail
        headers:
          - key: subject
            value: "Custom subject goes here"

干杯:)


2
投票

嗨@Blackcat,来自这个示例我发现您可能需要使用 Catipal 'S' 作为标题下的主题,看起来我们需要使用首字母大写作为标题下的键,如下所述。

apiVersion: monitoring.coreos.com/v1alpha1
kind: AlertmanagerConfig
metadata:
  name: my-name
  labels:
    alertmanagerConfig: email
    alertconfig: email-config
spec:
  route:
    groupBy:
      - node
    groupWait: 30s
    groupInterval: 5m
    repeatInterval: 12h
    receiver: 'myReceiver'
  receivers:
  - name: 'Name'
    emailConfigs:
      - to: [email protected]
        headers:
          Subject: "MyTestSubject"
          From: Me
          To: You

欲了解更多详细信息,请查看此链接


0
投票

要自定义主题,您必须将要调用的标签带到

route
字段下的
groupBy
树中。

我向您展示示例:

global:
  resolve_timeout: 1m
receivers:
  - name: prometheus-msteams
  webhook_configs:
  - url: "http://prometheus-msteams:2000/alertmanager"
    send_resolved: true
  - name: 'email'
    email_configs:
    - to: '[email protected]'
      from: '[email protected]'
      smarthost: smtp-relay-server:25
      auth_username: ''
      auth_identity: '[email protected]'
      auth_password: ''
      require_tls: false
      send_resolved: true
      headers:
        From: [email protected]
        Subject: '{{ if eq .Status "firing" }}[{{ .GroupLabels.environment }}] Alert - {{ .GroupLabels.servidor }} - {{ .GroupLabels.alertname }} {{ else if eq .Status "resolved" }}[{{ .GroupLabels.environment }}] Recovery - {{ .GroupLabels.servidor }} - {{ .GroupLabels.alertname }}{{end}}'
        To: [email protected]

route:
  group_interval: 1m
  group_wait: 30s
  repeat_interval: 168h
  group_by: [job, alertname, servidor, environment]
  receiver: "prometheus-msteams"
  routes:
  - receiver: "prometheus-msteams"
    continue: true
  - receiver: "email"
    continue: true

如您所见,您可以在

Subject
中插入条件语句来自定义警报是否处于 firing 状态或 resolved

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.