본문 바로가기

Data Engineering/Fluentd3

Fluent Bit에서 특정 패턴 Exclude 하기 Grep Filter Fluent bit에서 제공하는 필터 중 하나. Grep Filter를 이용해서 특정 패턴의 데이터를 Select 하거나 Exclude 할 수 있다. Grep Filter는 아래와 같은 구조를 기본으로 사용 가능하다. [FILTER] Name grep Match #tag Regex or Exclude # Pattern 지정 Regex: 지정하는 패턴을 Select 함. 해당 패턴의 데이터만 추출 됨 Exclude: 지정하는 패턴을 Exclude 함. 해당 패턴의 데이터들은 제거됨. 필수로 지정해야 하는 파라미터 외에도 한개의 Optional 파라미터를 더 지원한다. Logical_Op: 논리 연산자 지정(AND, OR, legacy). Default는 legacy이며, includi.. 2023. 7. 23.
Fluent Bit으로 쿠버네티스 컨테이너의 로그파일에서 로그 수집 Why Fluent Bit? Fluent bit은 로그 수집기인 Fluentd의 경량화된 버전이다. 각 컨테이너의 로그를 수집하여 전달하는 Forwarder의 역할만 수행할 것이고, 사이드카 컨테이너로 구성 예정이므로 메인컨테이너의 성능에 영향을 적게 하기 위해 Fluentd 보다 리소스를 작게 필요로 하는 Fluent Bit을 사용하려고 한다. (Fluent bit&Fluent Bit: https://docs.fluentbit.io/manual/about/fluentd-and-fluent-bit) EKS에서 구동중인 각 Deployment에는 N개의 파드가 작업을 분산하여 실행한다. 각각의 파드에서 발생하는 로그를 모으기 위해서, 각 파드의 사이드카 컨테이너로써 Fluent Bit을 배치하여, 메인 컨.. 2022. 11. 27.
Fluent-bit에서 multiline parser 사용 현재는 log파일을 input으로 하여 로그 데이터를 수집한다. 이때, input을 tail로 하고 파일에서 로그를 읽어오다 보니, 하나의 로그가 여러줄로 이루어져 있는경우에 각 줄이 다른 로그로 인식되어 전달 된다. 그래서 아래와 같은 예시처럼 가독성이 매우 떨어지는 문제가 발생했다. #로그파일 [INFO ] 2022-10-25 14:33:10.127 [main] sqltiming - UPDATE t_request SET confirm_yn = 'Y', response_code = '1200', response_message = 'Success' WHERE request_id = 'abcde' {executed in 3 msec} #cloudwatch log { "log": "[INFO ] 2022-1.. 2022. 10. 30.