Chapitre 11. Activation de la journalisation JSON
Vous pouvez configurer l'API Log Forwarding pour qu'elle analyse les chaînes JSON en un objet structuré.
11.1. Analyse des journaux JSON
Les journaux, y compris les journaux JSON, sont généralement représentés sous la forme d'une chaîne de caractères dans le champ message
. Il est donc difficile pour les utilisateurs d'interroger des champs spécifiques à l'intérieur d'un document JSON. L'API Log Forwarding d'OpenShift Logging vous permet d'analyser les logs JSON en un objet structuré et de les transmettre à Elasticsearch, géré par OpenShift Logging, ou à tout autre système tiers pris en charge par l'API Log Forwarding.
Pour illustrer ce fonctionnement, supposons que vous ayez l'entrée de journal JSON structurée suivante.
Exemple d'entrée de journal JSON structurée
{"level":"info","name":"fred","home":"bedrock"}
Normalement, la ressource personnalisée (CR) ClusterLogForwarder
transmet cette entrée de journal dans le champ message
. Le champ message
contient l'équivalent de la chaîne de caractères JSON de l'entrée de journal JSON, comme le montre l'exemple suivant.
Exemple message
champ
{"message":"{\"level\":\"info\",\"name\":\"fred\",\"home\":\"bedrock\"", "more fields..."}
Pour activer l'analyse du journal JSON, vous ajoutez parse: json
à un pipeline dans le CR ClusterLogForwarder
, comme le montre l'exemple suivant.
Exemple d'extrait montrant parse: json
pipelines: - inputRefs: [ application ] outputRefs: myFluentd parse: json
Lorsque vous activez l'analyse des journaux JSON à l'aide de parse: json
, le CR copie l'entrée de journal structurée en JSON dans un champ structured
, comme le montre l'exemple suivant. Cela ne modifie pas le champ original message
.
Exemple structured
contenant l'entrée de journal JSON structurée
{"structured": { "level": "info", "name": "fred", "home": "bedrock" }, "more fields..."}
Si l'entrée du journal ne contient pas de JSON structuré valide, le champ structured
sera absent.
Pour activer l'analyse des journaux JSON pour des plates-formes de journalisation spécifiques, voir Transférer les journaux vers des systèmes tiers.