Télémétrie et Surveillance
Infrarust fournit une télémétrie complète via OpenTelemetry, incluant les métriques, les traces et les journaux.
Configuration
Activez la télémétrie dans votre config.yaml :
yaml
telemetry:
enabled: true # Activer la collecte de télémétrie
export_interval_seconds: 30 # Intervalle d'exportation
export_url: "http://127.0.0.1:4317" # Point de terminaison OTLP
enable_metrics: true # Activer la collecte de métriques
enable_tracing: true # Activer le traçage distribuéMétriques Disponibles
Métriques de Connexion
connections.active- Nombre actuel de connexions activesconnections.errors- Nombre d'erreurs de connexionnetwork.bytes- Octets transférés actuellementnetwork.bytes.total- Total des octets transférés depuis le démarrageconnections.latency- Latence de connexionrequests.rate- Nombre de requêtes par seconde
Métriques Backend
backends.active- Nombre de serveurs backend actifsbackends.latency- Temps de réponse du serveur backendbackends.errors- Nombre d'erreurs backendbackends.requests- Total des requêtes backend
Métriques Système
system.cpu- Pourcentage d'utilisation CPUsystem.memory- Utilisation de la mémoiresystem.open_files- Nombre de fichiers ouvertssystem.threads- Nombre de threadssystem.internal_errors- Nombre d'erreurs internes
Métriques Spécifiques à Minecraft
minecraft.protocol_errors- Nombre d'erreurs de protocole Minecraftminecraft.players- Nombre de joueurs connectésminecraft.packet_time- Temps de traitement des paquets
Stack de Surveillance - Démarrage Rapide
Infrarust inclut une stack de surveillance prête à l'emploi dans le répertoire monitoring.
Prérequis
- Docker
- Docker Compose
Démarrer la Stack de Surveillance
bash
cd docker/monitoring
docker compose up -dCela démarrera :
- Grafana (Interface : http://127.0.0.1:3000)
- Prometheus (Interface : http://127.0.0.1:9090)
- Tempo (Traces)
- Collecteur OpenTelemetry
Fichiers de Configuration
Collecteur OpenTelemetry
yaml
receivers:
otlp:
protocols:
grpc:
endpoint: "0.0.0.0:4317"
http:
endpoint: "0.0.0.0:4318"
processors:
batch:
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
otlp:
endpoint: "tempo:4317"
service:
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [prometheus]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]Accès à la Stack de Surveillance
Grafana : http://127.0.0.1:3000
- Identifiants par défaut : admin/admin
- Tableaux de bord préconfigurés disponibles
Prometheus : http://127.0.0.1:9090
- Accès direct aux métriques
- Interface de requête pour l'exploration des métriques
Tempo : Accessible via Grafana
- Visualisation du traçage distribué
- Recherche et analyse des traces
Tableaux de Bord Disponibles
La stack de surveillance inclut des tableaux de bord préconfigurés pour :
- Tableau de Bord Global
Exemples de Traces
Traces courantes disponibles :
- Flux de Connexion TCP
- Traitement des Paquets
- Configuration du Fournisseur
- Mise à jour de Configuration
Exemples de Métriques
promql
# Connexions Actives
rate(connections_active_total[5m])
# Latence Backend
histogram_quantile(0.95, sum(rate(backends_latency_bucket[5m])) by (le))
# Erreurs de Protocole
sum(minecraft_protocol_errors_total) by (error_type)Dépannage
Problèmes Courants
Aucune métrique n'apparaît
- Vérifiez que la configuration de télémétrie est activée
- Vérifiez l'accessibilité du point de terminaison OTLP
- Vérifiez que le collecteur est en cours d'exécution
Latence élevée dans la collecte
- Ajustez les paramètres de traitement par lots
- Vérifiez la connectivité réseau
- Revoyez les paramètres d'intervalle d'exportation
Mode Debug
Activez la journalisation debug pour plus d'informations détaillées sur la télémétrie :
yaml
logging:
level: debug # Pas encore implémenté