Extraire des logs depuis Logs Data Platform
Comment exporter vos logs avec Logstash ou Elasticdump
Objectif
Ce guide explique comment exporter les logs stockés dans Logs Data Platform (LDP) à l'aide d'outils compatibles avec l'API OpenSearch. Il présente deux implémentations de référence :
- Logstash, adapté aux pipelines de longue durée et aux transformations complexes.
- Elasticdump, un utilitaire CLI léger conçu pour des exports ponctuels ou planifiés.
L'export de logs est un besoin courant lorsque vous souhaitez analyser des données en dehors de l'écosystème LDP ou les transmettre à des outils de BI externes. Pour l'archivage à long terme, nous proposons une autre solution.
Les sections suivantes expliquent comment extraire des documents de votre alias avec Logstash ou avec le CLI Elasticdump, afin que vous puissiez choisir l'outil le mieux adapté à votre modèle opérationnel.
La dernière partie explique comment exporter vos logs depuis vos archives à froid.
Prérequis
- Vous envoyez déjà des logs sur un flux que vous possédez — consultez le tutoriel de démarrage rapide.
- Vous connaissez l'endpoint OpenSearch de votre cluster LDP (
https://<ldp-cluster>.logs.ovh.com:9200). - Votre hôte peut atteindre le port TCP 9200 de l'endpoint du cluster via TLS.
- Vous disposez des identifiants pour l'alias que vous souhaitez exporter (authentification basique ou jeton bearer IAM).
- Vous pouvez installer Logstash ≥ 8.0 ou Elasticdump ≥ 6.0 sur l'hôte qui exécutera l'export.
Accès à l'espace client OVHcloud
- Lien direct :
- Pour accéder à vos services :
Identité, Sécurité & Opérations>Logs Data Platform> Sélectionnez la plateforme concernée
En pratique
Conventions de nommage des alias
Lorsque vous créez un alias OpenSearch qui pointe vers un flux Graylog, la seule partie personnalisable est le suffixe après -a-, par exemple ldp-ti-98765-a-your_suffix.
Le reste du nom est généré par la plateforme :
La partie <suffix> (ici logs-export) est une chaîne libre que vous choisissez pour décrire l'objectif de l'alias.
Créer un alias de flux
- Cliquez sur
Logs Data Platformsous Opérations, puis cliquez sur le compte souhaité. - Sélectionnez l'onglet
Aliaset cliquez surAjouter un alias. - Choisissez un suffixe, ajoutez une description et enregistrez l'alias.
- Cliquez sur le menu
…à droite de l'alias nouvellement créé et sélectionnezAttacher du contenu à l'alias. - Sélectionnez le ou les flux Graylog que vous souhaitez exporter et confirmez.
L'alias pointe désormais vers l'alias OpenSearch sous-jacent qui stocke les logs du flux choisi.
Exporter les logs avec Logstash
Prérequis
Installer Logstash et les plugins OpenSearch
Pipeline Logstash
Créez un fichier pipeline.conf (à l'emplacement de votre choix, par ex. config/pipeline.conf) :
Exécuter le pipeline
Logstash se connecte à l'endpoint OpenSearch, lit les documents appartenant à l'alias défini ci-dessus, et écrit les champs sélectionnés dans un fichier CSV quotidien sous /var/log/ldp/.
Exporter les logs avec Elasticdump
Prérequis
Installer Elasticdump
Elasticdump est un logiciel open source conçu pour exporter des données depuis ElasticSearch/OpenSearch vers un fichier ou vers une autre instance OpenSearch/ElasticSearch. C'est un excellent outil pour migrer d'ElasticSearch vers OpenSearch et pour télécharger les données contenues dans vos alias ou index. Il est écrit en JavaScript et repose donc sur un runtime JavaScript pour s'exécuter.
Pour les environnements isolés (air-gapped) ou conteneurisés, vous pouvez télécharger l'image Docker officielle et exécuter les mêmes commandes avec docker run --rm -v "$PWD":/work -w /work elasticdump/elasticsearch-dump.
S'authentifier auprès de Logs Data Platform
Elasticdump s'appuie sur des en-têtes HTTP pour l'authentification. Choisissez la méthode correspondant à votre compte :
- Authentification basique — ajoutez les identifiants dans l'URL :
https://<username>:<password>@<ldp-cluster>.logs.ovh.com:9200/<alias>. - Jeton bearer IAM — ajoutez un en-tête
Authorization:--input-headers '{"Authorization":"Bearer <iam-token>"}'.
Lorsque vous utilisez des jetons IAM, ne mettez pas les identifiants dans l'URL et reposez-vous uniquement sur l'en-tête. Les jetons ont une durée de vie courte ; prévoyez de les renouveler avant de lancer des exports longs.
Exporter un alias au format JSON
Créez un fichier JSON (search-body.json) qui définit votre requête. L'exemple ci-dessous récupère les événements des dernières 24 heures :
Exécutez Elasticdump pour exporter les documents :
Pour vous authentifier avec IAM, vous pouvez utiliser le flag d'en-tête ou l'authentification hybride :
Elasticdump diffuse les résultats vers ldp-export.json au format JSON délimité par des retours à la ligne, qui peut être chargé dans des outils d'analyse ou archivé à des fins de conformité.
Gérer les formats, la pagination et les plages de temps étendues
Pour exporter les données au format CSV, utilisez le schéma csv dans le fichier de sortie :
Elasticdump pagine automatiquement les résultats à l'aide de l'API scroll d'OpenSearch. Ajustez l'export avec les options suivantes :
--limit <n>: contrôle le nombre de documents qu'Elasticdump récupère par lot. Réduisez la valeur (par ex.200) si vous rencontrez des timeouts.--maxSockets <n>: ajuste le nombre de connexions HTTP simultanées. Fixez-le à1pour une limitation stricte du débit, ou augmentez-le pour accélérer les exports sur des alias à débit élevé.--input-parameters '{"scroll":"10m"}': étend le curseur côté serveur à 10 minutes, utile pour les jeux de données volumineux.
Pour exporter des plages de temps spécifiques, modifiez search-body.json avec un filtre range et exécutez plusieurs commandes successivement :
Le flag --transform vous permet d'ajuster chaque document avant de l'écrire sur le disque. Par exemple, pour supprimer le champ _id :
Exporter les logs depuis les archives
Pour exporter les logs depuis vos archives, nous mettons à disposition un outil permettant de les télécharger : ldp-archive-mirror. Ce logiciel nécessite Python ≥ 3.6 pour fonctionner.
Commencez par installer ldp-archive-mirror via pip :
Vous pouvez ensuite utiliser le binaire ldp-mirror :
Rendez-vous sur la page GitHub pour installer ce logiciel et obtenir les informations les plus récentes à son sujet.
Aller plus loin
Pour plus de détails sur le plugin d'entrée OpenSearch, consultez la documentation officielle. La référence du plugin de sortie CSV est disponible ici. La documentation d'Elasticdump est disponible ici.