Logs Data Platform - Prise en main avec Node.js
Comment envoyer les logs d'une application Node.js vers Logs Data Platform
Objectif
Ce guide vous permet d'envoyer des logs depuis une application Node.js vers Logs Data Platform (LDP). Nous utiliserons le logger Pino, un logger rapide et léger pour Node.js, associé à un transport GELF (Graylog Extended Log Format). Il est également possible d'utiliser le logger Winston avec un transport GELF ; les instructions correspondantes sont fournies à la fin de ce guide.
Prérequis
- Un compte Logs Data Platform.
- Un flux créé et son jeton (X-OVH-TOKEN).
- L'adresse de votre cluster LDP (par exemple
gra1.logs.ovh.com) et le port GELF (généralement12202pour TLS). - Node.js installé sur votre environnement (version >= 20 recommandée).
Journalisation avec Pino
Installer les dépendances
Nous avons besoin de deux paquets :
pino: encode les logs au format JSON.@alex-michaud/pino-graylog-transport: envoie les logs vers l'endpoint LDP au format GELF.
Installez-les via npm :
Configurer le logger
Créez un fichier nommé logger.js (ou index.js) et configurez le logger.
Vous devez :
- Configurer le transport pour qu'il pointe vers votre cluster LDP.
- Ajouter votre
X-OVH-TOKENà chaque message de log afin que LDP les accepte et les route. Dans GELF, les champs personnalisés commencent généralement par un underscore_.
-
Remarque : pour des raisons de sécurité, nous vous recommandons d'utiliser des variables d'environnement pour stocker votre jeton et l'adresse du cluster plutôt que de les coder en dur.
-
Remarque : dans votre
package.json, veillez à définir"type": "module"pour utiliser la syntaxe des modules ES.
Exécuter et vérifier
Exécutez votre application :
Ensuite, rendez-vous dans votre interface Graylog (accessible depuis l'espace client OVHcloud) et définissez une plage de recherche relative (par exemple « Last 5 minutes »). Vous devriez voir vos messages apparaître dans le flux.
Aller plus loin
- Documentation Pino
- Documentation @alex-michaud/pino-graylog-transport
- Graylog Extended Log Format (GELF)
Journalisation avec Winston
Installer les dépendances
Nous avons besoin de deux paquets :
winston: une bibliothèque de journalisation polyvalente pour Node.js.winston-log2gelf: un transport pour Winston permettant d'envoyer les logs au format GELF.
Installez-les via npm :
Configurer le logger
Créez un fichier nommé logger.js (ou index.js) et configurez le logger.
Vous devez :
- Configurer le transport pour qu'il pointe vers votre cluster LDP.
- Ajouter votre
X-OVH-TOKENà chaque message de log afin que LDP les accepte et les route. Dans GELF, les champs personnalisés commencent généralement par un underscore_. - Définir le niveau de log souhaité.
Remarque : pour des raisons de sécurité, nous vous recommandons d'utiliser des variables d'environnement pour stocker votre jeton et l'adresse du cluster plutôt que de les coder en dur.
Exécuter et vérifier
Exécutez votre application :
Ensuite, rendez-vous dans votre interface Graylog (accessible depuis l'espace client OVHcloud) et définissez une plage de recherche relative (par exemple « Last 5 minutes »). Vous devriez voir vos messages apparaître dans le flux.
Aller plus loin
- Pour bien démarrer : Démarrage rapide
- Documentation : Guides
- Créer un compte : Essayez !
Rejoignez notre communauté d'utilisateurs.