데이터 모니터링 및 로깅

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

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

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

해결 방법 Azure 연결 지원 및 서비스 Cost 배포
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를 구성할 수도 있습니다. AKS Arc를 사용하여 자체 라이선스가 부여된 Grafana 복사본이 있어야 합니다.

모니터링 솔루션 개요

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

배포는 공개적으로 사용 가능한 Kube-Prometheus-stack Helm 차트를 기반으로 하며, Windows 내보내기를 지원하도록 확장되며 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 수집된 메트릭이 보존되는 시간을 설정합니다.

모니터링 솔루션은 라는 별도의 네임스페이스에 설치되며 라는 monitoringmonitoring-scStorageClass를 사용합니다. 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 instance 연결하는 방법을 자세히 설명합니다. 이 GitHub 페이지에서는 Microsoft에서 Arc에서 사용하도록 설정된 AKS에 사용할 수 있는 Grafana 대시보드를 추가하는 방법도 설명합니다.

온-프레미스 로깅

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

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

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

고급 구성 단계는 Windows 로깅을 참조하세요.

다음 단계