1

我有几个安装和配置 WMI 的 Win 服务器(如 Build、DB、App 等),并且能够在我的 Prometheus 仪表板上读取指标(基于磁盘空间 > 90 等规则)。

在同一个盒子上设置一个 Altermanager,我将 Metrics (Diskspace >90) 详细信息写入我的 Slack Channel。

route:
 group_by: [cluster]
 # If an alert isn't caught by a route, send it slack.
 receiver: slack
 routes:
  # Send severity=slack alerts to slack.
  - match:
      severity: critical
    receiver: slack
receivers:
- name: slack
  slack_configs:
  - api_url: 'https://hooks.slack.com/services/Token'
    channel: '#alerts'

Slack 通知的输出是 - 实际

在此处输入图像描述 有没有一种方法可以让我准备好机器名称 - 以及将其与标签名称区分开来 - 如 Build、Db 等?

我希望通知更具可读性,如下所示,(我从一些博客中得到)你能建议吗?

预期的 在此处输入图像描述

任何投入都受到高度赞赏。

谢谢,

4

2 回答 2

1

你可以从这个很好的例子开始。在下面添加slack_configs

        text: >-
          {{ range .Alerts }}
             *Alert:* {{ .Annotations.summary }} - `{{ .Labels.severity }}`
            *Description:* {{ .Annotations.description }}
            *Graph:* <{{ .GeneratorURL }}|:chart_with_upwards_trend:> *Runbook:* <{{ .Annotations.runbook }}|:spiral_note_pad:>
            *Details:*
            {{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}`
            {{ end }}
          {{ end }}
于 2019-01-30T13:08:15.983 回答
1

在接收器部分添加一个“文本”字段。这将允许您从prometheus-rules.yaml文件中提取信息。

receivers:
- name: slack
  slack_configs:
  - api_url: 'https://hooks.slack.com/services/Token'
    channel: '#alerts'
    text: "<!channel> \n summary: {{ .CommonAnnotations.summary }}\n description: {{ .CommonAnnotations.description }}"
于 2018-10-30T16:36:30.573 回答