Accéder au contenu principal Passer au contenu complémentaire

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.

Diagramme d'architecture pour les logs de serveur d'API de données.

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

Dans le fichier docker-compose.yml, assurez-vous que la propriété 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.

  1. Extrayez l'archive api-server-monitoring.zip à l'emplacement de votre choix.
  2. Dans le répertoire principal, exécutez la commande docker-compose up -d.
  3. Allez à l'URL suivante : http://localhost:5601.
  4. Allez dans Management > Kibana > Index Patterns et créez le modèle d'index Kibana filebeat-*. Utilisez @timestamp pour l'heure.
  5. 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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !