Kubernetes에서 실행되는 마이크로서비스 애플리케이션을 모니터링할 때 알아야 할 4가지 주요 지표

현대적인 사무실 건물에서 관리자가 프로젝트 계획을 발표하는 것을 지켜보는 세 명의 팀원

소프트웨어 개발에서 마이크로서비스 애플리케이션이 Kubernetes에서 작동하는 방식을 이해하는 것은 중요합니다. 이 문서에서는 Kubernetes에서 마이크로서비스 애플리케이션을 관찰하는 것이 중요한 이유와 관찰 가능성 전략의 일환으로 집중해야 하는 몇 가지 지표에 대해 설명합니다.

Kubernetes에서 실행되는 마이크로서비스 상황을 관찰해야 하는 이유와 모니터링해야 하는 Kubernetes 지표는 무엇인가요?

Kubernetes 클러스터에 배포된 마이크로서비스 아키텍처를 활용하는 대규모 전자 상거래 플랫폼을 생각해 보세요. 재고 관리, 주문 처리 및 결제 처리와 같은 특정 기능을 담당하는 각 마이크로서비스는 독립적으로 작동하며 비즈니스/서비스 성장에 중요한 API를 통해 다른 마이크로서비스와 통신합니다.

이처럼 복잡한 환경에서는 원활한 운영을 보장하고 사전에 문제를 감지하는 것이 필수적이며 어려울 수 있습니다.

이 시나리오의 관측 가능성은 이러한 마이크로서비스와 Kubernetes 애플리케이션의 성능, 가용성 및 상호 종속성에 대한 실시간 통찰력을 제공하는 데 도움이 될 수 있습니다.

관측 가능성은 다음과 같은 여러 가지 이유로 필수적입니다.

  • 문제 조기 감지: 마이크로서비스는 분산되고 상호 연결되어 있어 문제가 발생했을 때 식별하기가 어렵습니다. 상황을 관찰하면 문제를 조기에 감지하여 가동 중지 시간과 잠재적인 서비스 중단을 최소화할 수 있습니다. Instana를 사용하면 1초의 세분성을 얻을 수 있으므로 다른 솔루션보다 빠르게 문제점을 발견할 수 있습니다.
  • 안정성: 마이크로서비스 상황을 모니터링하면 애플리케이션의 안정성을 유지할 수 있습니다. 응답 시간, 오류율, 리소스 사용률과 같은 지표를 추적함으로써 사용자에게 영향을 미치기 전에 성능 문제를 사전에 해결할 수 있습니다.
  • 효율적인 확장: Kubernetes를 사용하면 수요에 따라 마이크로서비스를 동적으로 확장할 수 있습니다. 고객의 상황을 관찰하면 최적의 성능과 리소스 활용을 보장하기 위해 서비스를 확장하는 시기와 방법에 대해 정보에 입각한 결정을 내리는 데 도움이 됩니다.
  • SLA 충족: 많은 조직에서는 예상 서비스 가용성 및 성능 수준을 정의하는 서비스 수준 계약(SLA)을 체결합니다. 마이크로서비스 건강 상태를 관찰하면 서비스가 원활하게 실행되고 성능 목표를 충족하는지 확인하여 이러한 SLA를 충족하는 데 도움이 됩니다.

조직은 Kubernetes 상황을 모니터링하여 문제를 사전에 식별 및 해결하고 리소스 사용을 최적화하며 최적의 클러스터 성능을 유지할 수 있습니다.

측정할 수 있는 주요 지표는 다음과 같습니다.

클러스터 가용성:

Kubernetes 클러스터 가용성 지표를 모니터링하면 클러스터가 실행되고 건강한지 확인하는 데 도움이 됩니다. 클러스터 가동 시간 및 파드 상태와 같은 지표는 클러스터의 전반적인 상황에 대한 인사이트를 제공합니다. 가장 높고 중요한 계층에 있으며 환경에서 일어나는 일에 대한 완전한 가시성을 제공할 수 있습니다.

파드 지표:

파드 재시작, 파드 준비 상태, 파드 퇴거와 같은 파드 상황 지표를 모니터링하면 개별 파드의 문제를 파악하고 애플리케이션이 원활하게 실행되고 있는지 확인할 수 있습니다. 조직은 파드 상황을 모니터링하여 문제를 신속하게 감지하고 문제를 해결함으로써 다운타임을 최소화하고 고가용성을 보장할 수 있습니다.

서비스 가용성:

서비스 가동 시간, 서비스 응답 시간, 서비스 오류율과 같은 서비스 가용성 지표를 모니터링하면 Kubernetes 서비스의 가용성과 사용자 응답성을 보장하는 데 도움이 됩니다. 서비스 가용성을 모니터링함으로써 조직은 서비스 장애 또는 성능 저하를 감지하고 사전 조치를 취하여 서비스 가용성을 복원하고 사용자에게 미치는 영향을 최소화할 수 있습니다.

노드 상태:

이 지표는 Kubernetes 클러스터 지표의 맥락에서 노드의 상태를 보여주는 지표입니다. 다른 중요한 지표는 다음과 같습니다.

  • kube_node_status_capacity: 이 지표는 노드의 다양한 리소스에 대한 사용 가능한 용량을 나타내며, 사용 가능한 리소스의 양을 파악하는 데 도움이 됩니다.
  • kubelet_running_container_count: 현재 노드에서 실행 중인 컨테이너의 수를 알려줍니다.
  • kubelet_runtime_operations_latency_microseconds: 이 지표는 각 작업이 완료되는 데 걸리는 시간을 측정하며, 유형별로 분류되고 마이크로초 단위로 측정됩니다.

수치로 보는 관측 가능성

IBM Instana는 Kubernetes에서 실행되는 마이크로서비스 애플리케이션을 모니터링할 수 있습니다.

IBM Instana는 성과 데이터를 상황에 맞게 조정하는 완전 자동화된 실시간 관찰 플랫폼입니다. 이를 통해 마이크로서비스 애플리케이션에서 1초 단위로 문제나 트랜잭션을 감지할 수 있습니다. 또한 Kubernetes에서 마이크로서비스를 실행할 때 문제가 있는 경우 100% 추적이 가능하므로 문제를 쉽게 해결할 수 있습니다

Kubernetes 관찰을 시작하기 위한 리소스

완전한 가시성을 확보하고 문제를 보다 능동적으로 해결하고 싶다면, 모든 수준의 Kubernetes 사용을 위해 설계된 포괄적인 솔루션인 Instana의 새로운 자체 호스팅 표준 에디션을 고려해 보세요. 초보자이든 고급 Kubernetes 사용자이든 Instana Standard Edition 모니터링이 가능합니다. 지금 무료 계정에 가입하여 kubernetes 클러스터 모니터링을 시작하거나 아래의 단계별 가이드를 확인할 수 있습니다.

 

작성자

Irfad K P

Software Developer at IBM

Ajuma Bella Salifu

Product Marketing Manager

Instana

관련 솔루션
Kubernetes 모니터링 - IBM Instana

전체 Kubernetes 클러스터를 자동으로 관찰, 모니터링 및 수정하여 애플리케이션 성능 및 가용성을 향상합니다.

IBM Instana 살펴보기
클라우드 컨설팅 서비스 

IBM 클라우드 서비스와 컨설팅으로 비즈니스의 민첩성과 성장을 가속화하고 모든 플랫폼에서 애플리케이션을 지속적으로 현대화하세요.

클라우드 컨설팅 서비스 살펴보기
컨테이너 솔루션

보안, 오픈 소스 혁신, 신속한 배포를 지원하는 컨테이너 솔루션으로 컨테이너화된 워크로드를 실행하고 확장하세요.

컨테이너 살펴보기
다음 단계 안내

IBM Instana Observability는 모든 Kubernetes 배포에 대해 노드와 파드(Pod)에서 컨테이너와 애플리케이션에 이르기까지 전체 Kubernetes 애플리케이션 스택을 모니터링하도록 설계된 자동화된 Kubernetes 관측 가능성 및 APM 기능을 제공합니다.

IBM Instana Observability 살펴보기 Instana 활용하기