繁体   English   中英

Prometheus alertmanager slack 通知换行问题

[英]Prometheus alertmanager slack notification newlines issue

我已经为我的 kubernetes pod 定义了一个警报,如下所述,以通过 slack 进行通知。 我使用官方文档中描述的示例来遍历所有收到的警报以循环多个警报并将它们呈现在我的松弛通道上。我确实收到了通知,但新行无法以某种方式正确呈现。 我是普罗米修斯的新手,非常感谢任何帮助。 谢谢。

detection:
  # Alert If:
  # 1. Pod is not in a running state.
  # 2. Container is killed because it's out of memory.
  # 3. Container is evicted.
  rules:
    groups:
      - name: not-running
        rules:
          - alert: PodNotRunning
            expr: kube_pod_status_phase{phase!="Running"} > 0
            for: 0m
            labels:
              severity: warning
            annotations:
              summary: "Pod {{ $labels.pod }} is not running."
              description: 'Kubernetes pod {{ $labels.pod }} is not running.'
          - alert: KubernetesContainerOOMKilledOrEvicted
            expr: kube_pod_container_status_last_terminated_reason{reason=~"OOMKilled|Evicted"} > 0
            for: 0m
            labels:
              severity: warning
            annotations:
              summary: "kubernetes container killed/evicted (instance {{ $labels.instance }})"
              description: "Container {{ $labels.container }} in pod {{ $labels.namespace }}/{{ $labels.pod }}
                            has been OOMKilled/Evicted."

  route:
    group_by: ['alertname']
    group_wait: 30s
    group_interval: 3m
    repeat_interval: 4h
    receiver: slack-channel
    routes:
    - match:
        alertname: PodNotRunning
    - match:
        alertname: KubernetesContainerOOMKilledOrEvicted

notifications:
  receivers:
    - name: slack-channel
      slack_configs:
        - channel: kube-alerts
          title: "{{ range .Alerts }}{{ .Annotations.summary }}\n{{ end }}"
          text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"

它如何在实际的松弛通道上呈现:

Title: inst-1 down.\ninst-2 down.\ninst-3 down.\ninst-4 down.
Text: inst-1 down.\ninst-2 down.\ninst-3 down.\ninst-4 down

我如何渲染:

Title: inst-1 down.
Text: inst-1 down.

Title: inst-2 down.
Text: inst-2 down.

Title: inst-3 down.
Text: inst-3 down.


Title: inst-4 down.
Text: inst-4 down.

使用{{ "\n" }}而不是普通的\n

例子:

...
      slack_configs:
        - channel: kube-alerts
          title: "{{ range .Alerts }}{{ .Annotations.summary }}{{ "\n" }}{{ end }}"
          text: "{{ range .Alerts }}{{ .Annotations.description }}{{ "\n" }}{{ end }}"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM