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
filebeat-ingest
est configurée à true
. Cela assure l'exposition par défaut des logs.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 sectionDiscover
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.