다음을 통해 공유


데이터 모니터링 및 로깅

적용 대상: Azure Local 22H2의 AKS, Windows Server의 AKS

이 문서에서는 AKS(Azure Kubernetes Service) 배포를 모니터링하고 Azure Arc에서 사용하도록 설정된 AKS에서 로깅 데이터를 수집하는 방법을 설명합니다. PrometheusGraphana사용하여 온-프레미스 모니터링을 설정하고 액세스하는 방법과 EFK(Elasticsearch, Fluent BitKibana)를 사용하여 로그를 수집하고 보는 방법을 알아봅니다.

다음 표에 설명된 대로 두 가지 유형의 모니터링 및 로깅 솔루션을 사용할 수 있습니다.

해결책 Azure 연결 지원 및 서비스 비용 전개
Azure Monitor Kubernetes용 Azure Arc를 사용하여 Kubernetes 클러스터를 Azure에 연결해야 합니다. Microsoft의 전폭적인 지원 및 서비스. Azure Monitor 서비스에 등록해야 합니다. Azure Arc를 사용하여 클러스터을 모니터링합니다.
온-프레미스 모니터링 및 로깅 Azure 연결이 필요하지 않습니다. Microsoft(지원 계약 또는 SLA 없음), 커뮤니티 및/또는 외부 공급업체에서 오픈 소스 소프트웨어로 지원됩니다. 공급업체 종속. 고객 중심. 온-프레미스 모니터링을 사용하여 클러스터를 모니터링하려면 을(를) 참조하십시오.

Kubernetes 클러스터에서 Azure Monitor를 사용하려면 Azure Monitor 개요참조하세요.

온-프레미스 모니터링 사용

프로덕션 환경에서 앱을 실행할 때 클러스터에서 컨트롤 플레인 노드 및 워크로드의 상태, 성능 및 리소스 사용을 모니터링하는 것이 중요합니다. 권장되는 모니터링 솔루션에는 다음 두 가지 도구가 포함됩니다.

  • Prometheus 컨테이너화된 워크로드를 모니터링하는 데 사용할 수 있는 모니터링 및 경고 도구 키트입니다. Prometheus는 다양한 유형의 수집기 및 에이전트와 함께 작동하여 메트릭을 수집하고 데이터를 쿼리하고 보고서를 볼 수 있는 데이터베이스에 저장합니다. AKS Arc를 사용하면 Prometheus를 쉽게 배포할 수 있습니다. 이 내용은 이 문서의 뒷부분에 설명되어 있습니다.
  • Grafana Grafana 대시보드에서 메트릭을 보고, 쿼리하고, 시각화하는 데 사용되는 도구입니다. Prometheus를 데이터 원본으로 사용하도록 Grafana를 구성할 수도 있습니다. 자체 라이선스가 있는 Grafana 버전을 AKS Arc에서 사용해야 합니다.

모니터링 솔루션 개요

Arc에서 사용하도록 설정된 AKS의 Prometheus 솔루션의 일부로 다음 구성 요소가 배포되고 자동으로 구성됩니다.

배포는 공개적으로 사용할 수 있는 Kube-Prometheus-stack Helm 차트를 기반으로 하고, Windows Exporter를 지원하도록 확장되며 Prometheus와 에이전트 간의 메트릭 수집을 안전하게 보호합니다. Prometheus 솔루션이 배포되면 노드 내보내기는 각 Linux 노드에서 실행되고 Windows 내보내기는 각 Windows 노드에서 실행됩니다.

메모

Prometheus 연산자, Prometheus 및 Kube 상태 메트릭 구성 요소는 Linux에서만 지원되므로 이 솔루션을 배포하려면 AKS 클러스터에서 하나 이상의 Linux 노드를 프로비전해야 합니다.

Prometheus 솔루션이 긁어내는 개체 및 엔드포인트에는 다음 항목이 포함됩니다.

AKS Arc에서 사용할 수 있는 Grafana 대시보드를 보려면에서 설명된 AKS Arc 내의 Grafana 대시보드를 참조하세요.

PowerShell을 사용하여 모니터링 솔루션 배포

이 섹션에서는 워크로드 클러스터에 모니터링을 배포하는 데 사용할 수 있는 두 가지 옵션에 대해 설명합니다.

옵션 1: 워크로드 클러스터를 만들 때 모니터링 솔루션 배포

모니터링을 사용하도록 설정하려면 다음 예제와 같이 New-AksHciCluster 사용하여 워크로드 클러스터를 만들 때 -enableMonitoring 매개 변수를 제공합니다.

New-AksHciCluster -name mynewcluster -enableMonitoring

모니터링은 다음 기본 구성으로 설치됩니다.

  • 메트릭(storageSizeGB)을 저장하도록 프로비전되는 영구 볼륨의 크기는 100GB입니다.
  • 수집된 메트릭(retentionTimeHours)의 보존 시간은 240시간(또는 10일)입니다.

옵션 2: 기존 워크로드 클러스터에 모니터링 솔루션 배포

다음과 같이 Install-AksHciMonitoring 명령을 실행하여 모니터링 솔루션을 기존 워크로드 클러스터에 배포합니다.

Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240

-storageSizeGB 매개 변수는 메트릭을 저장하도록 프로비전되는 영구 볼륨의 크기를 설정하고 -retentionTimeHours 매개 변수는 수집된 메트릭이 보존되는 시간을 설정합니다.

모니터링 솔루션은 monitoring라는 별도의 네임스페이스에 설치되며 monitoring-sc.라는 StorageClass를 사용합니다. Prometheus는 http://akshci-monitoring-prometheus-svc.monitoring:9090클러스터 내에서만 액세스할 수 있는 내부 엔드포인트에 노출됩니다.

PowerShell을 사용하여 모니터링 솔루션 제거

다음과 같이 Uninstall-AksHciMonitoring PowerShell 명령을 실행하여 AKS Arc 모니터링 솔루션을 제거합니다.

Uninstall-AksHciMonitoring -Name <target cluster name>

제거 프로세스는 네임스페이스, StorageClass, 영구 볼륨의 실제 데이터 및 메트릭을 비롯한 모든 항목을 제거합니다.

Grafana를 배포하고 Prometheus를 사용하도록 구성

공개적으로 사용할 수 있는 Grafana를 배포하기 위한 지침을 따를 수 있습니다. Grafana를 사용하는 Microsoft의 배포 지침을 확인할 수 있습니다. 그리고 이 지침은 Grafana를 배포하고 설정하여 AKS Prometheus 인스턴스에 연결하는 방법을 자세히 설명합니다. 이 GitHub 페이지에서는 Arc에서 사용하도록 설정된 AKS에 대해 Microsoft에서 제공하는 Grafana 대시보드를 추가하는 방법도 설명합니다.

온-프레미스 로깅

로깅은 문제 해결 및 진단에 매우 중요합니다. AKS Arc의 로깅 솔루션은 Elasticsearch, Fluent Bit 및 Kibana(EFK)를 기반으로 합니다. 이러한 구성 요소는 모두 컨테이너로 배포됩니다.

  • Fluent Bit는 다른 원본에서 데이터와 로그를 수집하는 로그 프로세서 및 전달자입니다. 그런 다음 Elasticsearch에 서식을 지정하고 통합하고 저장합니다.
  • Elasticsearch는 빠른 검색 및 데이터 분석을 위해 로그를 중앙에서 저장할 수 있는 분산 검색 및 분석 엔진입니다. 
  • Kibana는 웹 대시보드에서 대화형 시각화를 제공합니다. 이 도구를 사용하면 Elasticsearch에 저장된 로그를 보고 쿼리한 다음 그래프 및 대시보드를 통해 시각화할 수 있습니다.

온-프레미스 로깅 솔루션을 설정하려면 Kibana액세스하도록 로깅을 설정하는 단계를 참조하세요. 이 문서에는 클러스터 전체에서 컨테이너 로그를 수집, 집계 및 쿼리하는 데 필요한 모든 구성 요소가 포함되어 있습니다.

고급 구성 단계를 보려면 Windows 로깅을(를) 참조하세요.

다음 단계