여기서는 GKE 가 모니터링 기능을 위해 사용하고 있는 통합 플랫폼인 Google Cloud's Operations Suite 의 Cloud Monitoring 에 대해서 알아보자. 

 

Cloud Monitoring 은 다음과 같은 기능을 지원한다:

  • Kubernetes 모니터링 
  • 로깅 통합
  • 사용자 정의 대시보드 작성
  • 메트릭을 기반으로 알람 정책
  • 프로메테우스와 통합가능:
    • 프로메테우스는 주로 개발자가 드러내고 싶은 어플리케이션 custom metric 을 보기 위해서 사용한다.
    • 프로메테우스와 통합하기 위해서 프로메테우스에서 수집하는 지표들을 Cloud Monitoring API 를 통해서 Cloud Monitoring 으로 보내야한다.

 

Kubernetes 에서의 모니터링은 크게 클러스터 부분과 파드 부분으로 나뉜다:

  • 클러스터 모니터링:
    • 클러스터 모니터링은 Node, kube-apiserver, etcd, kube-controller-manager 와 같은 클러스터 수준 구성 요소를 포함한다.
    • Node 모니터링은 노드의 CPU, Memory, Disk 와 관련된 메트릭을 볼 수 있다.
    • etcd 모니터링은 etcd 데이터베이스의 읽기/쓰기 지연 시간, 리더 변경 빈도, 데이터베이스 크기 등의 메트릭을 볼 수 있따.
    • Control Plane 모니터링 각 구성요소의 성능과 상태에 대한 것들을 볼 수 있다.
  • 파드 모니터링:
    • 파드 모니터링은 시스템 메트릭, 컨테이너 특정 메트릭, 애플리케이션 특정 메트릭로 나뉜다.
    • 시스템 메트릭은 파드가 실행중인 노드의 리소스 지표들을 말한다. (e.g CPU, Memory, Disk 등)
    • 컨테이너 메트릭은 파드 내 실행되고 있는 컨테이너의 메트릭 들을 말한다. (e.g CPU, Memory, 컨테이너 재시작 수, 컨테이너 프로세스 수, 네트워크 입출력 등)
    • 어플리케이션 메트릭은 개발자가 어플리케이션에서 특정 메트릭이 드러나도록 하는 지표들을 말한다.

 

일반적인 어플리케이션의 모니터링과 다양한 어플리케이션이 돌아가고 있는 쿠버네티스 환경에서의 모니터링은 다르다.

 

쿠버네티스 환경에서는 리소스들을 구분해서 모니터링하기 위해서 'label' 을 사용한다. Google Cloud Monitoring 을 포함한 쿠버네티스 모니터링 솔루션은 다 이런 기능을 가지고 있다.

+ Recent posts