Observability/Fluent-Bit
[Fluent-Bit] Parser Timezone 적용
dev_ss
2024. 9. 11. 19:11
Fluent-bit에서 Parser를 이용할 때, 이는 기본적으로 UTC를 기준으로 Timezone을 사용한다.
https://docs.fluentbit.io/manual/v/dev-2.2/pipeline/parsers/configuring-parser
그렇기에 로그를 남기는 시간이 UTC가 아니라면, 시간에 대하여 오차가 발생하게 된다.
해당 사례의 예시를 들어본다면,
2024-09-11 10:59:02.920527123이라는 KST(Asia/Seoul) Timezone의 로그가 있고, 이를 Fluent-Bit에서 ES로 전송할 때,
10시 59분이라는 시간은 UTC로 취급되어 ES에 저장된 데이터를 Kibana로 확인할 때, Browser Time(KST)으로 설정이 되어 있다면, 9시간이 추가된 19시 59분으로 나올 것이다.
Timezone의 차이로 9시간의 오차가 발생하는 것이다.
이와 관련된 옵션이 위의 Time_Offset이다.
UTC 기준으로 변경되는 부분을 -와 +로 추가하면 된다.
로그에 기록된 시간이 Asia/Seoul이라면 아래와 같이 Fluent-Bit에서 사용하는 Config의 옵션 중 Parser 부분에 추가만 해주면 된다.
# parser.conf 예제
[PARSER]
Name parser
Format Regex
Regex /^(?<time>[0-9:-]* [^ ]*) (?<type>[\Sa-zA-Z]*[^ ]) (?<trace>[\S]*[^ ]) (?<log>[^~]*)?$/
Time_Key time
Time_Format %Y-%m-%d %H:%M:%S.%L
Time_Keep On
## 추가된 부분 ##
Time_Offset +0900
반응형