دمج Grafana Loki + Prometheus Alertmanager

يوفر MagicTradeBot دعمًا أصليًا للتكامل مع Grafana Loki وPrometheus Alertmanager — وهما أداتان مفتوحتا المصدر للأرصاد والمراقبة. تتيح هاتان الأداتان تدفق سجلات في الوقت الفعلي، وجمع مقاييس، وإدارة التنبيهات بشكل مركزي عبر جميع مثيلات البوت.


🚀 نظرة عامة

يمكن لمحرك MagicTradeBot الأساسي إرسال السجلات والأحداث من أي مثيل بوت إلى Loki للتخزين والاستعلام، بينما يتولى Prometheus Alertmanager مهام التنبيه الفوري بناءً على شروط مخصصة.

سواء كنت تُشغّل مثيلًا واحدًا أو تدير مئات مثيلات البوت عبر العديد من البورصات والحسابات والخوادم، فتضمن هذه التكاملات وجود رؤية مركزية لكل أنشطة التداول.


🔧 الميزات الرئيسية

  • 📡 توجيه السجلات في الوقت الفعلي إلى Grafana Loki
  • 📊 جمع المقاييس للإستراتيجيات والصفقات والأداء
  • 🚨 تنبيهات مبنية على القواعد عبر Prometheus Alertmanager
  • 🌐 دعم تعدد المثيلات والخوادم
  • 📈 لوحات تحكم Grafana للتصور الفوري والتصفية

🛠️ المتطلبات المسبقة

  • تثبيت وتشغيل حزمة Grafana Loki
  • Prometheus يجمع المقاييس من مثيلات البوت
  • تهيئة Prometheus Alertmanager للإشعارات (مثل البريد أو Slack أو Webhooks)
  • تهيئة مثيلات البوت مع تسميات ونقاط نهاية للسجلات فريدة

⚙️ خطوات التكوين

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

قم بتمكين المُصدر داخل كل مثيل بوت لعرض المقاييس على نقطة نهاية محلية:

metrics:
  prometheus:
    enabled: true
    port: 9100

سيقوم Prometheus بسحب المقاييس من http://localhost:9100/metrics.

3. أضف هدف البوت إلى إعداد 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: "High error rate in 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