MagicTradeBot は、強力なオープンソースの可観測性ツールである Grafana Loki と Prometheus 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 による履歴トレンド分析とリアルタイムダッシュボード
- 🔌 リージョンや環境を跨ぐ大規模展開にもスケーラブル
- 🔍 シンボル、取引所、戦略での高速ログクエリ・フィルタリング