모니터링 과정에서 각각의 역할
- 그라파나:
- 핵심 측정값을 정리해서 대시보드를 구성하도록 설정
- 측정값 데이터는 각 그래프마다 프로메테우스에 PromQL 쿼리로 질의한 결과
- 프로메테우스:
- 도커 엔진 및 애플리케이션 컨테이너로부터 측정값을 수집하도록 설정
- 스케일링에 의해 컨테이너 수나 도커 서버 수가 변동돼도 문제없이 측정값 수집이 가능
- 애플리케이션 컨테이너:
- 애플리케이션에는 생성한 측정값을 노출하도록 엔드포인트를 생성
- 이 측정값은 런타임 수준의 성능 정보와 애플리케이션 내부 상황에 대한 사용자 정의 측정값
- 도커 엔진:
- 외부로 측정값을 노출시키도록 설정
- 이를 통해 컨테이너 및 호스트 컴퓨터에 대한 인프라스트럭처 정보를 조회
운영환경에 적용시 고려사항
- 가용한 디스크 용량, CPU, 메모리, 네트워크 자원 등 모든 서버의 상황을 보여 주는 인프라스트럭처 대시보드
- 애플리케이션을 구성하는 각 컴포넌트도 자신만의 추가적인 정보를 모니터링하는 대시보드
- ex) 웹 애플리케이션의 페이지별로 혹은 API의 엔드포인트별로 응답시간을 분류
- 가장 중요한 것은 애플리케이션의 전체 상황을 조망하는 대시보드, 한눈에 이상 상황을 파악하고 사태가 악화되기 전에 과감한 조치를 취할 수 있다.