0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Logstashでログ欠損する(i-node問題)

Last updated at Posted at 2022-03-30

今回起きた事象

logstahで取り込み対象としているlogが欠損している事象が発生していた。
パターンとしては、ログが全く取り込みされない場合やちぎれてしまう場合等
生log

・パターン1
{"log":"test1\n","stream":"stderr","time":"2022-02-14T11:47:48.5369218Z"}
・パターン2
{"log":"test1\n","stream":"stderr","time":"2022-02-14T11:47:48.5369218Z"}

取り込み後

・パターン1(全く取り込みされない)
N/A
・パターン2(ちぎれる)
022-02-14T11:47:48.5369218Z"}

結論

上記の事象が発生していた原因は、i-nodeが再利用されていることが原因だった。
詳細については、以下に記載していく。

Logstashのアーキテクチャ

今回欠損している箇所は下記のInput Pluginでログが欠損していることが分かった。
logstash-instance-input-filter-output-plugins.png

引用
https://www.elastic.co/jp/blog/a-practical-introduction-to-logstash

さらにInput Plguinは、追跡しているファイルをi-nodeから判別しておりどこまで取り込んだかsincedbで管理している。
logstash-input-plguin.drawio (1).png

i-nodeの再利用問題

ファイルシステムの仕様により、ファイルの削除から作成までの間隔が短いとi-nodeが再利用される場合がある。
sincedbにはi-node単位でどこまで処理しているかが保存されているため、inodeが重複してしまうと過去に処理した所まで無視されてしまう。
短い周期でlog fileが作成/削除を繰り返す環境の場合、sincedb_clean_afterをチューニングしてログ欠損しないような工夫が必要になる。
logstash-input-plguin.drawio (2).png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?