Prometheus: Alert Managerの設定

このドキュメントはアラートガイドの一部です。完全なガイドはこちらからご覧いただけます:Prometheusアラートの仕組みと設定方法

👋 Stackheroドキュメントへようこそ!

Stackheroは、信頼性とシンプルさを重視したフルマネージドのPrometheusクラウドプラットフォームを提供しています:

  • Alert Managerが標準搭載されており、SlackMattermostPagerDutyなどの主要なサービスへ直接アラートをルーティングできます。
  • 専用のメールサーバーにより、追加設定なしで無制限のメールアラートを送信可能です。
  • Blackboxが含まれており、HTTPICMPTCPなど様々なプロトコルの監視が可能です。
  • オンライン設定ファイルエディタでインスタンスを迅速に設定できます。YAMLを手動で管理する必要はありません。
  • ワンクリックでアップデートを適用可能。Stackheroがアップグレードプロセスを自動で管理し、ダウンタイムや手動作業を最小限に抑えます。
  • 専用のプライベートインフラストラクチャによる高いパフォーマンスと強固なセキュリティを実現しています。

約5分で導入完了。Stackheroがセットアップを担当するため、運用ではなく監視に集中できます。PrometheusクラウドホスティングをStackheroでぜひお試しください。監視・アラート運用を効率化します。

Alert Managerを設定するには、alert-manager.ymlファイルを編集します。StackheroダッシュボードでPrometheusサービスを選択し、「Alert Managerの設定」をクリックします。

以下に基本を示します。詳細については、公式ドキュメントを参照してください。

最初のステップは、receiversを設定することです。各receiverは、ユニークなnameで識別される通知統合(メール、Slackなど)のセットです。

例えば、重大なアラートによってトリガーされる通知のために「critical_alert」という名前のレシーバーを作成することができます。あるいは、DevOpsチームにアラートを送るために「devops_team」というレシーバーを作成することもできます。

receiver名を「critical_alert」に設定するだけではアラートは送信されません。アラートとレシーバーの関連付けは、以下で説明するroutes設定で行われます。

レシーバーが定義されたら、対応する通知統合を設定する必要があります。これには、メール、Slack/Mattermost通知、PagerDuty、Opsgenie、Webhookなどが含まれる可能性があります。

以下は、2人のユーザーにメールを送り、#alertsチャンネルにSlackメッセージを送信する「critical_alert」という名前のreceiverの例です:

receivers:
- name: "critical_alert"

  # 重大なアラートをメールで送信
  email_configs:
    - send_resolved: true
      to: "[email protected]"

  # 重大なアラートをSlackまたは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 }}"

異なる種類のアラートを処理するために複数のレシーバーを定義できます。例えば、重大なアラート用、エラーアラート用、その他のアラート用のレシーバーを持つことができます。

Stackhero for Prometheusのインスタンスには、無制限のメールアラートを追加費用なしで送信できる専用のプライベートメールサーバーが含まれています。

レシーバーを設定した後、routesを設定する必要があります。ルートは、Alert ManagerにPrometheusからのアラートをどのように処理し、どこに送信するか(通常は事前に設定されたレシーバーの1つ)を指示します。

以下は、「critical」という重大度のアラートを「critical_alert」という名前のレシーバーに送信する基本的な例です:

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

Stackhero for Prometheusインスタンスに提供されるalert-manager.ymlファイルには、いくつかのルートが事前に設定されています。アラートを受信し始めるには、email_configsおよび/またはslack_configsセクションを通知の詳細で更新するだけです。