실제 운영단계의 쿠버네티스 클러스터를 계획하고 있다면, 모니터링 시스템은 반드시 구축해야 하며,
어떠한 상황에서 어떠한 모니터링 데이터를 확인 해야 하는지를 알고 있어야 합니다.
예를 들어, 다음과 같은 상황에서 CPU나 메모리 같은 기초적인 모니터링 데이터를 확인 하는것부터
트러블 슈팅을 시작 할수 있을 것입니다.
- 사용자 요청이 갑작스럽게 몰려서 부하가 발생할 때
- 인프라 또는 애플리케이션에 장애가 발생했을 때
- 애플리케이션의 일반적인 리소스 사용 패턴을 파악 할 때
- 그외의 다양한 상황들
이러한 상황들에서 우리는 어떠한 종류의 메트릭을 확인할수 있을까요?
-디스크 사용량 / CPU 사용량 / 메모리 사용량
-네트워크 I/O
-초당 요청수
-애플리케이션 자체에 의존적인 메트릭 ( 현재 서버에 접속중인 사용자 수, 언어에 종속적인 메트릭 )
최근 모니터링 시스템은 여러 오픈소스 도구를 조합해서 구축하거나 ( 자회사 솔루션 개발)
클라우드 플랫폼 또는 상용 솔루션을 구입해서 사용하는것이 일반적입니다.
쿠버네티스에서 가장 많이 사용되는 오픈 소스 모니터링 데이터베이스는 단연 프로메테우스(Prometheus) 일 것입니다.
[프로메테우스]
프로메테우스는 성능, 사용성 및 다른 도구와의 호환성 등 여러 측면에서 우수하다고 평가되는 시계열 데이터 베이스입니다.
모니터링 할수 있는 메트릭은 크게 다음과 같이 3단계로 분류할 수 있습니다.
- 인프라 수준의 메트릭
- node_exporter ( 호스트에 마운트 되어있는 디스크 사용량, 호스트 NIC의 패킷 전송량, 호스트에서 사용중인 파일 디스크립터의 개수 등)
- 컨테이너 수준의 메트릭
- CAdvisor 컨테이너별 CPU와 메모리 사용량, 컨테이너 프로세스의 상태, 컨테이너에 할당된 리소스 할당량
- 포드의 상태
- 애플리케이션 수준의 메트릭
- 인프라와 컨테이너를 제외한 애플리케이션 레벨에서 정의하는 모든 메트릭을 의미합니다.
'컨테이너 > Prometheus' 카테고리의 다른 글
[Prometheus] helm으로 프로메테우스 스택 설치하기 (0) | 2023.06.10 |
---|---|
[프로메테우스](4) CPU / 메모리 사용률 계산하기 (0) | 2020.12.29 |
[프로메테우스] (3) CAdvisor란? (0) | 2020.12.16 |
[프로메테우스] (1) 프로메테우스 설치 (0) | 2020.12.11 |