fluentd
-
fluentd를 이용하여 S3로 로그전송시 불필요한 Get Request를 없애는 방법fluentd 2020. 7. 23. 17:27
Fluentd를 이용하여 S3로 로그를 전송할 때에 다음과 같은 설정을 사용하면 불필요한 Get Request가 발생하게 됩니다. check_object true (default true) s3_object_key_format 에서 %{index}를 사용 상기 설정으로 S3에 저장되는 로그파일은 로그파일명_0.txt, 로그파일명_1.txt 형식으로 번호가 자동적으로 부여되면서 저장되게 됩니다. 제 경우에는 60초마다 로그를 전송하는데 1시간에 60개의 로그파일이 저장되고 24시간이면 1440개의 로그파일이 저장됩니다. 마찬가지로 로그파일명_0.txt 부터 로그파일명_1439.txt 까지 생기게 되죠. 잠시 fluentd가 로그파일을 중복되지 않고 전송하는 흐름을 살펴보면 S3에 로그파일명_0.txt 이 ..
-
fluentd을 이용하여 s3로 로그전송시 전송지연 발생fluentd 2020. 5. 14. 20:18
fluentd가 flush하는 구조를 보면 다음 그림과 같이 buffer file에 tag값과 time 키값으로 chunk가 쌓이게 되고 flush_interval 에 설정된 시간이 지나거나 buffer_chunk_limit가 초과하게 되면 enqueue가 발생하게 됩니다. buffer chunk가 flush되는 조건은 다음과 같습니다. buffer chunk가 flush되는 조건 flush_interval 설정값에 의하여 조건이 바뀌게 됩니다. flush_interval를 설정하였을 때의 조건 buffer chunk 사이즈가 chunk_limit_size * chunk_full_threshold 에 도달했을 경우 buffer chunk가 생성되고 나서 flush_interval에 지정된 시간이 경과하였..
-
aws spot instance 서버로그 관리(feat. fluentd)fluentd 2020. 4. 27. 22:13
Spot인스턴스를 사용하면 인스턴스 요금을 최대한 줄일 수 있습니다만 spot인스턴스 사용할 수 있는 용량이 적어지거나 설정한 요금보다 비싸지게 되면 spot인스턴스가 Stop되거나 terminate되는 경우가 있습니다. terminate될 경우에 spot인스턴스내에 있던 로그를 영영 복구할 수 없게 되죠. 그래서 로그를 어떻게 하면 실시간으로 한곳에 모으거나 spot인스턴스가 terminate되는 신호를 trigger하여 로그를 Flush할 수 없을까하는 방법을 찾던 중에 fluentd를 찾게 되었습니다. fluentd란? 그럼 fluentd는 무엇일까 간단히 얘기하자면 fluentd는 로그를 수집하는 도구입니다. 그리고 Opensource입니다. https://www.fluentd.org/ Fluen..