Grafana Loki + Prometheus Alertmanager の統合

MagicTradeBot は、強力なオープンソースの可観測性ツールである Grafana LokiPrometheus Alertmanager とのネイティブ統合をサポートしています。これにより、すべてのボットインスタンスにおける リアルタイムのログストリーミング、メトリクス収集、およびアラート管理 を集中管理できます。


🚀 概要

MagicTradeBot のコアエンジンは、任意のボットインスタンスから ログおよびイベント を Loki に転送して保存・クエリ処理を行い、Prometheus Alertmanager はカスタム条件に基づいたリアルタイムアラートを処理します。

単一のインスタンスを運用している場合でも、複数の取引所・アカウント・サーバーにわたる 数百のボットインスタンス を管理している場合でも、この統合により取引活動全体を一元的に監視できます。


🔧 主な機能

  • 📡 Grafana Loki へのリアルタイムログ転送
  • 📊 戦略、取引、パフォーマンスのメトリクス収集
  • 🚨 Prometheus Alertmanager によるルールベースのアラート通知
  • 🌐 複数インスタンス・複数サーバーのサポート
  • 📈 Grafana ダッシュボードによるライブ可視化とフィルタリング

🛠️ 前提条件

  • Grafana Loki スタックがデプロイされ、稼働している
  • Prometheus サーバーがボットインスタンスからメトリクスを収集している
  • Prometheus Alertmanager がメール、Slack、Webhook などの通知設定済み
  • ボットインスタンスに一意のラベルとログエンドポイントが設定されている

⚙️ 設定手順

1. ボット設定で Loki ログ出力を有効化

各ボットインスタンスの設定ファイル(例:config.yaml または appsettings.json)を編集します:

logging:
  loki:
    enabled: true
    endpoint: "http://your-loki-server:3100/loki/api/v1/push"
    labels:
      bot_instance: "bot-eu-1"
      exchange: "binance"
      environment: "production"
    log_level: "info"

2. Prometheus メトリクス出力を有効化

各ボットで Prometheus エクスポーターを有効にし、ローカルエンドポイントでメトリクスを公開します:

metrics:
  prometheus:
    enabled: true
    port: 9100

Prometheus は http://localhost:9100/metrics からメトリクスを取得します。

3. Prometheus 設定にボットターゲットを追加

Prometheus の prometheus.yml を編集して新しいボットエンドポイントを追加します:

scrape_configs:
  - job_name: "magictradebot"
    static_configs:
      - targets: ["localhost:9100"]

4. Prometheus にアラートルールを定義

カスタムアラートルールを定義します。例:

groups:
  - name: BotAlerts
    rules:
      - alert: HighErrorRate
        expr: rate(bot_errors_total[5m]) > 5
        for: 1m
        labels:
          severity: warning
        annotations:
          summary: "MagicTradeBot に高エラーレートが検出されました"

5. Alertmanager を接続

Prometheus が Alertmanager に接続されており、希望の通知チャネルへアラートを送信できることを確認します。


🧪 Loki ログエントリの例

{
  "timestamp": "2025-06-20T09:32:10Z",
  "level": "info",
  "message": "Executed long trade",
  "exchange": "binance",
  "symbol": "ETH/USDT",
  "strategy": "Breakout",
  "profit": 5.12,
  "bot_instance": "bot-eu-2"
}

✅ Grafana Loki + Prometheus 統合のメリット

  • 📍 すべてのボット活動を一元的に可視化
  • ⚠️ エラー急増や異常取引、停止時のプロアクティブなアラート
  • 📊 Grafana による履歴トレンド分析とリアルタイムダッシュボード
  • 🔌 リージョンや環境を跨ぐ大規模展開にもスケーラブル
  • 🔍 シンボル、取引所、戦略での高速ログクエリ・フィルタリング

📎 Related Topics