Prometheus: Configurazione di Alert Manager

Questa documentazione fa parte della guida Avvisi. Consulta la guida completa qui: Come funzionano gli avvisi di Prometheus e come configurarli.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Prometheus cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Alert Manager incluso per inviare avvisi a Slack, Mattermost, PagerDuty, ecc.
  • Server email dedicato per inviare avvisi email illimitati.
  • Blackbox per sondare HTTP, ICMP, TCP e altro ancora.
  • Configurazione facile con editor di file di configurazione online.
  • Aggiornamenti senza sforzo con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano solo 5 minuti per provare la soluzione di Prometheus cloud hosting di Stackhero!

Per configurare Alert Manager, modifica il file alert-manager.yml. Nella tua dashboard Stackhero, seleziona il tuo servizio Prometheus, poi clicca su "Configurazione di Alert Manager".

Di seguito presentiamo le basi. Per ulteriori dettagli, si prega di fare riferimento alla documentazione ufficiale.

Il primo passo è configurare i receivers. Ogni receiver è un insieme di integrazioni di notifica (come email, Slack, ecc.) identificato da un name univoco.

Ad esempio, potresti creare un receiver chiamato "critical_alert" per le notifiche attivate da avvisi con gravità critica. In alternativa, potresti creare un receiver come "devops_team" per indirizzare gli avvisi al tuo team DevOps.

Impostare un receiver con il nome "critical_alert" da solo non invierà avvisi. L'associazione tra avvisi e receiver viene fatta nella configurazione delle routes descritta di seguito.

Una volta definito un receiver, dovrai configurare le integrazioni di notifica corrispondenti. Queste potrebbero includere email, notifiche Slack/Mattermost, PagerDuty, Opsgenie, Webhook e altro ancora.

Di seguito è riportato un esempio di receiver chiamato "critical_alert" che invia un'email a due utenti e un messaggio Slack al canale #alerts:

receivers:
- name: "critical_alert"

  # Invia avvisi critici via email
  email_configs:
    - send_resolved: true
      to: "[email protected]"

  # Invia avvisi critici a Slack o 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 }}"

Puoi definire più receivers per gestire diversi tipi di avvisi. Ad esempio, potresti averne uno per avvisi critici, un altro per avvisi di errore e un altro per altri tipi di avvisi.

Le istanze di Stackhero per Prometheus includono un server email dedicato e privato che ti consente di inviare un numero illimitato di avvisi email senza costi aggiuntivi.

Dopo aver configurato i tuoi receivers, devi configurare le routes. Le rotte dicono a Alert Manager come gestire gli avvisi in arrivo da Prometheus e dove inviarli (tipicamente a uno dei tuoi receivers preconfigurati).

Di seguito è riportato un esempio di base che indirizza gli avvisi con una gravità di "critical" al receiver chiamato "critical_alert":

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

Abbiamo preconfigurato alcune rotte nel file alert-manager.yml fornito con la tua istanza Stackhero per Prometheus. Per iniziare a ricevere avvisi, aggiorna semplicemente le sezioni email_configs e/o slack_configs con i tuoi dettagli di notifica.