AKS(Azure Kubernetes Service) 모니터링

Azure 리소스를 사용하는 중요한 애플리케이션 및 비즈니스 프로세스가 있는 경우 이와 같은 리소스의 가용성, 성능 및 작업을 모니터링할 수 있습니다. 이 문서에서는 AKS에서 생성되고 Azure Monitor를 사용하여 분석된 모니터링 데이터에 대해 설명합니다. 이 기능을 사용하는 모든 Azure 서비스에 공통되는 Azure Monitor 기능에 익숙하지 않은 경우 Azure Monitor로 Azure 리소스 모니터링을 읽어 보세요.

Important

Kubernetes는 이동하는 부분이 많은 복잡한 분산 시스템이므로 여러 수준에서 모니터링해야 합니다. AKS는 관리되는 Kubernetes 서비스이지만 여러 수준에서 모니터링하는 것과 동일한 엄격함이 여전히 필요합니다. 이 문서에서는 AKS 클러스터를 모니터링하기 위한 높은 수준의 정보와 모범 사례를 제공합니다. 자세한 내용은 다음을 참조하세요.

데이터 모니터링

AKS는 Azure 리소스에서 데이터 모니터링에 설명된 다른 Azure 리소스와 동일한 종류의 모니터링 데이터를 생성합니다. 모니터링 AKS에서 만든 메트릭 및 로그에 대한 세부 정보는 AKS 데이터 참조 모니터링을 참조하세요. 다른 Azure 서비스 및 기능에서는 다음 다이어그램 및 표와 같이 추가 데이터를 수집하고 다른 분석 옵션을 사용하도록 설정합니다.

Diagram of collection of monitoring data from AKS.

원본 설명
플랫폼 메트릭 플랫폼 메트릭은 AKS 클러스터에 대해 무료로 자동 수집됩니다. 메트릭 탐색기를 사용하여 이러한 메트릭을 분석하거나 메트릭 경고에 사용할 수 있습니다.
Prometheus 메트릭 클러스터에 대해 메트릭 스크래핑을 사용하도록 설정하면 Prometheus 메트릭Prometheus용 Azure Monitor 관리 서비스에 의해 수집되어 Azure Monitor 작업 영역에 저장됩니다. Azure Managed Grafana미리 빌드된 대시보드Prometheus 경고을 사용하여 분석합니다.
활동 로그 활동 로그는 AKS 클러스터에 대해 무료로 자동 수집됩니다. 이러한 로그는 클러스터가 만들어지거나 구성이 변경된 시기와 같은 정보를 추적합니다. 활동 로그를 Log Analytics 작업 영역으로 보내 다른 로그 데이터로 분석합니다.
리소스 로그 AKS의 컨트롤 플레인 로그는 리소스 로그로 구현됩니다. Log Analytics에서 로그 쿼리를 사용하여 리소스 로그를 분석하고 경고할 수 있는 Log Analytics 작업 영역으로 로그를 보내는 진단 설정 만들기를 수행합니다.
컨테이너 인사이트 컨테이너 인사이트는 stdout/stderr 스트림을 포함하여 클러스터에서 다양한 로그 및 성능 데이터를 수집하고 Log Analytics 작업 영역Azure Monitor 메트릭에 저장합니다. 컨테이너 인사이트에 포함된 보기 및 통합 문서를 사용하거나 또는 Log Analytics메트릭 탐색기를 사용하여 이 데이터를 분석합니다.

Azure Portal의 모니터링 개요 페이지

개요 페이지의 모니터링 탭은 각 AKS 클러스터의 Azure Portal에서 모니터링 데이터를 빨리 볼 수 있는 방법을 제공합니다. 여기에는 노드 풀로 구분된 클러스터에 대한 공통 메트릭이 있는 그래프가 포함됩니다. 이러한 그래프를 클릭하여 메트릭 탐색기에서 데이터를 추가로 분석합니다.

개요 페이지에는 현재 클러스터의 관리형 Prometheus컨테이너 인사이트에 대한 링크도 포함되어 있습니다. 이 도구를 아직 사용하지 않은 경우 사용하라는 메시지가 표시됩니다. 또한 클러스터 모니터링을 개선하기 위해 다른 기능을 사용하도록 권장하는 배너가 화면 맨 위에 표시될 수도 있습니다.

Screenshot of AKS overview page.

Azure Portal의 모니터링 메뉴에서 구독의 모든 AKS 클러스터에 대한 모니터링 기능 또는 Kubernetes 서비스 메뉴의 모니터 섹션에서 단일 AKS 클러스터에 대한 모니터링 기능에 액세스합니다.

통합

Kubernetes 클러스터의 추가 모니터링에 Azure Monitor의 다음 Azure 서비스 및 기능을 사용할 수 있습니다. Azure Portal, Azure CLI, Terraform, Azure Policy의 통합 탭에서 AKS 클러스터를 만드는 동안 이러한 기능을 사용하도록 설정하거나 나중에 클러스터를 온보딩할 수 있습니다. 이러한 각 기능은 비용을 초래할 수 있으므로 사용하기 전에 각 기능에 대한 가격 책정 정보를 참조하세요.

서비스/기능 설명
컨테이너 인사이트 클러스터의 각 노드에서 stdout/stderr 로그 및 Kubernetes 이벤트를 수집하는 컨테이너화된 버전의 Azure Monitor 에이전트를 사용하여 AKS 클러스터의 다양한 모니터링 시나리오를 지원합니다. Azure CLI, Azure Policy, Azure Portal 또는 Terraform을 사용하여 AKS 클러스터를 만들 때 모니터링을 사용하도록 설정할 수 있습니다. 클러스터를 만들 때 컨테이너 인사이트를 사용하도록 설정하지 않은 경우 이를 사용하도록 설정하는 다른 옵션은 AKS(Azure Kubernetes Service) 클러스터에 대한 컨테이너 인사이트 사용을 참조하세요.

컨테이너 인사이트는 대부분의 데이터를 Log Analytics 작업 영역에 저장하며 일반적으로 클러스터의 리소스 로그와 동일한 Log Analytics 작업 영역을 사용합니다. 사용해야 하는 작업 영역 수와 찾을 수 있는 위치에 대한 지침은 Log Analytics 작업 영역 아키텍처 디자인을 참조하세요.
Prometheus용 Azure Monitor 관리 서비스 Prometheus는 Cloud Native Compute Foundation의 클라우드 네이티브 메트릭 솔루션이며 Kubernetes 클러스터에서 메트릭 데이터를 수집하고 분석하는 데 사용되는 가장 일반적인 도구입니다. Prometheus용 Azure Monitor 관리 서비스는 Azure에서 완전 관리형 Prometheus 호환 모니터링 솔루션입니다. 클러스터를 만들 때 관리형 Prometheus를 사용하도록 설정하지 않으면 AKS 클러스터에서 Prometheus 메트릭 수집을 참조하여 다른 옵션을 사용하도록 설정합니다.

Prometheus용 Azure Monitor 관리 서비스는 Azure Monitor 작업 영역에 데이터를 저장합니다. 이 작업 영역은 Grafana 작업 영역에 연결되어 Azure Managed Grafana로 데이터를 분석할 수 있습니다.
Azure Managed Grafana Prometheus 데이터를 표시하는 데 일반적으로 사용되는 오픈 소스 데이터 시각화 플랫폼인 Grafana의 완전 관리형 구현입니다. Kubernetes 모니터링 및 전체 스택 문제 해결을 위해 미리 정의된 여러 Grafana 대시보드를 사용할 수 있습니다. 클러스터를 만들 때 관리형 Grafana를 사용하도록 설정하지 않으면 클러스터의 Prometheus 메트릭에 액세스할 수 있도록 Azure Monitor 작업 영역에 연결하는 방법에 대한 Grafana 작업 영역 세부 정보를 참조하세요.

메트릭

메트릭은 AKS 클러스터의 클러스터 모니터링, 문제 식별 및 성능 최적화에서 중요한 역할을 합니다. 플랫폼 메트릭은 kube-system 네임스페이스에 설치된 기본 제공 메트릭 서버를 사용하여 캡처되며, Kubelet에서 제공하는 모든 Kubernetes 노드에서 메트릭을 주기적으로 스크랩합니다. 또한 Azure Managed Prometheus 메트릭을 사용하도록 설정하여 배포의 개체 상태와 같은 컨테이너 메트릭 및 Kubernetes 개체 메트릭을 수집해야 합니다. Prometheus용 Azure Managed 서비스로 데이터를 보내려면 AKS 클러스터에서 Prometheus 메트릭 수집을 참조하세요.

Screenshot of enabling Managed Prometheus for existing cluster.

로그

AKS 컨트롤 플레인/리소스 로그

AKS 클러스터에 대한 컨트롤 플레인 로그는 Azure Monitor에서 리소스 로그로 구현됩니다. 리소스 로그는 진단 설정을 만들고 하나 이상의 위치로 라우팅할 때까지 수집 및 저장되지 않습니다. 일반적으로 컨테이너 인사이트에 대한 대부분의 데이터가 저장되는 Log Analytics 작업 영역으로 보냅니다.

Azure Portal, CLI 또는 PowerShell을 사용한 진단 설정 만들기의 자세한 프로세스는 진단 설정 만들기를 참조하세요. 진단 설정을 만들 때 수집할 로그 범주를 지정합니다. AKS의 범주는 AKS 모니터링 데이터 참조에 나열되어 있습니다.

Important

AKS의 리소스, 특히 kube-audit 로그를 수집할 때 상당한 비용이 들 수 있습니다. 수집되는 데이터의 양을 줄이려면 다음 권장 사항을 고려하세요.

  • 필요하지 않은 경우 kube-audit 로깅을 사용하지 않도록 설정합니다.
  • kube-audit-admin에서 컬렉션을 사용하도록 설정합니다. 이 컬렉션에서는 감사 이벤트 가져오기 및 나열을 제외합니다.
  • 아래에 설명된 대로 리소스별 로그를 사용하도록 설정하고 AKSAudit 테이블을 기본 로그로 구성합니다.

추가 권장 사항은 Azure 서비스 및 클라우드 네이티브 도구를 사용하여 Kubernetes 클러스터 모니터링을 참조하고, 모니터링 비용을 줄이기 위한 추가 전략은 비용 최적화 및 Azure Monitor를 참조하세요.

Screenshot of AKS diagnostic setting dialog box.

AKS는 리소스 로그에 대한 Azure 진단 모드 또는 리소스별 모드를 지원합니다. 데이터가 전송되는 Log Analytics 작업 영역의 테이블을 지정합니다. Azure 진단 모드는 모든 데이터를 AzureDiagnostics 테이블로 보내고, 리소스별 모드는 리소스 로그의 테이블에 표시된 대로 AKS 감사, AKS 감사 관리자, AKS 컨트롤 플레인으로 데이터를 보냅니다.

리소스별 모드는 다음과 같은 이유로 AKS에 권장됩니다.

  • 데이터는 AKS 전용 개별 테이블에 있으므로 쿼리하기가 더 쉽습니다.
  • 상당한 비용 절감을 위해 기본 로그로 구성을 지원합니다.

기존 설정을 변경하는 방법을 포함한 컬렉션 모드 간의 차이점에 대한 자세한 내용은 컬렉션 모드 선택을 참조하세요.

참고 항목

컬렉션 모드를 선택하는 기능은 아직 모든 지역의 Azure Portal에서 사용할 수 없습니다. 아직 사용할 수 없는 지역의 경우 CLI를 사용하여 다음과 같은 명령으로 진단 설정을 만듭니다.

az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{""category"": ""kube-audit"",""enabled"": true}, {""category"": ""kube-audit-admin"", ""enabled"": true}, {""category"": ""kube-apiserver"", ""enabled"": true}, {""category"": ""kube-controller-manager"", ""enabled"": true}, {""category"": ""kube-scheduler"", ""enabled"": true}, {""category"": ""cluster-autoscaler"", ""enabled"": true}, {""category"": ""cloud-controller-manager"", ""enabled"": true}, {""category"": ""guard"", ""enabled"": true}, {""category"": ""csi-azuredisk-controller"", ""enabled"": true}, {""category"": ""csi-azurefile-controller"", ""enabled"": true}, {""category"": ""csi-snapshot-controller"", ""enabled"": true}]'  --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true

샘플 로그 쿼리

Important

AKS 클러스터 메뉴에서 로그를 선택하면 쿼리 범위가 현재 클러스터로 설정된 Log Analytics가 열립니다. 즉, 로그 쿼리에는 해당 리소스의 데이터만 포함됩니다. 다른 Azure 서비스의 데이터 또는 다른 클러스터의 데이터를 포함하는 쿼리를 실행하려면 Azure Monitor 메뉴에서 로그를 선택합니다. 자세한 내용은 Azure Monitor Log Analytics의 로그 쿼리 범위 및 시간 범위를 참조하세요.

클러스터의 진단 설정에서 Azure 진단 모드를 사용하는 경우 AKS에 대한 리소스 로그는 AzureDiagnostics 테이블에 저장됩니다. 범주 열로 서로 다른 로그를 구분할 수 있습니다. 각 범주에 대한 설명은 AKS 참조 리소스 로그를 참조하세요.

설명 로그 쿼리
각 범주에 대한 로그 수
(Azure 진단 모드)
AzureDiagnostics
| where ResourceType == "MANAGEDCLUSTERS"
| summarize count() by Category
모든 API 서버 로그
(Azure 진단 모드)
AzureDiagnostics
| where Category == "kube-apiserver"
시간 범위의 모든 kube-audit 로그
(Azure 진단 모드)
let starttime = datetime("2023-02-23");
let endtime = datetime("2023-02-24");
AzureDiagnostics
| where TimeGenerated between(starttime..endtime)
| where Category == "kube-audit"
| extend event = parse_json(log_s)
| extend HttpMethod = tostring(event.verb)
| extend User = tostring(event.user.username)
| extend Apiserver = pod_s
| extend SourceIP = tostring(event.sourceIPs[0])
| project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event
모든 감사 로그
(리소스별 모드)
AKSAudit
감사 이벤트 가져오기 및 나열을 제외한 모든 감사 로그
(리소스별 모드)
AKSAuditAdmin
모든 API 서버 로그
(리소스별 모드)
AKSControlPlane
| where Category == "kube-apiserver"

Log Analytics 작업 영역에서 미리 빌드된 쿼리 집합에 액세스하려면 Log Analytics 쿼리 인터페이스를 참조하고 리소스 종류 Kubernetes 서비스를 선택합니다. 컨테이너 인사이트에 대한 일반적인 쿼리 목록은 컨테이너 인사이트 쿼리를 참조하세요.

AKS 데이터 평면/Container Insights 로그

Container Insights는 컨테이너 및 Kubernetes 클러스터에서 다양한 유형의 원격 분석 데이터를 수집하여 AKS 클러스터에서 실행되는 컨테이너화된 애플리케이션을 모니터링하고, 문제를 해결하고, 인사이트를 얻는 데 도움을 줍니다. Container Insights에서 사용하는 테이블 목록 및 자세한 설명은 Azure Monitor 테이블 참조를 참조하세요. 이러한 테이블은 모두 로그 쿼리에 사용할 수 있습니다.

비용 최적화 설정은 사용자에게 컨테이너 인사이트 에이전트를 통해 수집된 메트릭 데이터를 사용자 지정하고 제어할 수 있도록 합니다. 이 기능은 Azure Monitor DCR(데이터 수집 규칙)을 통해 데이터 수집에서 제외할 개별 테이블 선택, 데이터 수집 간격 및 네임스페이스에 대한 데이터 수집 설정을 지원합니다. 이러한 설정은 수집량을 제어하고 컨테이너 인사이트의 모니터링 비용을 줄입니다. 컨테이너 인사이트 수집된 데이터는 다음 옵션을 사용하여 Azure Portal을 통해 사용자 지정할 수 있습니다. 모두(기본값) 이외의 옵션을 선택하면 컨테이너 인사이트 환경을 사용할 수 없게 됩니다.

그룹화 테이블 주의
모두(기본값) 모든 표준 컨테이너 인사이트 테이블 기본 컨테이너 인사이트 시각화를 사용하도록 설정하는 데 필요합니다.
성능 Perf, InsightsMetrics
로그 및 이벤트 ContainerLog 또는 ContainerLogV2, KubeEvents, KubePodInventory 관리형 Prometheus 메트릭을 사용하도록 설정한 경우 권장됩니다.
워크로드, 배포 및 HPA InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
지속성 볼륨 InsightsMetrics, KubePVInventory

Screenshot of AKS data plane logs collection configuration page.

로그 및 이벤트 그룹화는 ContainerLog 또는 ContainerLogV2, KubeEvents, KubePodInventory 테이블에서 로그를 캡처하지만 메트릭은 캡처하지 않습니다. 메트릭을 수집하는 권장 경로는 AKS 클러스터에서 Prometheus용 Azure Monitor 관리형 서비스 Prometheus를 사용하도록 설정하고 데이터 시각화에 Azure Managed Grafana를 사용하는 것입니다. 자세한 내용은 Azure Monitor 작업 영역 관리를 참조하세요.

ContainerLogV2 스키마

Azure Monitor Container Insights는 권장되는 옵션인 ContainerLogV2라는 컨테이너 로그용 스키마를 제공합니다. 이 형식에는 AKS 및 Azure Arc 지원 Kubernetes 클러스터와 관련된 데이터를 보기 위한 일반적인 쿼리를 용이하게 하기 위해 다음 필드가 포함됩니다.

  • ContainerName
  • PodName
  • PodNamespace

또한 이 스키마는 표준 분석 로그에 대한 저렴한 대안을 제공하는 기본 로그 데이터 플랜과 호환됩니다. 기본 로그 데이터 요금제를 사용하면 디버깅, 문제 해결 및 감사를 위해 Log Analytics 작업 영역에서 대량의 상세 로그를 수집하고 저장하는 비용을 절약할 수 있지만 분석 및 경고에 관해서는 그렇지 못합니다. 자세한 내용은 Log Analytics 작업 영역에서 테이블 관리를 참조하세요. ContainerLogV2는 권장되는 접근 방식이며 ARM, Bicep, Terraform, Policy 및 Azure Portal을 사용하여 관리 ID 인증으로 컨테이너 인사이트를 온보딩하는 고객을 위한 기본 스키마입니다. 클러스터의 DCR(데이터 수집 규칙) 또는 ConfigMap을 통해 ContainerLogV2를 사용하도록 설정하는 방법에 대한 자세한 내용은 ContainerLogV2 스키마 사용을 참조하세요.

시각화

데이터 시각화는 시스템 관리자와 운영 엔지니어가 수집된 정보를 더 쉽게 사용할 수 있도록 하는 필수 개념입니다. 원시 데이터를 보는 대신 시각적 표현을 사용하여 신속하게 데이터를 표시하고, 원시 데이터를 확인할 때 숨겨질 수 있는 추세를 표시할 수 있습니다. 데이터 시각화를 위해 Grafana 대시보드 또는 네이티브 Azure 통합 문서를 사용할 수 있습니다.

Azure Managed Grafana

Prometheus 데이터를 분석하고 표시하는 가장 일반적인 방법은 Grafana 대시보드를 사용하는 것입니다. Azure Managed Grafana에는 컨테이너 인사이트 뷰와 유사한 정보를 제공하는 몇 가지 정보를 포함하여 Kubernetes 클러스터를 모니터링하기 위한 미리 빌드된 대시보드가 포함되어 있습니다. 또한 Prometheus에서 수집한 메트릭에서 Kubernetes 클러스터의 여러 측면을 시각화하기 위해 다양한 커뮤니티 작성 대시보드가 있습니다.

Screenshot of Grafana.

통합 문서

Azure Monitor 통합 문서는 데이터를 분석하고 풍부한 시각적 보고서를 생성할 수 있는 유연한 캔버스를 제공하는 Azure Monitor의 기능입니다. 통합 문서는 데이터 분석에 도움이 되는 시각적 보고서를 만드는 데 도움이 됩니다. Container Insights의 보고서에는 기본 제공 Azure 통합 문서가 권장됩니다. Azure는 Azure Portal에서 액세스할 수 있는 AKS(Azure Kubernetes Service)를 포함하여 각 서비스에 대한 기본 제공 통합 문서를 제공합니다. Azure Portal의 Azure Monitor 메뉴에서 컨테이너를 선택합니다. 모니터링 섹션에서 인사이트를 선택하고 특정 클러스터를 선택한 다음, 보고서 탭을 선택합니다. Azure Monitor의 통합 문서 갤러리에서도 볼 수 있습니다.

예를 들어 클러스터 최적화 통합 문서에서는 Kubernetes 클러스터의 상태 및 성능을 빠르게 볼 수 있는 여러 분석기를 제공합니다. 각각 클러스터와 관련된 다양한 정보를 제공하는 여러 분석기가 있습니다. 일단 클러스터에서 컨테이너 인사이트를 사용하도록 설정하면 통합 문서에 구성이 필요하지 않습니다. 중요한 기능에는 활동성 프로브 오류 및 해당 빈도를 감지하고, 액세스하기 쉬운 분석을 위해 최근 이벤트 볼륨 증가를 나타내는 이벤트 변칙을 식별하여 그룹화하고, AKS 클러스터에서 실행되는 이러한 컨테이너에 대한 제안된 제한 및 요청 값과 함께 높거나 낮은 CPU/메모리 제한 및 요청이 있는 컨테이너를 식별하는 기능이 포함됩니다. 이러한 통합 문서에 대한 자세한 내용은 컨테이너 인사이트의 보고서를 참조하세요.

경고

Azure Monitor 경고는 Azure Monitor 수집 데이터가 클라우드 인프라 또는 애플리케이션에 문제가 있을 수 있음을 나타내는 경우 사전에 알려주어 사용자가 문제를 알아채기 전에 문제를 감지하고 해결하는 데 도움이 됩니다. 이를 통해 고객이 알기 전에 시스템 문제를 식별하고 해결할 수 있습니다. 메트릭, 로그활동 로그에서 경고를 설정할 수 있습니다. 서로 다른 형식의 경고에는 장점과 단점이 있습니다.

Prometheus 메트릭 또는 플랫폼 메트릭을 기준으로 컨테이너 인사이트에서 사용하는 메트릭 규칙에는 두 가지 형식이 있습니다.

Prometheus 메트릭 기반 경고

클러스터의 Prometheus 메트릭 컬렉션을 사용하도록 설정하면 권장되는 Prometheus 경고 규칙 컬렉션을 다운로드할 수 있습니다. 여기에는 다음 규칙이 포함됩니다.

수준 경고
Pod 수준 KubePodCrashLooping
작업이 제 시간에 완료되지 않음
지난 1시간 동안 Pod 컨테이너가 다시 시작됨
Pod의 준비 상태가 80%보다 작음
실패 상태에 있는 Pod 수가 0보다 큼
KubePodNotReadyByController
KubeStatefulSetGenerationMismatch
KubeJobNotCompleted
KubeJobFailed
컨테이너당 평균 CPU 사용량이 95%보다 큼
컨테이너당 평균 메모리 사용량이 95%보다 큼
KubeletPodStartUpLatencyHigh
클러스터 수준 평균 PV 사용량이 80%보다 큼
KubeDeploymentReplicasMismatch
KubeStatefulSetReplicasMismatch
KubeHpaReplicasMismatch
KubeHpaMaxedOut
KubeCPUQuotaOvercommit
KubeMemoryQuotaOvercommit
KubeVersionMismatch
KubeClientErrors
CPUThrottlingHigh
KubePersistentVolumeFillingUp
KubePersistentVolumeInodesFillingUp
KubePersistentVolumeErrors
노드 수준 평균 노드 CPU 사용률이 80%보다 큼
노드의 작업 집합 메모리가 80%보다 큼
OOM이 종료된 컨테이너의 수가 0보다 큼
KubeNodeUnreachable
KubeNodeNotReady
KubeNodeReadinessFlapping
KubeContainerWaiting
KubeDaemonSetNotScheduled
KubeDaemonSetMisScheduled
KubeletPlegDurationHigh
KubeletServerCertificateExpiration
KubeletClientCertificateRenewalErrors
KubeletServerCertificateRenewalErrors
KubeQuotaAlmostFull
KubeQuotaFullyUsed
KubeQuotaExceeded

플랫폼 메트릭 기반 경고

다음 테이블에서는 AKS 클러스터에 권장되는 메트릭 경고 규칙이 나열되어 있습니다. 이러한 경고는 클러스터에 대한 플랫폼 메트릭을 기반으로 합니다.

조건 설명
CPU 사용 백분율 > 95 모든 노드의 평균 CPU 사용량이 임계값을 초과할 때 발생합니다.
메모리 작업 집합 백분율 > 100 모든 노드의 평균 작업 집합이 임계값을 초과할 때 발생합니다.

로그 기반 경고

로그 경고를 사용하면 데이터 평면컨트롤 플레인 로그에 대해 경고할 수 있습니다. 미리 정의된 간격으로 쿼리를 실행하고 결과에 따라 경고를 만듭니다. 특정 레코드 수를 확인하거나 숫자 열을 기준으로 계산을 수행할 수 있습니다.

컨테이너 인사이트에서 로그 경고를 만드는 방법컨테이너 인사이트에서 로그를 쿼리하는 방법을 참조하세요. 로그 경고는 다양한 시나리오에서 모니터링하는 데 사용할 수 있는 두 가지 항목을 측정할 수 있습니다.:

  • 결과 수: 쿼리에서 반환된 행 수를 계산하고 Windows 이벤트 로그, Syslog, 애플리케이션 예외와 같은 이벤트를 처리하는 데 사용할 수 있습니다.
  • 값 계산: 숫자 열을 기반으로 계산을 수행하며 원하는 수의 리소스를 포함하는 데 사용할 수 있습니다. 예를 들어, CPU 백분율이 있습니다.

필요한 경고 시나리오에 따라 now 연산자를 사용하고 1시간 뒤로 이동하여 DateTime과 현재 시간을 비교하면서 로그 쿼리를 만들어야 합니다. 로그 기반 경고를 빌드하는 방법을 알아보려면 Container Insights에서 로그 경고 만들기를 참조하세요.

네트워크 가시성

네트워크 관찰성은 정상적이고 성능이 뛰어난 Kubernetes 클러스터를 유지하는 데 중요한 부분입니다. 네트워크 트래픽에 대한 데이터를 수집하고 분석하면 클러스터가 어떻게 작동하는지에 대한 인사이트를 얻을 수 있으며 중단이나 성능 저하가 발생하기 전에 잠재적인 문제를 식별할 수 있습니다.

네트워크 관찰성 추가 기능을 사용하도록 설정하면 유용한 메트릭을 수집하고 Prometheus 형식으로 변환한 다음, Grafana에서 시각화할 수 있습니다. 사용하도록 설정하면 수집된 메트릭이 Prometheus용 Azure Monitor 관리형 서비스에 자동으로 수집됩니다. Grafana 대시보드는 Grafana 퍼블릭 대시보드 리포지토리에서 Prometheus에 수집된 네트워크 관찰성 메트릭을 시각화할 수 있습니다. 자세한 내용은 네트워크 관찰 가능성 설정을 참조하세요.

다음 단계