본문 바로가기

모니터링

(2)
로그 수집 - Service Discovery에 관하여(filebeat autodiscovery) 보통 filebeat를 활용해서 kubernetes 클러스터에 배포된 application의 로그를 읽으려고하면 filebeat을 daemonset으로 띄우고 난 뒤 /var/log/containers에 있는 로그를 수집한다. ( 주의해야한다. filebeat에서 input을 docker 혹은 container로 해야 데이터를 수집한다. 그냥 input을 log(file인가?)로 하고 해당 경로를 하드코딩해서 넣거나 와일드카드로 넣어도 작동하지가 않는다. 그 파일이 링크로 연결되어있는 파일이기 때문인 것 같다. ) 그런데 이렇게 설정해두면 실제 운영환경에서 문제가 생긴다. 1. container는 죽었다 살았다 하면서 계속 그 유니크 값이 달라지는데, 그렇기 때문에 하드 코딩을해서 input에 넣을 수가..
APM 수집 - Service Discovery에 관하여(metricbeat autodiscovery) 모니터링 업무 중 Kubernetes 환경에서 동작하는 application의 APM을 수집하기 위해 고민했던 포인트와 해결 방법을 기록한다. 일단, VM 환경과 Kubernetes 환경이 어떻게 다른지부터 이해하고 가야한다. 사실 방금 위 문장을 읽었을때 이상하다고 느꼈다면, 어느 정도 이해도가 있다고 판단되기 때문에 이 부분은 넘어가도 될 것 같긴하다. 먼저 VM 환경에서 생각해보자. (엄밀히 말하면 오픈스택 환경이라고 표현하는 것이 맞겠다.) APM을 수집하기 위해서 prometheus에서 제공하는 라이브러리를 각 application에 import하고, /metrics라는 API를 열었다. 그 다음으로는 주기적으로 이를 scraping하는 기능이 필요한데, 사실 자체 구축하는 것도 좋긴 하지만 해..