Azure Monitor는 Kubernetes 클러스터에서 수집된 성능 및 로그 데이터를 결합하여 상태 및 성능을 분석하는 데 도움이 되는 Azure Portal의 보기 집합을 제공합니다. 이 문서에서는 사용 가능한 다양한 보기와 해당 뷰가 제공하는 데이터와 상호 작용하고 해석하는 방법을 설명합니다.
다중 클러스터 보기
다중 클러스터 보기를 열려면 Azure Portal의 모니터 메뉴에 있는 인사이트 섹션에서 컨테이너를 선택합니다. 이 보기는 구독의 리소스 그룹에 배포된 모니터링되는 모든 Kubernetes 클러스터의 상태를 보여 줍니다. 이 보기를 사용하면 위험 또는 비정상 상태인 클러스터를 빠르게 식별할 수 있으며 환경의 모든 클러스터에 대한 모니터링을 사용하도록 설정하고 구성하는 데도 도움이 됩니다. 자세한 내용은 AKS 클러스터에 대한 모니터링 사용을 참조하세요 .
참고
이 보기에서는 Azure Stack(미리 보기) 및 비 Azure(미리 보기)가 더 이상 지원되지 않습니다.
노드 열을 선택하여 해당 클러스터의 단일 클러스터 보기에서 노드 탭을 엽니다. 사용자 Pod 또는 시스템 Pod 열을 선택하여 적절한 필터를 사용하여 클러스터에 대한 컨트롤러 탭을 엽니다.
다음 표에서는 이 보기에 표시되는 다양한 상태에 대해 설명합니다. 건강 상태는 세 가지 상태 중 최악의 상태로 전체 클러스터 상태를 계산합니다. 세 가지 상태 중 알 수 없는 상태가 있으면 전체 클러스터 상태에 알 수 없음이 표시됩니다.
상태 | 설명 |
---|---|
정상 | VM에 대한 문제가 검색되지 않으며 필요에 따라 작동합니다. |
경고 | 해결해야 하는 하나 이상의 문제가 감지되거나 상태 상태가 위험해질 수 있습니다. |
위험 | 정상 작동 상태를 예상대로 복원하기 위해 해결해야 하는 하나 이상의 중요한 문제가 검색됩니다. |
Unauthorized | 사용자에게 작업 영역 또는 데이터 수집 규칙에서 데이터를 읽는 데 필요한 권한이 없습니다. |
없습니다. | 작업 영역, 리소스 그룹 또는 작업 영역을 포함하는 구독이 삭제되었습니다. |
기록 규칙 사용 | Prometheus 기록 규칙을 사용하도록 설정하여 더 높은 성능 데이터 및 Prometheus 시각화의 잠금을 해제합니다. |
잘못 구성됨 | 오류가 발생했습니다. |
오류 | 작업 영역에서 데이터를 읽으려고 시도하는 동안 오류가 발생했습니다. |
데이터 없음 | 지난 30분 동안 데이터가 작업 영역에 보고되지 않았습니다. |
알 수 없음 | 서비스가 노드 또는 Pod와 연결할 수 없는 경우 상태는 알 수 없는 상태로 변경됩니다. |
보류 중 | Arc 지원 클러스터에 대한 모니터링 구성은 일반적으로 약 5분이 걸립니다. 클러스터가 Azure에서 연결이 끊어지면 이 프로세스가 지연될 수 있습니다. |
X 시간 동안 보류 중 | Arc 지원 클러스터에 대한 모니터링 구성은 예상보다 오래 걸립니다. |
실패 | Arc 지원 클러스터에 대한 모니터링 구성이 실패했습니다. |
다음 표에서는 다중 클러스터 보기에서 모니터링되는 클러스터의 상태를 제어하는 계산 방법을 자세히 분석합니다.
모니터링되는 클러스터 | 상태 | 가용성 |
---|---|---|
사용자 Pod | 정상 경고 위험 알 수 없음 |
100% 90-99% <90% 지난 30분 동안 보고되지 않음 |
시스템 Pod | 정상 경고 위험 알 수 없음 |
100% 해당 없음 100% 지난 30분 동안 보고되지 않음 |
노드 | 정상 경고 위험 알 수 없음 |
>85% 60 - 84% <60% 지난 30분 동안 보고되지 않음 |
단일 클러스터 보기
단일 클러스터 보기를 열려면 다중 클러스터 보기에서 클러스터를 선택하거나 클러스터 메뉴에서 모니터 를 선택합니다. 이 보기는 선택한 클러스터의 상태 및 성능을 드릴다운할 수 있는 여러 탭을 제공합니다.
Options
Option | 설명 |
---|---|
시각화 | 보기를 채우는 데 사용되는 데이터 원본을 선택할 수 있습니다. 관리되는 Prometheus 시각화 는 Azure Monitor 작업 영역에 저장된 Prometheus 메트릭을 사용하는 기본 설정입니다. Managed Prometheus를 클러스터에 대해 사용하도록 설정할 때 해당 기능들이 활성화됩니다. Log Analytics 시각화는 Log Analytics 작업 영역에 저장된 성능 데이터를 사용합니다. 로깅 프로필에서 성능 데이터를 수집하지 않는 경우 이 데이터를 수집하지 않을 수 있습니다. 클러스터에 대해 Managed Prometheus를 사용하도록 설정하지 않은 경우에는 이 옵션을 사용할 수 없습니다. |
Refresh | 보기의 데이터를 새로 고칩니다. |
모니터 설정 | 클러스터에 대한 모니터링 구성 설정을 엽니다. 자세한 내용은 AKS 클러스터에 대한 모니터링 사용을 참조하세요 . |
그라파나 보기 | 클러스터의 Azure Monitor 작업 영역에 연결된 관리되는 Grafana 인스턴스 목록을 표시합니다. 인스턴스에 대한 대시보드를 열거나 인스턴스의 구성을 볼 수 있습니다. |
권장되는 경고 | 클러스터에 대한 권장 경고를 구성합니다. 자세한 내용은 Kubernetes 클러스터에 대한 권장 경고 만들기 를 참조하세요. |
모든 클러스터 보기 | 다중 클러스터 보기를 엽니다. |
데이터 필터링
단일 클러스터 보기의 각 탭은 제공된 데이터를 필터링하는 옵션을 제공합니다. 각 탭에는 수집된 시간 범위에 대한 필터가 있습니다. 노드, 컨트롤러 및 컨테이너 탭을 사용하면 필터 추가를 선택하여 필터 데이터 또는 노드 또는 네임스페이스별로 추가할 수 있습니다.
개요 탭
개요 탭은 해당 클러스터의 상태 및 성능을 보여 주는 타일 집합을 제공합니다. 모니터링의 특정 기능을 사용하도록 설정하지 않은 경우 이러한 타일 중 일부를 사용하지 않도록 설정할 수 있습니다. 이 경우 타일은 클러스터에 대한 온보딩 프로세스를 시작하는 옵션을 제공합니다. 자세한 내용은 Azure 포털을 사용하여 Kubernetes 모니터링을 활성화하는 방법을 확인하십시오.
노드, 컨트롤러 및 컨테이너 탭
노드, 컨트롤러 및 컨테이너 탭에는 클러스터에 대한 이러한 리소스 목록이 표시됩니다. 클러스터에 대한 성능 데이터를 수집하지 않으면 탭이 비활성화됩니다. 이 경우 탭은 클러스터에 대한 온보딩 프로세스를 시작하는 옵션을 제공합니다. 자세한 내용은 Azure 포털을 사용하여 Kubernetes 모니터링 설정하기를 참조하세요.
상태
상태 필드의 아이콘은 다음 표에 설명된 대로 항목의 온라인 상태를 나타냅니다.
아이콘 | 상태 |
---|---|
![]() |
|
![]() |
대기 중 또는 일시 중지됨 |
![]() |
마지막으로 실행 중인 상태로 보고됐으나 30분 이상 응답이 없습니다. |
![]() |
성공적으로 중지됨 또는 중지하지 못함 |
![]() |
실패 상태 |
메트릭 선택
노드, 컨트롤러 및 컨테이너 탭에는 보기의 값에 사용되는 메트릭을 선택하는 옵션이 포함되어 있습니다.
메모리 사용률을 검토하려면 메트릭 드롭다운 목록에서 메모리 RSS 또는 메모리 작업 집합을 선택합니다. 메모리 RSS는 Kubernetes 버전 1.8 이상에서만 지원됩니다. 그렇지 않으면 Min %에 대한 값이 NaN %로 표시됩니다. 이것은 정의되지 않았거나 표현할 수 없는 값을 나타내는 숫자 데이터 형식 값입니다.
메모리 작업 집합은 포함된 상주 메모리와 가상 메모리(캐시)를 모두 표시하며 애플리케이션이 사용하는 총계입니다. 메모리 RSS는 상주 메모리일 뿐인 주 메모리만 표시합니다. 이 메트릭은 사용 가능한 메모리의 실제 용량을 보여 줍니다.
- 상주 메모리 또는 주 메모리는 클러스터의 노드에서 사용할 수 있는 실제 시스템 메모리 양입니다.
- 가상 메모리는 운영 체제가 메모리 부족 상태일 때 데이터를 메모리에서 디스크로 교환하고 필요할 때 메모리로 다시 가져오기 위해 사용하는 예약된 하드 디스크 공간(캐시)입니다.
메트릭 계산 선택
백분위수 선택기는 선택한 시간 범위에서 메트릭을 집계하는 방법을 정의합니다. 집계된 열의 제목이 선택한 옵션과 일치하도록 변경됩니다.
추세 열
추세 열 아래 막대 그래프 위로 마우스를 가져가면 선택한 메트릭에 따라 15분의 샘플 기간 동안 각 막대에 CPU 또는 메모리 사용량이 표시됩니다. 키보드를 통해 추세 차트를 선택한 후 Alt+Page Up 키 또는 Alt+Page Down 키를 사용하여 각 막대를 개별적으로 순환합니다. 막대를 마우스로 가리킨 것과 동일한 세부 정보를 얻을 수 있습니다.
다음 예에서 목록의 첫 번째 노드인 aks-nodepool1-의 경우 컨테이너 값은 25입니다. 이 값은 배포된 총 컨테이너 수의 롤업입니다.
속성 창
항목을 선택하여 선택한 항목의 속성을 표시하는 속성 창을 엽니다. Linux 노드를 선택하면 로컬 디스크 용량 섹션에 사용 가능한 디스크 공간과 노드에 제공된 각 디스크에 사용된 백분율도 표시됩니다. 이 창에서 창 맨 위에 있는 라이브 이벤트 탭을 선택하여 Kubernetes 컨테이너 로그(stdout/stderror), 이벤트 및 Pod 메트릭을 볼 수도 있습니다. 이 기능에 대한 자세한 내용은 Kubernetes 로그, 이벤트 및 Pod 메트릭을 실시간으로 보는 방법을 참조하세요.
로그 데이터 보기
미리 정의된 로그 검색을 기반으로 선택한 리소스에 대한 로그 데이터를 보려면 속성 창 에서 Log Analytics에서 이벤트 보기를 선택합니다. 이 데이터 및 로그 쿼리에 대한 자세한 내용은 컨테이너 로그를 쿼리하는 방법을 참조하세요.
노드 탭
다음 표에서는 노드 탭의 열에 대해 설명 합니다 .
열 | 설명 |
---|---|
이름 | 호스트의 이름입니다. |
상태 | Kubernetes의 노드 상태 보기입니다. |
최소 %, 평균 %, 50번째 %, 90번째 %, 95번째 %, 최대 % | 선택한 기간 동안 백분위에 기반한 평균 노드 백분율입니다. |
최소, 평균, 50번째, 90번째, 95번째, 최대 | 선택한 기간 동안 백분위를 기준으로 하는 평균 노드 실제 값입니다. 평균 값은 노드에 대해 설정된 CPU/메모리 제한에서 측정됩니다. Pod 및 컨테이너의 경우 호스트에서 보고한 평균 값입니다. |
컨테이너 | 컨테이너의 수입니다. |
작동 시간 | 노드가 시작되었거나 다시 부팅된 이후 경과된 시간을 나타냅니다. |
컨트롤러 | 컨테이너 및 Pod용입니다. 어떤 컨트롤러에 있는지 보여 줍니다. 모든 Pod가 컨트롤러에 있는 것은 아니므로 N/A가 표시될 수 있습니다. |
추세 최소 %, 평균 %, 50번째 %, 90번째 %, 95번째 %, 최대 % | 컨트롤러의 평균 백분위 메트릭 비율을 나타내는 막대 그래프 추세입니다. |
노드 탭의 행 계층 구조는 Kubernetes 개체 모델을 따릅니다. 노드를 확장하여 해당 Pod를 봅니다. 둘 이상의 컨테이너가 Pod에 그룹화되면 계층 구조의 마지막 행으로 표시됩니다. 또한 호스트에 프로세서 또는 메모리 부족이 있는 경우 호스트에서 실행 중인 비 Pod 관련 워크로드의 수를 볼 수도 있습니다.
Windows Server 컨테이너는 목록의 모든 Linux 기반 노드 후에 표시됩니다. Windows Server 노드를 확장하면 노드에서 실행되는 하나 이상의 Pod 및 컨테이너를 볼 수 있습니다. 노드를 선택하면 속성 창에 버전 정보가 표시됩니다.
Linux OS를 실행하는 Azure Container Instances 가상 노드는 목록에서 마지막 AKS 클러스터 노드 뒤에 표시됩니다. 컨테이너 인스턴스 가상 노드를 확장하면 노드에서 실행되는 하나 이상의 컨테이너 인스턴스 Pod 및 컨테이너를 볼 수 있습니다. 노드가 아닌 Pod에 대한 메트릭만 수집 및 보고됩니다.
펼친 노드에서, 노드에서 실행되는 Pod 또는 컨테이너에서 컨트롤러로 드릴다운하여 해당 컨트롤러에 대해 필터링된 성능 데이터를 볼 수 있습니다. 특정 노드에 대한 컨트롤러 열 아래의 값을 선택합니다.
기타 프로세스 항목 보기는 노드에서 높은 리소스 사용량의 근본 원인을 명확하게 이해할 수 있도록 하기 위한 것입니다. 이 정보는 컨테이너화된 프로세스와 컨테이너화되지 않은 프로세스 간의 사용량을 구분하는 데 도움이 됩니다. 이러한 프로세스는 노드에서 실행되고 다음을 포함하는 컨테이너화되지 않은 프로세스입니다.
- 자체 관리형 또는 관리되는 Kubernetes 컨테이너화되지 않은 프로세스
- 컨테이너 런타임 프로세스
- Kubelet
- 노드에서 실행되는 시스템 프로세스
- 노드 하드웨어 또는 VM에서 실행되는 기타 비 Kubernetes 워크로드
기타 프로세스의 값은 Total usage from CAdvisor - Usage from containerized process
입니다.
컨트롤러 탭
컨트롤러 탭을 사용하면 컨트롤러, 가상 노드 컨트롤러 및 컨트롤러에 연결되지 않은 가상 노드 Pod의 성능 상태를 볼 수 있습니다.
행 계층 구조는 컨트롤러로 시작합니다. 컨트롤러를 확장하면 하나 이상의 Pod가 표시됩니다. Pod를 확장하면 마지막 행에 Pod로 그룹화된 컨테이너가 표시됩니다. 펼친 컨트롤러에서 실행되는 노드로 드릴다운하여 해당 노드에 대해 필터링된 성능 데이터를 볼 수 있습니다. 컨트롤러에 연결되지 않은 Container Instances Pod는 목록의 마지막에 나열됩니다.
특정 컨트롤러의 노드 열에서 값을 선택합니다.
다음 표에서는 컨트롤러 탭의 열에 대해 설명 합니다 .
열 | 설명 |
---|---|
이름 | 컨트롤러의 이름입니다. |
상태 | 실행이 완료된 후 컨테이너의 롤업 상태입니다. 상태 아이콘은 Pod에서 제공하는 것에 따라 개수를 보여줍니다. 이는 최악의 두 상태를 보여 줍니다. 상태 위로 마우스를 가져가면 컨테이너에 있는 모든 Pod의 롤업 상태가 표시됩니다. 준비 상태가 아니면 상태 값은 (0)을 표시합니다. |
최소 %, 평균 %, 50번째 %, 90번째 %, 95번째 %, 최대 % | 선택한 메트릭 및 백분위에 대한 각 엔터티 평균 백분율의 평균 롤업입니다. |
최소, 평균, 50번째, 90번째, 95번째, 최대 | 선택된 백분위에 대한 컨테이너의 평균 CPU 밀리코어 또는 메모리 성능의 롤업입니다. 평균 값은 Pod에 대해 설정된 CPU/메모리 제한에서 측정됩니다. |
컨테이너 | 컨트롤러 또는 Pod에 대한 컨테이너의 총 수입니다. |
재시작 | 컨테이너에서 다시 시작한 횟수의 롤업입니다. |
작동 시간 | 컨테이너가 시작된 이후 경과된 시간을 나타냅니다. |
노드 | 컨테이너 및 Pod용입니다. 어떤 컨트롤러에 있는지 보여 줍니다. |
추세 최소 %, 평균 %, 50번째 %, 90번째 %, 95번째 %, 최대 % | 컨트롤러의 평균 백분위 메트릭을 나타내는 막대 그래프 추세입니다. |
컨테이너 탭
컨테이너 탭을 사용하면 컨테이너의 성능 상태를 볼 수 있습니다.
컨테이너에서 Pod 또는 노드로 드릴다운하여 해당 개체에 대해 필터링된 성능 데이터를 볼 수 있습니다. 특정 컨테이너의 Pod 또는 노드 열에서 값을 선택합니다.
다음 표에서는 컨테이너 탭의 열에 대해 설명 합니다 .
열 | 설명 |
---|---|
이름 | 컨테이너의 이름입니다. |
상태 | 컨테이너의 상태입니다. |
최소 %, 평균 %, 50번째 %, 90번째 %, 95번째 %, 최대 % | 선택한 메트릭 및 백분위에 대한 각 엔터티 평균 백분율의 롤업입니다. |
최소, 평균, 50번째, 90번째, 95번째, 최대 | 선택된 백분위에 대한 컨테이너의 평균 CPU 밀리코어 또는 메모리 성능의 롤업입니다. 평균 값은 Pod에 대해 설정된 CPU/메모리 제한에서 측정됩니다. |
포드 | Pod가 위치한 컨테이너입니다. |
노드 | 컨테이너가 있는 노드입니다. |
재시작 | 컨테이너가 시작된 이후 경과된 시간을 나타냅니다. |
작동 시간 | 컨테이너가 시작 또는 다시 부팅된 이후 경과된 시간을 나타냅니다. |
추세 최소 %, 평균 %, 50번째 %, 90번째 %, 95번째 %, 최대 % | 컨테이너의 평균 백분위 메트릭 비율을 나타내는 막대 그래프 추세입니다. |
다음 단계
- 컨테이너 인사이트로 성능 알림 만들기를 참조하여 DevOps 또는 운영 프로세스 및 절차를 지원하기 위해 높은 CPU 및 메모리 사용률에 대한 알림을 만드는 방법을 알아봅니다.
- 클러스터를 경고, 시각화 또는 분석하기 위해 평가하거나 사용자 지정하는 미리 정의된 쿼리 및 예를 보려면 로그 쿼리 예제를 참조하세요.