너의 로그가 보여🎶 새로운 로그 관리 솔루션 Grafana Loki
운영하고 계신 서버에서 생산되는 로그를 어떻게 관리하고 계신가요? 많은 분들이 각 서버의 Filesystem 에 적재하고 주기적으로 오래된 로그를 삭제하거나 컨테이너 환경으로 서비스를 하고 계실 경우 ELK stack 이나 hadoop 과 같은 솔루션을 사용해 로그를 관리하실것으로 생각됩니다. Filesystem 은 로그 파일 생성 주기 및 삭제만 잘 신경써서 적재하면 되고 서버에 접속만 한다면 로그를 보는게 쉽지만, 서버 대수가 많거나 로그가 컨테이너 종료시 소멸할 수 있는 컨테이너 환경, 대량의 로그가 쌓이는 구조라면 로그를 탐색하기 쉽지 않고 자칫 유실이나 운영중인 서버에 장애를 발생시킬 수 있는 포인트가 됩니다. ELK stack 혹은 hadoop 과 같은 솔루션의 경우 다양한 서버 및 대량의 로그를 통합적으로 관리할 수 있는 장점이 있으나, 구축 및 파이프라인 설계에 비용이 들고 Filesystem 처럼 쉽고 실시간으로 로그를 볼 수 있게 만들기가 쉽지 않습니다. 오늘 소개해드릴 Grafana Loki 는 위에서 언급해드린 고민들을 해결하기 위해 Grafana 에서 야심차게 만든 로그 관리 솔루션입니다. Promtail 이라는 agent 를 통해 쉽고 간단하게 로그 데이터를 전송할 수 있는 구조이고, 다양한 storage type 을 지원하여 각 사용자의 환경에 맞게 storage 를 선택할 수 있습니다. 또한 Grafana 와 연동하여 실시간으로 log tailing 기능을 사용할 수 있어 Filesystem 못지 않은 편리함을 느끼실 수 있습니다. Loki 에서 인상깊었던 부분은 상황에 따라 성능을 높일 수 있도록 업그레이드를 할 수 있는 구조라는 점입니다. read 트래픽이 많을 경우 write 기능에 영향이 가지 않게 따로 노드를 분리하는게 가능하고, 쿼리나 인덱스 성능을 높이고 싶을 경우 캐시레이어를 추가로 둘 수 있습니다. 로그 관리와 관련된 솔루션을 찾는 중이라면 특히 컨테이너 환경에서 운영중인 서비스라면 Loki 를 한번 검토해보시면 좋겠습니다.