Prometheus: Konfigurowanie Alert Manager

Ta dokumentacja jest częścią przewodnika Alerty. Pełny przewodnik znajdziesz tutaj: Jak działają alerty Prometheus i jak je skonfigurować.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje w pełni zarządzaną platformę Prometheus cloud, zaprojektowaną z myślą o niezawodności i prostocie:

  • Alert Manager jest wbudowany, dzięki czemu można przekierowywać alerty bezpośrednio do Slack, Mattermost, PagerDuty oraz innych popularnych narzędzi.
  • Dedykowany serwer e-mail umożliwia wysyłanie nieograniczonej liczby powiadomień e-mail bez dodatkowej konfiguracji.
  • Blackbox jest dostępny, co pozwala na sondowanie protokołów takich jak HTTP, ICMP, TCP i innych, zapewniając kompleksowy monitoring.
  • Szybka konfiguracja instancji dzięki edytorowi plików konfiguracyjnych online – nie trzeba ręcznie zarządzać plikami YAML.
  • Aktualizacje można zastosować jednym kliknięciem. Stackhero zajmuje się całym procesem aktualizacji, minimalizując przestoje i konieczność ręcznej interwencji.
  • Wysoka wydajność i silne zabezpieczenia są zapewnione dzięki prywatnej, dedykowanej infrastrukturze.

Uruchom usługę w około 5 minut. Stackhero zajmuje się konfiguracją, abyś mógł skupić się na monitorowaniu, a nie na utrzymaniu. Wypróbuj Prometheus cloud hosting na Stackhero i usprawnij swoje procesy monitorowania oraz powiadamiania.

Aby skonfigurować Alert Manager, edytuj plik alert-manager.yml. W swoim panelu Stackhero wybierz swoją usługę Prometheus, a następnie kliknij "Konfiguracja Alert Manager".

Poniżej przedstawiamy podstawy. Aby uzyskać więcej szczegółów, zapoznaj się z oficjalną dokumentacją.

Pierwszym krokiem jest skonfigurowanie receivers. Każdy receiver to zestaw integracji powiadomień (takich jak e-mail, Slack itp.) zidentyfikowany przez unikalną name.

Na przykład, możesz utworzyć odbiorcę o nazwie "critical_alert" dla powiadomień wyzwolonych przez alerty o krytycznej ważności. Alternatywnie, możesz utworzyć odbiorcę jak "devops_team", aby kierować alerty do swojego zespołu DevOps.

Ustawienie nazwy receiver na "critical_alert" samo w sobie nie wyśle alertów. Powiązanie między alertami a odbiorcą jest dokonywane w konfiguracji routes opisanej poniżej.

Po zdefiniowaniu odbiorcy, będziesz musiał skonfigurować odpowiednie integracje powiadomień. Mogą to być e-maile, powiadomienia Slack/Mattermost, PagerDuty, Opsgenie, Webhook i inne.

Poniżej znajduje się przykład receiver o nazwie "critical_alert", który wysyła e-mail do dwóch użytkowników i wiadomość Slack do kanału #alerts:

receivers:
- name: "critical_alert"

  # Wysyłanie krytycznych alertów przez e-mail
  email_configs:
    - send_resolved: true
      to: "[email protected]"

  # Wysyłanie krytycznych alertów do Slack lub Mattermost
  slack_configs:
    - send_resolved: true
      api_url: "<your Slack or Mattermost API URL>"
      channel: "#alerts"
      title: "{{ range .Alerts }}{{ .Annotations.summary }}\n{{ end }}"
      text: "{{ range .Alerts }}{{ .Annotations.description }}\n{{ end }}"

Możesz zdefiniować wielu odbiorców do obsługi różnych typów alertów. Na przykład, możesz mieć jednego dla alertów krytycznych, innego dla alertów błędów i jeszcze innego dla innych typów alertów.

Instancje Stackhero dla Prometheus zawierają dedykowany i prywatny serwer e-mail, który pozwala na wysyłanie nieograniczonej liczby alertów e-mail bez dodatkowych kosztów.

Po skonfigurowaniu odbiorców, musisz ustawić routes. Trasy informują Alert Manager, jak obsługiwać przychodzące alerty z Prometheus i gdzie je wysyłać (zazwyczaj do jednego z wcześniej skonfigurowanych odbiorców).

Poniżej znajduje się podstawowy przykład, który kieruje alerty o ważności "critical" do odbiorcy o nazwie "critical_alert":

route:
  routes:
    - match:
        severity: "critical"
      receiver: "critical_alert"

W pliku alert-manager.yml dostarczonym z Twoją instancją Stackhero dla Prometheus wstępnie skonfigurowaliśmy niektóre trasy. Aby zacząć otrzymywać alerty, wystarczy zaktualizować sekcje email_configs i/lub slack_configs z Twoimi szczegółami powiadomień.