개요회사에서 서비스가 본격적으로 시작된 후, 서버에서 남기는 로그들이나 오류 트레이스를 확인하는 경우가 많아졌다. 별다른 모니터링 시스템이 구축되지 않았기에 docker 컨테이너에 직접 접근해서 로그를 확인하였지만, 로그를 확인하기 위해 docker 컨테이너에 계속 접근하는 방식은 불편하였고 서버가 이중화되어있었기에 두 서버에 모두 접속하여 확인하여야했다. Promtail & Loki 를 이용하여 이중화 된 서버의 로그를 수집하고 Grafana 대시보드 한 곳에서 모니터링 할 수 있는 시스템을 구축하였고, 서버 운영에서 불편한 부분을 해소할 수 있었다. 지금부터 함께 시스템을 구성해보자! Promtail & Loki 스택을 선택한 이유로그 모니터링 시스템을 구축하기 위한 대표적인 스택으로는 ELK 스택..
개요이전 글을 통해 서버와 Nginx, DB의 메트릭을 모두 수집하고 대시보드로 시각화하여 개발자가 모니터링 할 수 있도록 시스템을 구성하였다. 하지만 장애를 대비하기 위해서 대시보드만 볼 수는 없는 노릇이다. 컴포넌트의 이상이 있거나 다운이 될 경우, 슬랙으로 알림이 오도록 시스템을 보완해보자. AlertManager란AlertManager를 추가하여 알림 시스템을 구성할 것이다. 우리는 프로메테우스를 통해 특정 상황에 대한 알림이 발생하도록 규칙을 설정할 것이다. 프로메테우스가 메트릭을 수집하고 규칙을 평가해서 알림을 발생시킨다면, AlertManager는 해당 규칙을 누구에게 어떻게 보낼지 라우팅한다. 슬랙 웹훅 설정슬랙의 webhook은 해당 블로그 글이 정리가 잘 되어있어서 참고하였다. 슬랙..
개요이전 글에서는 Prometheus & Grafana를 통해서 Spring 서버 어플리케이션의 메트릭을 수집하고 대시보드를 통해 조회할 수 있도록 시스템을 구성하였다. 이제 더 나아가 DB와 프록시 서버의 메트릭을 수집하고 모니터링 할 수 있도록 추가 구성해보자 Exporter란Exporter에 대해서 간단하게 알아보자.Exporter는 프로메테우스가 직접 메트릭을 수집할 수 없는 시스템의 메트릭을 수집하여 프로메테우스가 읽을 수 있는 형식으로 변환하고 노출해주는 에이전트이다.각 시스템에서는 고유하게 메트릭을 내려주는데, 시스템에 맞는 Exporter가 메트릭을 조회하고 프로메테우스에 형식에 맞게 변환하여 엔드포인트로 제공해준다. 프로메테우스에서는 Exporter에서 제공하는 엔드포인트를 통해 알맞게..