JSON et journaux d'application Nouveau
Connecter Journaux d'application vers Excel, Sheets et l'IA
Journal de votre application, traces de pile toujours jointes. Lignes JSON provenant d'ECS, Serilog, pino ou Bunyan. Texte brut horodatage [NIVEAU] journaliseur : message Dans ce format, une trace de pile de quarante lignes reste rattachée à la ligne qui l'a déclenchée au lieu de se transformer en quarante lignes inutiles. De plus, sous Debian et Ubuntu, les deux journaux enregistrent les modifications apportées au système.
Votre dossier de logs devient un tableau selon lequel vous pouvez effectuer des regroupements.
Ni grep, ni une pile de logs. Query Streams lit les fichiers que votre application écrit déjà, en conserve le format et vous fournit des colonnes typées : ainsi, identifier le système de journalisation qui génère le plus d’erreurs cette semaine se fait en une seule requête, au lieu d’y consacrer un après-midi entier. Une ligne que l’analyseur ne peut pas lire est conservée avec une explication, au lieu d’être ignorée silencieusement.
shopfront-api/app.jsonlJSON
shopfront-worker/app.logtexte
historique.logapteRotations, archives compressées et fichiers relus — gérés
SELECTIONNER application, journalisation,
compter(*) AS erreurs
DE ensembles de fichiers.événements
OÙ niveau = 'ERREUR'
GROUPE PAR application, journaliseur
ORDER BY erreurs DESCIntégrez-la à la base de données de votre application dans la même requête.
Les fichiers que votre application écrit déjà, désormais un tableau sur lequel vous pouvez générer des rapports.
Deux formes que votre application écrit, deux que la boîte écrit
Chaque fiche indique précisément les fichiers lus par Query Streams et les données qu'ils contiennent. Aucune bibliothèque de journalisation ni modification de format n'est requise : les formats pris en charge sont ceux utilisés par défaut par ces outils.
Journaux d'applications pris en charge
4 formats
lignes JSONECS, Serilog compact, pino, Bunyan
- Un objet JSON par ligne dans
.jsonl,.ndjsonou*-json.log - Les noms de champs ECS sont directement mappés —
niveau de journalisation,nom.hôte,nom du service - Serilog compact, pino et Bunyan lisent aussi : mêmes clés, orthographes différentes
- Les objets imbriqués s'aplatissent en colonnes pointillées ; tout ce qui n'est pas cartographié se retrouve dans
données - Annexes; rotations datées et
.gzsuivi
Journal de textehorodatage, niveau, enregistreur, message
- La forme par défaut : un tampon, un niveau entre parenthèses, un enregistreur, un message
- La trace de la pile est rattachée à la ligne qui a déclenché l'erreur — une seule ligne, et non quarante.
à …,Causé par :etTracebackTout se lit comme une suite- Lectures
.enregistrer,.dehorset.SMSLes fichiers JSON sont exclus par déclaration - Millisecondes (virgule ou point) ; horloge locale lue comme celle de l'agent
dpkgjournal des paquets
- Une ligne par étape d'emballage :
installer,mise à niveau,retirer,configurer emballer,versionetnouvelle_versioncomme leurs propres colonnesstatutLes lignes indiquent que le paquet dpkg a été déplacé dans l'état./var/log/dpkg.loget son numéro.gzrotations- Aucune zone définie dans le fichier ; lecture basée sur l’horloge locale de l’agent
apteJournal d'historique
- Un
Clé : valeurbloc par transaction, ligne vide entre les blocs - L'exact
ligne de commandequi a fonctionné, et ce que cela a changé Date de débutest l'heure de l'événement ;Date de finest sa propre colonne- Une transaction inachevée reste en suspens au lieu d'être divisée en deux.
/var/log/apt/history.logplus son.gzrotations
De nouveaux formats de journaux d'applications et de packages sont ajoutés à chaque nouvelle version de l'Agent. Grâce à la mise à jour automatique des Agents, un format ajouté ultérieurement sera disponible dans votre connecteur sans intervention sur le serveur.
Le journal de votre application pour chaque région, lire où il court
Une application est rarement hébergée sur un seul serveur. Une API dans une région cloud, des nœuds de calcul dans une autre, et une autre application encore sur un serveur physique au bureau. Chaque emplacement exécute un agent réseau qui lit les fichiers journaux existants et se connecte aux flux de requêtes. Pour votre pare-feu, il s'agit d'une connexion sortante ordinaire : aucune connexion à ouvrir, aucun VPN à configurer, et aucune bibliothèque de journalisation à ajouter à votre application.
Trois connexions sortantes, un seul point de contrôle : aucun port entrant, aucun VPN, aucune modification du pare-feu.
Un agent par emplacement
Un agent couvre un emplacement entier plutôt qu'un seul journal : les lignes JSON, le journal texte et l'historique des paquets de cet emplacement deviennent chacun leur propre connecteur de jeu de fichiers sur le même agent. Le niveau gratuit exécute un seul agent, tandis que les niveaux supérieurs en exécutent plusieurs.
1 emplacement = 1 agent = plusieurs connecteurs
Rien à ouvrir
L'agent établit une seule connexion sortante chiffrée, utilisée pour la requête sortante et les données reçues. Aucun port entrant, aucun VPN, aucune modification du pare-feu à effectuer : votre application n'a rien à ajouter pour son fonctionnement.
une seule connexion, dans les deux sens
Une requête à travers les régions
Chaque source dans un requête fédérée L'API nomme son propre agent, ce qui permet, avec une seule instruction, de placer les erreurs de l'API dans une zone à côté de celles des workers dans une autre, ou encore à côté de l'historique des packages indiquant leur date de démarrage. Inclus dans les versions Business et Enterprise.
2 régions → 1 ensemble de résultats
Ils se tiennent au courant
Les agents se mettent à jour automatiquement ; ainsi, un format de journal ajouté dans une version ultérieure est déployé partout sans intervention de votre part. C’est pourquoi la liste ci-dessus représente un point de départ plutôt qu’une liste figée.
De nouveaux formats arrivent avec l'Agent
Traces de pile, horloges et doublons
Le journal d'application est le fichier le plus désorganisé du serveur : un seul événement peut s'étendre sur quarante lignes, deux formats sans rapport peuvent se ressembler, et la moitié de ces fichiers ne contiennent aucune indication de fuseau horaire. Chaque cas est traité par déclaration, et non par conjecture.
Un seul événement, pas quarante rangées
Une ligne qui ne commence pas par un horodatage est rattachée à la ligne précédente. C'est ainsi qu'une trace de pile reste liée au message qui l'a déclenchée, au lieu de se fragmenter en des dizaines de fragments non identifiables. GROUPE PAR peut être remonté.
lignes de continuation → jointes, jusqu'à 200
Deux bûches qui se ressemblent
Une ligne d'application JSON, une enveloppe Docker et une ligne d'accès JSON d'un serveur web sont toutes des données JSON horodatées. Le format est déterminé par le contenu de la ligne ; chacune est donc associée à un profil distinct, sans jamais être liée à un nom de fichier.
C'est le contenu qui décide, pas le nom du fichier.
Une horloge sans fuseau horaire
Les journaux de texte, dpkg et apt enregistrent tous l'heure locale de l'hôte sans décalage horaire. Plutôt que de tenter une estimation, ces profils déclarent que l'horodatage est local et l'interprètent comme le fuseau horaire de l'agent ; la chaîne d'origine est conservée dans une colonne distincte.
horloge locale → déclarée, jamais déduite
Une transaction est toujours en cours.
apt écrit immédiatement le début d'une mise à jour et la ligne de fin seulement lorsque dpkg a terminé, ce qui peut prendre plusieurs minutes. Un bloc non encore fermé reste en attente, au lieu d'être coupé en deux et d'apparaître comme un événement sans début.
attente jusqu'à la date de fin, jusqu'à 30 minutes
- heure_événement
- 2026-09-08 14:02:11.431
- niveau
- ERREUR
- bûcheron
- Client de paiement
- message
- Échec de la charge ↵ java.net.SocketTimeoutException : Délai de lecture dépassé ↵ à …
Les colonnes que vous obtenez réellement
Il ne s'agit pas d'un simple bloc de texte avec un horodatage. Chaque format est analysé et converti en colonnes typées que vous pouvez filtrer, regrouper et agréger directement. De plus, lorsque votre application enregistre du JSON structuré, ses propres champs sont également décomposés en colonnes.
Chaque rangée contient également heure_événement, l'horodatage brut à partir duquel il a été lu, et le fichier dont il provient. Vos journaux d'application sont identifiés par application et les deux journaux de paquets par hôte Les deux données proviennent du dossier contenant le fichier ; ainsi, un dossier par service ou par machine permet d’obtenir une colonne claire pour le regroupement. L’affichage du journal de texte sur trois colonnes est intentionnel : plutôt que de deviner les champs qu’un message en texte libre ne contient pas systématiquement, le message est conservé intégralement, avec sa trace de pile.
Où peuvent être stockés les données de journalisation de votre application
Les fichiers journaux ne sont pas une impasse. Connectez le dossier une seule fois et cette même connexion en lecture seule alimentera toutes les interfaces prises en charge par Query Streams : aucune deuxième configuration, aucune deuxième copie des données et aucun traitement différent de celui d’un connecteur de base de données.
Journaux d'application vers Excel
Microsoft Excel · Complément Excel
Importez directement les résultats des journaux d'applications en direct dans une feuille de calcul et actualisez-les à la demande — Excel de bureau, Excel Online, Microsoft 365.
Comment fonctionne ExcelJournaux d'application vers Google Sheets
Module complémentaire Sheets
Exécutez une requête de journal d'application enregistrée depuis la barre latérale et glissez-déposez les lignes dans la feuille. Les collaborateurs peuvent ensuite l'actualiser eux-mêmes.
Comment fonctionne Google SheetsServeur de journaux d'application MCP
Clients Claude, Cursor et MCP · Serveur MCP
Donnez à un assistant IA un accès en lecture seule au journal d'application avec le schéma dont il a besoin pour écrire du code SQL correct ; aucune information d'identification n'est requise dans la conversation.
Comment fonctionne MCPAPI REST des journaux d'application
point de terminaison HTTP
Publiez une requête de journalisation d'application sous forme de point de terminaison JSON authentifié, accessible à toute application, avec une spécification OpenAPI 3.1 et des collections Postman, Insomnia et Hoppscotch prêtes à l'emploi. Aucun port de base de données n'est ouvert.
Comment fonctionne une API REST ?Journaux d'application vers Airtable
Plateforme d'automatisation
Synchronisez les lignes du journal d'application dans une base Airtable selon une planification, ou récupérez-les dans un script d'automatisation Airtable.
Comment fonctionne AirtableJournaux d'application vers Baserow
Plateforme d'automatisation
Alimentez une table Baserow à partir du journal d'application via le point de terminaison REST — auto-hébergé ou cloud Baserow.
Comment fonctionne BaserowJournaux d'application vers SeaTable
Plateforme d'automatisation
Maintenez une base SeaTable à jour avec les données de journalisation des applications sans exporter de fichier ni exposer la base de données.
Comment fonctionne SeaTableJournaux d'application vers Smartsheet
Plateforme d'automatisation
Intégrez les résultats du journal d'application dans une grille Smartsheet afin que les plans et les rapports soient lus à partir du système source et non de l'exportation de la semaine précédente.
Comment fonctionne SmartsheetJournal d'application vers Anvil
Anvil Works · Plateforme d'applications
Utilisez le point de terminaison REST pour sauvegarder une application Python Anvil avec journal d'application au lieu d'intégrer les identifiants de base de données dans l'application.
Comment fonctionne AnvilJournaux d'application dans Power BI
Power Query M
Collez le code Power Query M généré dans l'éditeur avancé de Power BI et le rapport lira les résultats du journal d'application en direct via HTTPS — sans pilote ODBC ni port de base de données ouvert.
Comment fonctionne Power BIAlertes et rapports des journaux d'application
Slack · Discord · Courriel · Webhook
Programmez une requête de journal d'application et faites en sorte que les lignes soient envoyées à Slack, Discord, par e-mail ou via un webhook signé — ou conservez le message jusqu'à ce qu'un nombre de lignes, un seuil ou un pourcentage de variation dépasse la limite que vous avez définie.
Fonctionnement des alertes et des rapportsCe que cela ne fait pas délibérément
Il ne s'agit pas d'un suivi en temps réel. Query Streams lit les fichiers tels qu'ils sont sur le disque lors de l'exécution de la requête ; par conséquent, un pic d'erreurs apparaît sous forme de lignes plutôt que dans un flux que vous pouvez observer. Si vous avez besoin d'alertes à la seconde près, ligne par ligne, dès leur affichage, un pipeline de journalisation est la solution idéale, et nous le recommandons.
Le journal de votre application contient tout ce qu'elle y affiche. Il est important de le préciser : si elle y enregistre un jeton, l'adresse e-mail d'un client ou le corps complet d'une requête, cette chaîne de caractères est déjà présente dans le fichier et figurera également dans la colonne correspondante. Contrairement aux journaux d'un serveur web, il n'existe aucun champ permettant d'exclure des données. Traitez la table résultante avec la même précaution que vous le feriez pour le fichier.
Certaines informations enregistrées par les journaux du paquet sont identifiées par leur forme plutôt que prouvées par une capture. dpkg documente une ligne de fichier de configuration et purge et disparaître actions; documents appropriés Demandé par, Erreur, Purge, Réinstaller et RétrograderAucun de ces éléments n'apparaissait dans les journaux ayant servi à la création de ces profils ; ils sont donc déclarés, et non démontrés – et aucun des journaux de paquets ne couvre les distributions basées sur RPM ni Windows.
Il s'agit d'un détail de configuration plutôt que d'une limite : la colonne « Identifiant » provient du dossier contenant le fichier, lui-même situé dans le sous-dossier que vous indiquez. Configurez un connecteur pour qu'il pointe vers un répertoire contenant un sous-dossier par service ou par machine, et vous obtiendrez automatiquement des noms utiles ; configurez-le directement vers un répertoire contenant des fichiers non structurés, et chaque ligne portera le nom de ce répertoire. Cela ne prend que trente secondes lors de la configuration.
Le reste suit la conception habituelle. L'agent se connecte en sortie et lit les fichiers ; aucune donnée n'est installée avec votre application, aucune donnée n'est écrite en retour, aucun processus n'est attaché ni instrumenté, et l'accès est en lecture seule.
Comment ça marche
Trois étapes, sans aucun changement dans la façon dont votre application enregistre les journaux.
Indiquez le dossier des journaux
Accordez à un agent Query Streams un accès en lecture à l'emplacement où les journaux sont déjà enregistrés : le dossier situé à côté de votre application, un partage sur lequel vous les collectez, ou /var/log pour l'historique du paquet.
Il reconnaît le format
Query Streams identifie le format à partir du contenu des lignes, et non du nom de fichier ; ainsi, une copie renommée reste lisible, et un fichier qui ne correspond pas au format défini est mis en attente avec une explication au lieu de corrompre la table.
Interrogez-le ou joignez-le
Exécutez des requêtes SQL depuis le portail, intégrez-les dans Microsoft Excel ou Google Sheets, ou utilisez une requête fédérée pour lier votre journal d'erreurs aux commandes et aux utilisateurs de votre base de données d'application, le tout en une seule instruction.
FAQ du journal d'application
Quelle bibliothèque de journalisation dois-je utiliser ?
Aucun en particulier. Si vous écrivez des lignes JSON, les noms de champs Elastic Common Schema sont directement mappés, et le format compact de Serilog, pino et Bunyan sont également compatibles car ils utilisent les mêmes clés de premier niveau avec des orthographes différentes ; l’horodatage est tiré du nom habituel que votre ligne contient.
Si vous écrivez du texte brut, l'ordinaire horodatage [NIVEAU] journaliseur : message Shape est un format pris en charge à part entière. Il n'y a rien à adopter ni à reconfigurer.
Que se passe-t-il réellement avec une trace de pile ?
Il reste associé à l'erreur qui l'a produite. Un enregistrement commence à une ligne qui s'ouvre par un horodatage, et chaque ligne suivante qui n'en contient pas est traitée comme une continuation de celle-ci — ce qui correspond exactement à la structure d'une trace Java, .NET ou Python. La classe d'exception, à … cadres, un Causé par : chaîne et un Python Traceback Tous les en-têtes sont reconnus comme appartenant à la ligne ci-dessus.
La différence concrète, c'est que le comptage des erreurs comptabilise bien les erreurs. Sans cela, une seule exception fausse le nombre d'images affichées, et le message que vous souhaitez lire se trouve sur une ligne différente de celle contenant le nom de la classe.
Pourquoi dpkg et apt figurent-ils dans les journaux d'application ?
Car elles répondent à la question que l'on se pose immédiatement après « quand est-ce que ça a commencé à dysfonctionner ? » — à savoir « qu'est-ce qui a changé ? ». Ce sont les journaux internes des gestionnaires de paquets, situés dans la même arborescence de dossiers, lus de la même manière, et ils constituent le complément le plus utile aux journaux d'erreurs.
L'historique d'apt est plus lisible : chaque transaction comporte un bloc indiquant la commande exacte exécutée et les éléments installés, mis à jour ou supprimés. Le journal de dpkg, quant à lui, est plus précis, avec une ligne par étape d'installation ou de suppression de paquet. Grâce à eux, vous pouvez associer une date à chaque modification au lieu d'essayer de vous en souvenir.
Puis-je lier mes erreurs à la mise à jour qui les a provoquées ?
Oui, avec une chose à savoir : un connecteur lit un seul format, donc votre journal d’application et /var/log/apt/history.log Il s'agit de deux connecteurs plutôt que d'un seul. Une requête fédérée les joint en une seule instruction, selon le même mécanisme qui permet de joindre un journal à une base de données de production.
Voilà la question qu'il vaut la peine de poser sur cette famille de données : le nombre d'erreurs par heure, en plus des transactions effectuées ce jour-là, toutes deux lues à partir de fichiers que personne n'a eu à expédier.
Est-ce en temps réel ?
Il s'agit d'une lecture à la demande plutôt que d'un traitement en continu. Les fichiers sont lus au fur et à mesure de l'exécution de la requête ; les nouvelles lignes apparaissent donc au fur et à mesure que votre application les écrit et que le fichier est pris en compte — non pas selon une planification nocturne fixe, mais sans suivi en temps réel non plus.
Pour poser une question portant sur les dernières semaines et obtenir la réponse dans un tableur ou un rapport programmé, c'est la forme la plus pratique et elle nécessite beaucoup moins de machines qu'une pile de bûches.
Mon journal contient des champs que vous n'avez pas listés. Sont-ils manquants ?
Non. Pour les formats JSON et apt, tout ce qui ne correspond pas à une colonne nommée est conservé dans un données Au lieu d'être ignorées, les colonnes sont conservées ; ainsi, un identifiant de requête, un locataire ou une durée enregistrée restent interrogeables. Les objets imbriqués sont convertis en noms séparés par des points lors de leur importation.
Une ligne qui ne correspond pas du tout au format défini est également conservée — en tant que ligne brute avec une explication, de sorte qu'un changement de format inattendu apparaisse comme quelque chose de visible plutôt que comme un trou silencieux dans vos chiffres.
Qu’en est-il de l’historique des paquets Red Hat, Fedora ou Alpine ?
Il n'existe aucun profil pour dnf, miam ou apk Aujourd'hui, il n'existe aucun équivalent pour Windows. Les deux formats de paquets disponibles sont le journal de dpkg et l'historique d'apt, compatibles avec Debian et Ubuntu.
Les journaux de votre application restent inchangés : les formats JSON et texte sont compatibles avec tous les systèmes de distribution. En cas de doute sur le format d'un de vos dossiers, le test de connexion vous indique ce qu'il a trouvé avant toute modification.
Votre application l'a déjà noté.
Connectez un dossier de logs et exécutez votre première requête en quelques minutes. Offre gratuite, sans carte de crédit, sans modification de votre façon de consigner les données.
Lecture seule · Connexion sortante uniquement · Vos journaux restent sur votre serveur












