Monitoring
Chatbotaurus collecte des metriques de performance et de sante sur tous les composants de l'infrastructure.
Stack de monitoring
| Composant | Role | Port |
|---|---|---|
| VictoriaMetrics | Stockage metriques (compatible Prometheus) | 8428 |
| vmalert | Evaluation des regles d'alerte | 8880 |
| Grafana | Tableaux de bord (optionnel) | 3000 |
Metriques collectees
Performance backend
| Metrique | Description | Cible |
|---|---|---|
tool_call_duration_ms | Latence d'un tool call MCP | < 2s simple, < 8s complexe |
resolve_ms | Temps de resolution du connecteur | < 50ms |
credentials_ms | Temps de recuperation des credentials | < 10ms (cache hit) |
execute_ms | Temps d'execution de l'outil | Variable selon le service |
cache_hit_rate | Taux de cache hit credentials | > 80% |
Ressources systeme
| Metrique | Description | Seuil d'alerte |
|---|---|---|
ram_usage_bytes | Utilisation RAM totale | > 24 Go |
cpu_usage_percent | Utilisation CPU | > 85% |
disk_usage_percent | Utilisation disque | > 80% |
Sante des services
| Metrique | Description |
|---|---|
container_status | Etat des conteneurs Podman (running, stopped, error) |
ollama_model_loaded | Modeles charges dans Ollama |
db_connection_pool | Connexions actives PostgreSQL |
qdrant_collections | Nombre 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 :
| Niveau | Condition | Techniques desactivees |
|---|---|---|
| FULL | Normal | Aucune |
| NO_MCTS | Latence > 10s | Monte Carlo Tree Search |
| NO_TOT | RAM > 22 Go | Tree of Thoughts |
| NO_SELF_CONSISTENCY | CPU > 80% | Self-Consistency voting |
| TEMPLATE_ONLY | Surcharge critique | Toutes 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