---
title: Prometheus Alertmanager 連携 - サーバー・インフラ監視通知
sidebarTitle: Prometheus
description: Prometheus AlertmanagerをEchobellと統合して即座にモバイルアラートを受け取るための完全ガイド。サーバー監視、インフラアラート、CPU/メモリ使用率警告、クリティカルシステムイベントのプッシュ通知をWebhookまたはメールで受信。
---

import { Step, Steps } from "fumadocs-ui/components/steps";

# Prometheus 連携

Prometheus と Alertmanager は広く使用されているオープンソースの監視・アラートスタックです。Alertmanager を Echobell と統合することで、アラートルールが発火するたびに、即座にモバイル通知（時間重要通知や通話通知を含む）を受け取ることができます。

## 前提条件

- 少なくとも 1 つのチャンネルが作成された Echobell アカウント
- 稼働中の Prometheus + Alertmanager 環境
- Alertmanager 設定ファイル（alertmanager.yml）の編集権限

## 概要

1. Echobell チャンネルの作成
2. 通知テンプレートの設定
3. 統合方法の選択（Webhook または Email）
4. アラートルールの作成・更新
5. テストと調整

## ステップバイステップガイド

<Steps>
<Step>
### Echobell チャンネルの作成

1. Echobell アプリを開く
2. 新しいチャンネルを作成（例：「Prometheus アラート」）
3. 識別しやすい色を選択
</Step>
<Step>

### 通知テンプレートの設定

Alertmanager の Webhook ペイロードには status、commonLabels、commonAnnotations、externalURL、alerts 配列などの構造化されたフィールドが含まれます。

**タイトルテンプレート：**

```
{{commonLabels.alertname}} - {{status}}
```

**本文テンプレート：**

```
🔔 アラート: {{commonLabels.alertname}}
📊 重要度: {{commonLabels.severity}}
🖥️ インスタンス: {{alerts[0].labels["instance"]}}
⏰ 開始: {{alerts[0].startsAt}}
ℹ️ 概要: {{commonAnnotations.summary}}
```

**オプションのリンクテンプレート（詳細設定）：**

```
{{alerts[0].generatorURL || externalURL}}
```

</Step>
<Step>
### 方法 A — Webhook（推奨）

1. Echobell チャンネルで、トリガーから Webhook URL をコピー
2. Alertmanager で Webhook レシーバーを設定：

```yaml
route:
  receiver: echobell-webhook

receivers:
  - name: echobell-webhook
    webhook_configs:
      - url: "https://hook.echobell.one/t/REPLACE_WITH_YOUR_TOKEN"
        send_resolved: true
        http_config:
          follow_redirects: true
```

注意：`send_resolved: true` でアラートが解決した際にも通知されます。

</Step>
<Step>
### 方法 B — Email（代替）

Email を使用する場合は、Alertmanager の Email レシーバーを使用：

1. Echobell で、トリガーからチャンネルの Email アドレスをコピー
2. Alertmanager で Email レシーバーを設定：

```yaml
receivers:
  - name: echobell-email
    email_configs:
      - to: "PASTE_CHANNEL_EMAIL_ADDRESS"
        send_resolved: true
        subject: "{{ .CommonLabels.alertname }} - {{ .Status }}"
        html: |
          <p><strong>概要:</strong> {{ .CommonAnnotations.summary }}</p>
          <p>{{ .CommonAnnotations.description }}</p>
```

</Step>
<Step>
### サンプルアラートルールの作成

```yaml
groups:
  - name: example
    rules:
      - alert: HighCPU
        expr: avg(rate(process_cpu_seconds_total[5m])) > 0.8
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "CPU 使用率が高い"
          description: "CPU が 2 分間 80% を超えています"
```

このアラートが発火すると、Alertmanager がイベントを Echobell に送信します。

</Step>
</Steps>

## 通知タイプ

- **時間重要**：重大な本番障害、ページングレベルのインシデント
- **通話**：フォーカスモードを中断する必要がある深刻な障害
- **通常**：定期的なアラート、警告、情報通知

## ベストプラクティス

1. テンプレートは簡潔だが情報を含めて保つ
2. リンクテンプレートでグラフ/ダッシュボードに直接アクセス
3. Alertmanager でアラートをグループ化してルーティング
4. Webhook URL を機密情報として保護

## トラブルシューティング

アラートが Echobell に表示されない場合：

- Webhook URL またはチャンネル Email を確認
- チャンネルがアクティブで購読者がいるか確認
- Alertmanager のログで配信エラーを確認
- alertmanager.yml のルートを確認

## 追加リソース

- [Prometheus ドキュメント](https://prometheus.io/docs/introduction/overview/)
- [Alertmanager 設定](https://prometheus.io/docs/alerting/latest/configuration/)
- [Echobell Webhook](/ja/docs/webhook)
- [通知テンプレート](/ja/docs/notification)
