elastic / elastic/ecs-logging-java

Write SequenceNumber in jboss-logmanager-ecs-formatter

オープン
#154 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
agent-java community triage
主要言語
Java
スター
148
フォーク
82
平均マージ
2日 17時間
マージ済み PR(30日)
3

説明

Hi,

because the "@timestamp" fields in ECS logging only support millisecond-precision, a sequence number is needed to keep the order of events. Adding this sequence number in FileBeat does not seem possible - only workarounds exist which include disabling multithreading (see https://discuss.elastic.co/t/sequence-number-for-ecs-events-received-by-tcp/291348 ).

Thus, the ECS formatter should add the sequence number ( https://www.elastic.co/guide/en/ecs/current/ecs-event.html#field-event-sequence ).

In case of the `co.elastic.logging.jboss.logmanager.EcsFormatter` this should be trivial as the `ExtLogRecord` from which the JSON is built already includes a method `getSequenceNumber`.

Adding the sequence number would solve a range of other issues regarding to log event order.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

co.elastic.logging.jboss.logmanager.EcsFormatter から始めて、ExtLogRecord がどのように JSON に変換されるかを追跡します。ECS の event.sequence フィールドの定義と、issue では名前が挙げられていない既存の formatter のテストカバレッジを確認します。formatter の出力に record のシーケンス番号が ECS イベント構造に含まれれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
observability-sre
issue の種類
機能追加
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。