다음을 통해 공유


Azure Monitor의 Kubernetes 모니터링

Azure는 Kubernetes 인프라의 다양한 계층 및 종속된 애플리케이션의 상태 및 성능을 모니터링하기 위해 Azure Monitor 를 기반으로 하는 전체 서비스 집합을 제공합니다. 이러한 서비스는 서로 함께 작동하여 AKS(Azure Kubernetes Service) 또는 AWSGCP와 같은 다른 클라우드에서 실행되는 클러스터에 대한 완전한 모니터링 솔루션을 제공합니다.

클라우드 네이티브 컴퓨팅 재단에서 보증하는 클라우드 네이티브 기술에 대한 기존 투자가 있거나 조직에서 Splunk 또는 Datadog와 같은 Kubernetes 로그를 수집하고 분석하는 대체 도구를 사용할 수 있습니다. 배포할 Azure 도구와 해당 구성에 대한 선택은 특정 환경의 요구 사항에 따라 달라집니다. 기존 모니터링 솔루션을 Azure Monitor로 마이그레이션하거나 Azure 서비스를 기존 환경에 통합하도록 선택할 수 있습니다. 예를 들어 다른 클라우드의 Prometheus 및 Grafana용 Azure에서 관리되는 제품을 사용하거나 Azure의 Kubernetes 클러스터에서 이러한 도구의 기존 설치를 사용하도록 선택할 수 있습니다.

팁 (조언)

이 문서에서는 Kubernetes 클러스터의 상태 및 성능 및 해당 클러스터에서 실행되는 워크로드를 모니터링하는 데 사용되는 Azure Monitor의 기능을 설명합니다. 이러한 서비스를 관리하는 일반적인 역할에 따라 Kubernetes 환경의 다양한 계층을 모니터링하도록 이러한 서비스를 구성하는 방법에 대한 모범 사례는 Azure Monitor 및 클라우드 네이티브 도구를 사용하여 Kubernetes 클러스터 모니터링을 참조하세요.

Kubernetes 계층

다음은 인프라 계층부터 애플리케이션까지의 일반적인 Kubernetes 환경을 보여주는 그림입니다. 각 계층에는 아래에 설명된 서로 다른 Azure 서비스에서 해결하는 고유한 모니터링 요구 사항이 있습니다.

관련 관리 역할이 있는 Kubernetes 환경 계층의 다이어그램

네트워크 수준

Kubernetes 클러스터와의 트래픽을 지원하는 가상 네트워크 구성 요소는 다음 서비스를 사용하여 모니터링됩니다.

서비스 Description
네트워크 감시자 Kubernetes 클러스터에서 사용하는 가상 네트워크를 모니터링하고 검색된 문제를 진단하는 Azure의 도구 모음입니다.
트래픽 분석 흐름 로그를 분석하여 트래픽 흐름에 대한 인사이트를 제공하는 Network Watcher의 기능입니다.
네트워크 인사이트 다양한 네트워크 구성 요소의 성능 및 상태를 시각적으로 표현하고 Network Watcher의 일부인 네트워크 모니터링 도구에 대한 액세스를 제공하는 Azure Monitor의 기능입니다.

컨테이너 수준

컨테이너 수준에는 배포, 컨테이너 및 복제본 세트와 같은 Kubernetes 개체, API 서버, 클라우드 컨트롤러 및 kubelet을 포함한 클러스터 제어 평면 구성 요소, 노드 및 노드 풀로 추상화된 가상 머신 확장 집합이 포함됩니다. 이러한 계층은 다음 서비스를 사용하여 모니터링됩니다.

서비스 Description
Prometheus용 Azure Monitor 관리 서비스 Prometheus 는 클라우드 네이티브 컴퓨팅 재단의 클라우드 네이티브 메트릭 솔루션이며 Kubernetes 클러스터에서 메트릭 데이터를 수집하고 분석하는 데 사용되는 가장 일반적인 도구입니다. Prometheus용 Azure Monitor 관리형 서비스는 PromQL(Prometheus 쿼리 언어) 및 Prometheus 경고와 호환되며 시각화를 위해 Azure Managed Grafana와 통합되는 완전 관리형 솔루션입니다. 이 서비스는 자체 Prometheus 환경을 관리하는 복잡성 없이 오픈 소스 도구에 대한 투자를 지원합니다.
컨테이너 로그 컬렉션 컨테이너화된 버전의 Azure Monitor 에이전트 를 사용하여 클러스터의 각 노드에서 stdout/stderr 로그 및 Kubernetes 이벤트를 수집하는 AKS 및 Azure Arc 지원 Kubernetes 클러스터용 Azure 서비스입니다. Azure Portal에서 데이터를 분석하거나 Log Analytics를 사용하여 쿼리합니다.
컨트롤 플레인 로그 컬렉션 컨트롤 플레인 로그는 Azure Monitor에서 리소스 로그 로 구현됩니다. 컨테이너 로그와 동일한 Log Analytics 작업 영역에서 이러한 로그를 수집하는 진단 설정을 만듭니다.
Azure Arc 지원 Kubernetes Azure를 중앙 집중식 컨트롤 플레인으로 사용하여 온-프레미스 또는 다른 클라우드에서 실행되는 Kubernetes 클러스터에 연결할 수 있습니다. Arc 에이전트를 설치하면 컨테이너 로그 Prometheus 메트릭 컬렉션을 포함하여 동일한 메서드 및 도구를 사용하여 AKS 및 하이브리드 클러스터를 함께 모니터링할 수 있습니다.

애플리케이션 수준

Kubernetes 클러스터에서 실행되는 애플리케이션 워크로드는 다음 서비스로 모니터링됩니다.

서비스 Description
Application Insights 개발, 테스트 및 프로덕션에 이르기까지 Kubernetes 클러스터에서 실행되는 애플리케이션을 모니터링하는 APM(애플리케이션 성능 모니터링)을 제공하는 Azure Monitor의 기능입니다. 분산 추적을 사용하여 대기 시간 및 안정성 문제를 신속하게 식별하고 완화합니다. 공급업체 중립 계측을 위해 OpenTelemetry 를 지원합니다.

분석

Azure Monitor는 다른 기능에서 수집한 데이터를 분석하는 여러 도구를 제공합니다. 환경의 모든 클러스터에 대한 요약으로 시작한 다음 단일 클러스터에 대한 대화형 보기로 드릴다운합니다. 다양한 Kubernetes 원격 분석 집합을 결합하는 다양한 사용 가능한 Grafana 대시보드를 활용할 수도 있습니다. 사전 알림의 경우 Prometheus 메트릭에 따라 일반적인 경고 규칙 집합을 사용하도록 설정합니다.

서비스 Description
통합 모니터링 대시보드 Azure Portal의 통합 모니터링 대시보드는 대화형 분석을 위해 여러 서비스에서 수집한 데이터를 단일 화면으로 통합합니다. 다른 클러스터의 높은 수준의 상태를 파악한 다음 개별 클러스터 및 해당 구성 요소의 세부 정보를 드릴다운합니다.
Azure Managed Grafana Prometheus 및 기타 데이터를 표시하는 데 일반적으로 사용되는 오픈 소스 데이터 시각화 플랫폼인 Grafana의 완전 관리형 구현입니다. Kubernetes 모니터링 및 전체 스택 문제 해결을 위해 미리 정의된 여러 Grafana 대시보드를 사용할 수 있습니다.
Grafana를 사용하는 Azure Monitor 대시보드(미리 보기) 구성 요구 사항 및 비용 없이 Azure Portal에 Grafana 대시보드를 제공합니다. 여러 데이터 원본에서 대시보드가 필요하지 않은 경우 Managed Grafana 대신 이 기능을 사용합니다.

컨테이너 인사이트 단일 및 여러 클러스터 보기의 스크린샷.

다음 단계

  • Kubernetes 환경을 모니터링하도록 Azure Monitor 기능을 구성하기 위한 모범 사례 및 권장 사항은 Azure Monitor 및 클라우드 네이티브 도구를 사용하여 Kubernetes 클러스터 모니터링을 참조하세요.
  • 클러스터에서 Managed Prometheus 및 로그 수집을 사용하도록 설정하려면 Kubernetes 클러스터에 대한 모니터링 사용을 참조하세요.