Настройка уведомлений Prometheus AlertManager в Slack - PullRequest
0 голосов
/ 21 октября 2018

У меня есть несколько серверов Win (например, Build, DB, App и т. Д.), На которых установлен и настроен WMI, и которые могут читать метрики (на основе правил, таких как дисковое пространство> 90), на моей панели Prometheus.

Установите Altermanager в том же окне, и я записываю данные метрик (дисковое пространство> 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-уведомлений - Фактический

enter image description here Есть ли способ, где я могу подготовить Имя машины -наряду с дифференцированием его по имени тега - например, Build, Db и т. д.

Я хочу, чтобы уведомление было более читабельным, как показано ниже (я получил его из какого-то блога), не могли бы вы предложить, пожалуйста?

Ожидаемый enter image description here

Любые входы высоко ценятся.

Спасибо,

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы можете начать с этого хорошего примера.Добавьте это под 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 }}
0 голосов
/ 30 октября 2018

Добавьте текстовое поле в раздел получателей.Это позволит вам получить информацию из файла 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 }}"
...