Grafana Loki + Prometheus Alertmanager 통합

MagicTradeBot은 Grafana LokiPrometheus Alertmanager와의 통합을 기본적으로 지원합니다. 이 강력한 오픈소스 가시성 도구들을 통해 모든 봇 인스턴스에 대한 로그 스트리밍, 메트릭 수집, 알림 관리를 실시간으로 중앙 집중화할 수 있습니다.


🚀 개요

MagicTradeBot의 핵심 엔진은 모든 봇 인스턴스에서 생성된 로그 및 이벤트를 Loki로 전송하여 저장 및 조회할 수 있으며, Prometheus Alertmanager는 사용자 지정 조건에 따라 실시간 알림을 처리합니다.

단일 인스턴스를 운영하든, 다양한 거래소, 계정 및 서버에서 수백 개의 봇 인스턴스를 관리하든, 이 통합은 전체 거래 활동에 대한 중앙 집중식 모니터링을 제공합니다.


🔧 주요 기능

  • 📡 Grafana Loki로 실시간 로그 전송
  • 📊 전략, 거래, 성능에 대한 메트릭 수집
  • 🚨 Prometheus Alertmanager를 통한 규칙 기반 알림
  • 🌐 다중 인스턴스 및 다중 서버 지원
  • 📈 Grafana 대시보드를 통한 실시간 시각화 및 필터링

🛠️ 사전 요구 사항

  • Grafana Loki 스택이 배포되어 실행 중일 것
  • 봇 인스턴스로부터 메트릭을 수집하는 Prometheus 서버
  • 이메일, Slack, 웹훅 등으로 알림을 전송할 수 있도록 구성된 Prometheus Alertmanager
  • 고유한 라벨 및 로그 엔드포인트가 구성된 봇 인스턴스들

⚙️ 구성 단계

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와 연결되어 있어야 하며, 원하는 채널(예: 이메일, Slack)로 알림을 보낼 수 있어야 합니다.


🧪 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