Aller au contenu principal

Monitoring

Chatbotaurus collecte des metriques de performance et de sante sur tous les composants de l'infrastructure.

Stack de monitoring

ComposantRolePort
VictoriaMetricsStockage metriques (compatible Prometheus)8428
vmalertEvaluation des regles d'alerte8880
GrafanaTableaux de bord (optionnel)3000

Metriques collectees

Performance backend

MetriqueDescriptionCible
tool_call_duration_msLatence d'un tool call MCP< 2s simple, < 8s complexe
resolve_msTemps de resolution du connecteur< 50ms
credentials_msTemps de recuperation des credentials< 10ms (cache hit)
execute_msTemps d'execution de l'outilVariable selon le service
cache_hit_rateTaux de cache hit credentials> 80%

Ressources systeme

MetriqueDescriptionSeuil d'alerte
ram_usage_bytesUtilisation RAM totale> 24 Go
cpu_usage_percentUtilisation CPU> 85%
disk_usage_percentUtilisation disque> 80%

Sante des services

MetriqueDescription
container_statusEtat des conteneurs Podman (running, stopped, error)
ollama_model_loadedModeles charges dans Ollama
db_connection_poolConnexions actives PostgreSQL
qdrant_collectionsNombre de collections vectorielles

Regles d'alerte

Les alertes sont definies dans containers/vmalert/chatbotaurus-infra-rules.yml :

groups:
- name: chatbotaurus-infra
rules:
- alert: HighMemoryUsage
expr: ram_usage_bytes > 24e9
for: 5m
labels:
severity: warning

- alert: HighCPUUsage
expr: cpu_usage_percent > 85
for: 10m
labels:
severity: critical

- alert: ServiceDown
expr: container_status != 1
for: 2m
labels:
severity: critical

Degradation gracieuse

Chatbotaurus ajuste automatiquement ses capacites selon la charge :

NiveauConditionTechniques desactivees
FULLNormalAucune
NO_MCTSLatence > 10sMonte Carlo Tree Search
NO_TOTRAM > 22 GoTree of Thoughts
NO_SELF_CONSISTENCYCPU > 80%Self-Consistency voting
TEMPLATE_ONLYSurcharge critiqueToutes les techniques avancees

Endpoints de sante

GET /api/v1/health          # Sante globale du backend
GET /api/v1/health/ollama # Sante du service Ollama
GET /api/v1/health/db # Sante PostgreSQL
GET /api/v1/health/qdrant # Sante Qdrant
GET /api/v1/health/valkey # Sante Valkey

Consulter les metriques

# Requete directe VictoriaMetrics
curl "http://localhost:8428/api/v1/query?query=tool_call_duration_ms"

# Metriques Prometheus du backend
curl "http://localhost:3000/metrics"

Bonnes pratiques

  • Configurer des alertes sur les metriques critiques (RAM, CPU, latence)
  • Surveiller le taux de cache hit credentials (< 80% indique un probleme)
  • Verifier regulierement les logs des conteneurs via podman logs
  • Garder un historique de metriques d'au moins 30 jours pour l'analyse de tendances