#linux #yaml #prometheus #prometheus-alertmanager
#linux #yaml #prometheus #prometheus-alertmanager
Вопрос:
Мы настроили Prometheus в нашей среде с помощью Node_exporter. Мы используем AlertManager для отправки сообщений электронной почты нашей команде. Мы можем получить электронное письмо.
Мы также пытаемся настроить SMS в AlertManager так, чтобы мы получали оповещение на наш мобильный телефон, если какие-либо службы не работают и устраняются.
Может кто-нибудь подсказать, как выполнить настройку в Alertmanager для SMS API? У нас есть наш внутренний SMS API, и нам нужно интегрироваться с AlertManager, чтобы получать оповещения на наш номер мобильного телефона.
Файл конфигурации AlertManager
global:
resolve_timeout: 1m
slack_api_url: 'https://hooks.slack.com/services/T01xxxxxxGD/B018ZXXXXXXXXF/Pwxe0xxxxxxxxxxxhiq'
pagerduty_url: 'https://events.pagerduty.com/v2/enqueue'
route:
receiver: 'smtp-local'
routes:
- match:
severity: critical,warning
receiver: 'slack-notifications'
continue: true
- match:
severity: critical,warning
receiver: 'web.hook'
continue: true
- match:
severity: critical,warning
receiver: 'pagerduty-notifications'
continue: true
- match:
severity: critical,warning
receiver: 'smtp-local'
continue: true
receivers:
- name: 'smtp-local'
email_configs:
- to: 'xxx@xxx.com'
from: 'xxx@xxx.com'
smarthost: localhost:25
require_tls: false
send_resolved: true
- name: 'slack-notifications'
slack_configs:
- channel: '#monitoring'
send_resolved: true
icon_url: https://avatars3.githubusercontent.com/u/3380462
title: |-
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }} for {{ .CommonLabels.job }}
{{- if gt (len .CommonLabels) (len .GroupLabels) -}}
{{" "}}(
{{- with .CommonLabels.Remove .GroupLabels.Names }}
{{- range $index, $label := .SortedPairs -}}
{{ if $index }}, {{ end }}
{{- $label.Name }}="{{ $label.Value -}}"
{{- end }}
{{- end -}}
)
{{- end }}
text: >-
{{ range .Alerts -}}
*Alert:* {{ .Annotations.title }}{{ if .Labels.severity }} - `{{ .Labels.severity }}`{{ end }}
*Description:* {{ .Annotations.description }}
*Details:*
{{ range .Labels.SortedPairs }} • *{{ .Name }}:* `{{ .Value }}`
{{ end }}
{{ end }}
- name: 'web.hook'
webhook_configs:
- url: 'http://xxxxxxx:xxxx/xxxx?msisdn=xxxxamp;text=xxxxx.'
- name: 'pagerduty-notifications'
pagerduty_configs:
- service_key: 3a560cxxxxxxxxxxxxxxxx7c198
send_resolved: true
Ответ №1:
IIUC вы можете настроить приемник Webhook на отправку JSON, представляющего оповещение, на конечную точку, которая либо напрямую, либо, что более вероятно, через прокси, к вашему SMS API. Посмотрите примеры по ссылке, чтобы увидеть, как это было достигнуто для других сервисов.
У вас есть конфигурация PagerDuty. Не могли бы вы (также) попросить PagerDuty отправлять вам SMS-уведомления?
Комментарии:
1. спасибо, это было просто, и у меня это сработало:
webhook_configs: - url: 'http://10.xx.xx.xx:8082/kundirun'