lundi 26 juillet 2021

Configuring Elastic Common Schema (ECS) & OpenTelemetry for Spring Boot Application


Introduction

Le Elastic Common Schema (ECS) est un standard ouvert qui définit un ensemble commun de champs pour être utilisés lors de l’ingestion de données dans Elasticsearch1. Il a été conçu pour aider les utilisateurs à normaliser leurs données afin de faciliter leur analyse1.


Problème

Auparavant, il y avait deux standards séparés pour la structuration des données : le Elastic Common Schema (ECS) et les Conventions Sémantiques OpenTelemetry. Cela pouvait créer des problèmes de compatibilité et rendre plus difficile l’analyse des données provenant de différentes sources1.

Solution

Elastic et OpenTelemetry ont annoncé une convergence entre le Elastic Common Schema (ECS) et les Conventions Sémantiques OpenTelemetry1. L’objectif est d’atteindre une convergence de l’ECS et des Conventions Sémantiques OpenTelemetry en un seul schéma ouvert maintenu par OpenTelemetry1. Cela signifie que les Conventions Sémantiques OpenTelemetry sont véritablement un successeur du Elastic Common Schema1.

Pour utiliser le ECS dans une application Java Spring, vous pouvez configurer Logback, le logger par défaut pour Spring, pour utiliser le logging Java ECS2. Les logs générés de cette manière seront structurés en tant qu’objets JSON et utiliseront des noms de champs conformes à l’ECS2.

Discussion

La convergence du ECS et des Conventions Sémantiques OpenTelemetry est une étape importante pour améliorer la convergence de l’observabilité et de la sécurité1. Cela apporte une grande valeur à la communauté open source car l’ECS a des années de succès prouvés dans les schémas de logs, de métriques, de traces et d’événements de sécurité, offrant une grande couverture des domaines problématiques communs1.

De plus, la configuration du logging Java ECS dans une application Spring Boot est relativement simple et peut aider à améliorer l’observabilité et la traçabilité de l’application2.

 https://www.elastic.co/guide/en/ecs-logging/java/current/setup.html


mardi 20 juillet 2021