MagicTradeBot supporta l'integrazione nativa con Sentry — una potente piattaforma per il monitoraggio e il tracciamento degli errori in tempo reale. Ciò consente a sviluppatori e operatori di inviare log ed eventi strutturati da ogni istanza del bot a Sentry, abilitando un debug rapido, notifiche centralizzate e piena visibilità sullo stato del sistema.
Che tu stia eseguendo una singola istanza del bot o centinaia di bot su più exchange, account, simboli o nodi server, Sentry ti aiuta a centralizzare il monitoraggio e a tracciare i problemi in modo efficace. Il controllo manuale non è praticabile su questa scala — Sentry colma questa lacuna con automazione avanzata e informazioni dettagliate.
🚀 Panoramica
Con l'integrazione Sentry, MagicTradeBot può acquisire automaticamente:
- Eccezioni a runtime ed errori non gestiti
- Errori nell'esecuzione delle operazioni
- Problemi di connettività con l'exchange
- Log personalizzati ed eventi diagnostici
Tutti i log e gli errori vengono inviati a Sentry in tempo reale, permettendoti di:
- Tracciare i problemi per istanza, simbolo o exchange
- Analizzare stack trace, colli di bottiglia nelle prestazioni e frequenza degli errori
- Impostare notifiche via email, Slack o webhook per i guasti critici
🔧 Funzionalità principali
- 📡 Reporting in tempo reale di eccezioni ed errori
- 🧠 Acquisizione automatica dello stack trace con metadati contestuali
- 🌍 Supporto per ambienti multi-istanza e distribuiti
- 🕵️ Raggruppamento dei problemi, tagging di severità e tracciamento delle release
- 📊 Dashboard centralizzata con regole di allerta e integrazioni
🛠️ Prerequisiti
- Un account Sentry valido e un DSN (Data Source Name)
- SDK di Sentry installato nell'ambiente runtime di MagicTradeBot
- Bot configurato con un
instance_id
otag
univoci per migliorare la tracciabilità
⚙️ Passaggi di configurazione
1. Installa il SDK di Sentry
Installa Sentry per il tuo ambiente (es. Python, Go, Node.js):
pip install --upgrade sentry-sdk
2. Inizializza Sentry nel codice di avvio del bot
Aggiungi questo codice per inizializzare Sentry:
import sentry_sdk
sentry_sdk.init(
dsn="YOUR_SENTRY_DSN",
environment="production",
release="magictradebot@2.0.0",
traces_sample_rate=1.0,
send_default_pii=True
)
3. Abilita Sentry nel file di configurazione
Nel file config.yaml
o appsettings.json
, abilita l'integrazione Sentry:
monitoring:
sentry:
enabled: true
dsn: "YOUR_SENTRY_DSN"
environment: "production"
release: "magictradebot@2.0.0"
tags:
instance_id: "bot-apac-01"
exchange: "binance"
4. Aggiungi log e cattura errori personalizzati (opzionale)
Puoi segnalare manualmente errori critici in questo modo:
from sentry_sdk import capture_exception
try:
bot.execute_trade()
except Exception as e:
capture_exception(e)
🧪 Esempio di payload di evento Sentry
{
"level": "error",
"message": "Trade execution failed",
"timestamp": "2025-06-20T11:25:41Z",
"bot_instance": "bot-us-1",
"symbol": "SOL/USDT",
"exchange": "kucoin",
"exception": {
"type": "InsufficientBalanceError",
"value": "Not enough USDT to place order",
"stacktrace": [...]
}
}
✅ Vantaggi dell'integrazione con Sentry
- 📍 Tracciamento centralizzato dei log e degli errori per tutte le attività del bot
- ⚠️ Visibilità immediata su errori, configurazioni errate o interruzioni
- 📈 Dashboard visive per analizzare frequenza e tendenze dei problemi
- 🚨 Integrazioni di allerta con Slack, Teams, Email, Webhooks
- 🔍 Risoluzione più rapida degli incidenti grazie a stack trace e breadcrumb