Monitorer les logs du serveur Data API
Les logs du serveur Data API sur le Moteur distant Gen2 sont exposés par défaut et peuvent être consommés à l'aide de la commande docker logs.
Les logs sont au format json et suivent le modèle ECS (Elastic Common Schema) par défaut. Comme lire les lignes structurées JSON brutes n'est pas très utile, vous pouvez laisser une plateforme de gestion des logs ingérer et indexer les logs, pour les consulter plus facilement.
Cette documentation présente l'utilisation de la plateforme ELK (Elasticsearch, Logstash, Kibana) pour récupérer et visualiser les logs dataset-api-server.
Le conteneur dataset-api-server conserve différents types de logs :
- Logs d'accès aux API OData. Utilisez le filtre /apis dans le champ de recherche pour filtrer uniquement les logs d'accès.
- Sondes permettant à Docker de savoir si le conteneur est vraiment en cours d'exécution. Utilisez le filtre /environment dans le champ de recherche pour filtrer uniquement les logs des sondes.
- Logs de synchronisation avec le back-end Data API. Utilisez le filtre /synchronization dans le champ de recherche pour filtrer uniquement les logs de synchronisation.
Prérequis
dataset-api-server:
[...]
labels:
autoheal: 'true'
filebeat_ingest: 'true' # Send container logs to ELK
Pile ELK
Cette documentation présuppose que la pile ELK entière s'exécute sur son application Docker multi-conteneur, sur la même machine que le Moteur distant Gen2. De plus, les logs sont lus depuis le Moteur distant Gen2 par un autre composant nommé Filebeat, également développé par Elastic, poussant les logs vers la pile ELK.
Cette documentation se base sur la version 7.7.0 de la pile ELK.
Récupérez l'archive api-server-monitoring.zip avec l'ensemble des fichiers requis depuis l'onglet Téléchargements de la page de documentation.
- Extrayez l'archive api-server-monitoring.zip à l'emplacement de votre choix.
- Dans le répertoire principal, exécutez la commande docker-compose up -d.
- Allez à l'URL suivante : http://localhost:5601.
- Allez dans filebeat-*. Utilisez @timestamp pour l'heure. et créez le modèle d'index Kibana
- Les logs dataset-apis-server sont disponibles dans la section Discover de Kibana, à l'adresse suivante : http://localhost:5601/app/kibana#/discover.
Si vous souhaitez arrêter la pile ELK, exécutez la commande docker-compose down -v dans le répertoire principal.
Filtrer et rechercher les logs
Le conteneur dataset-api-server conserve différents types de logs :
- Logs d'accès aux API OData. Utilisez le filtre /apis dans le champ de recherche pour filtrer uniquement les logs d'accès.
- Sondes permettant à Docker de savoir si le conteneur est vraiment en cours d'exécution. Utilisez le filtre /environment dans le champ de recherche pour filtrer uniquement les logs des sondes.
- Logs de synchronisation avec le back-end Data API. Utilisez le filtre /synchronization dans le champ de recherche pour filtrer uniquement les logs de synchronisation.
- Configurez la manière dans vous souhaitez visualiser les données de log directement dans Kibana.
Vous pouvez trier les colonnes pour afficher et mettre en évidence les informations concernant les potentielles erreurs, leur sévérité ou leur horodatage, par exemple.