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 3 years have passed since last update.

fluent-bitで取得したログに、ログの取得時間を付与する

Last updated at Posted at 2020-10-07

ドキュメントを読んでこうすればできるじゃんって気づくまで少し時間がかかったので、自分と同じようなことをしたい人の時間を救いたい。

[STREAM_TASK]
    Name nginx
    Exec CREATE STREAM something AS SELECT *, NOW() FROM TAG:'*-firelens-*' WHERE container_name = 'aaaaaaaa';

こうすると、一応fluent-bitが取得するログに現在時間が含まれるのだが、"NOW()":"2020-10-06 10:47:23"のようにkeyがNOW()になってしまう。

これだとなんか変だし、S3にあるログファイルをAthenaで検索するためにカラムを追加しようにもNOW()というカラムは作れないので、実用的にも問題がある。

ということで、keyの名前を変える方法を調べた。

[FILTER]
    Name modify
    Match *
    Rename NOW() time

これでできた。

[STREAM_TASK]
    Name nginx
    Exec CREATE STREAM something AS SELECT *, NOW() AS time FROM TAG:'*-firelens-*' WHERE container_name = 'aaaaaaaa';

のように、NOW() AS timeとかでできるかと思ったのですが、できませんでしたので、このようにやるに至りました。

"time":"2020-10-07 06:32:58"

これでAthenaで検索もできます。

以上。

0
0
2

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?