Skip to content

Latest commit

 

History

History
80 lines (69 loc) · 3.53 KB

File metadata and controls

80 lines (69 loc) · 3.53 KB

Alertmanager

Alertmanager Overview

Alertmanager is the frontend used for sending and managing alerts for a prometheus-stack installation. Out of the box this package installs a single replica of both prometheus and alertmanager which are pre-configured to sync. Alerts are evaluated and generated within Prometheus and then posted to the REST API for Alertmanager to manage based on it's configuration.

Upstream documentation can be rather sparse about exactly what's required to configure Alertmanager and what's recommended. This doc will go over setting up SMTP & webhook alerts destined for email inboxes and Mattermost (or slack) installations.

SMTP Alert Configuration

It is recommended to keep the default 'null' receiver as that is where you can route non-important alerts like the built in Watchdog alert which only exists to show the end-user that the communication between Prometheus & Alertmanager is working as expected. Here is a link to the full list of options available for the email_config section within alertmanager.

alertmanager:
  config:
    global:
      resolve_timeout: 5m
    route:
      # Keeping the default of 'job' but 'alertname' is also used often
      group_by: ['namespace']
      group_wait: 30s
      group_interval: 5m
      # repeat_interval upped from default of 12h
      repeat_interval: 24h
      # receiver updated from 'null' to 'smtp-email' so it becomes the default
      receiver: 'smtp-email'
      routes:
      - matchers:
          alertname: "InfoInhibitor|Watchdog"
        receiver: 'null'
    receivers:
    - name: 'null'
    # Adding a new receiver below the default 'null' receiver
    - name: 'smtp-email'
      email_configs:
      - to: `it@example.org, ops.example.org`
        from: no-reply@example.org
        smarthost: smtp.office365.org:587
        auth_username:
        auth_identity:
        auth_password:
        require_tls: true
        send_resolved: true

    templates:
    - '/etc/alertmanager/config/*.tmpl'

Chat Webhook Alert Configuration

Alertmanager contains built in support for a few chat apps: slack, telegram & wechat. The included slack configuration can be used to send to Mattermost Incoming Webhooks within an installation. Just like the example above we'll want to keep the existing receiver and route for the 'null' receiver so that the built in Watchdog alert isn't sent to your new receiver. Here is a link to the full list of options available for the slack_config section within alertmanager, however to send to a mattermost incoming webhook, only the value show below is needed.

alertmanager:
  config:
    global:
      resolve_timeout: 5m
    route:
      # Keeping the default of 'job' but 'alertname' is also used often
      group_by: ['job']
      group_wait: 30s
      group_interval: 5m
      # repeat_interval upped from default of 12h
      repeat_interval: 24h
      # receiver updated from 'null' to 'mattermost' so it becomes the default
      receiver: 'mattermost'
      routes:
      - matchers:
          - alertname="Watchdog"
        receiver: 'null'
    receivers:
    - name: 'null'
    # Adding a new receiver below the default 'null' receiver
    - name: 'mattermost'
      slack_configs:
      - api_url: https://chat.domain.url/hooks/AAAAAAAAAAAAAAA

    templates:
    - '/etc/alertmanager/config/*.tmpl'