로그 기록 및 모니터링

VMware용 GKE에는 클라우드 기반 관리형 서비스, 오픈소스 도구, 타사 상업용 솔루션과의 검증된 호환성을 비롯한 여러 가지 클러스터 로깅 및 모니터링 옵션이 포함되어 있습니다. 이 문서에서는 이러한 옵션에 대해 설명하고 사용자 환경에 적합한 솔루션을 선택하는 방법에 대한 기본안내를 제공합니다.

VMware용 GKE 옵션

VMware용 GKE에는 여러 로깅 및 모니터링 옵션이 있습니다.

Cloud Logging 및 Cloud Monitoring

Google Cloud Observability(이전의 Stackdriver)는 Google Cloud에 기본으로 제공되는 관측 가능성 솔루션입니다. 완전 관리형 로깅 솔루션, 측정항목 수집, 모니터링, 대시보드, 알림을 제공합니다. Cloud Monitoring은 클라우드 기반 GKE 클러스터와 유사한 방식으로 VMware용 GKE 클러스터를 모니터링합니다.

수집되는 측정항목 수준은 물론 모니터링 및 로깅 범위에 대한 클러스터 내 에이전트를 구성할 수 있습니다.

  • 로깅 및 모니터링의 범위는 시스템 구성요소로만(기본값) 또는 시스템 구성요소와 애플리케이션에만 설정할 수 있습니다.
  • 수집된 측정항목 수준은 최적화된 측정항목 집합 또는 전체 측정항목에 대해 구성될 수 있습니다.

자세한 내용은 이 문서에서 VMware용 Anthos 클러스터를 위한 로깅 및 모니터링 구성을 참조하세요.

Cloud Logging 및 Cloud Monitoring은 구성하기 쉽고 강력한 클라우드 기반의 단일 관측 솔루션을 원하는 고객에게 이상적입니다. VMware용 GKE에서만 워크로드를 실행하거나 GKE 및 VMware용 GKE에서 워크로드를 실행할 때 Logging 및 Monitoring을 사용하는 것이 좋습니다. VMware용 GKE 및 기존 온프레미스 인프라에서 실행되는 구성요소가 있는 애플리케이션의 경우 이러한 애플리케이션을 포괄적으로 볼 수 있는 다른 솔루션을 고려할 수 있습니다.

타사 솔루션

Google은 서드 파티 로깅 및 모니터링 솔루션 제공업체와 협력을 통해 해당 업체 제품이 VMware용 GKE에서 잘 작동할 수 있도록 지원합니다. 여기에는 Datadog, Elastic, Splunk가 포함됩니다. 이후에도 다른 검증된 제3자 제공업체가 추가될 예정입니다.

VMware용 GKE에서 서드 파티 솔루션을 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.

VMware용 GKE의 Logging 및 Monitoring 작동 방식

새 관리자 클러스터 또는 사용자 클러스터를 만들 때 각 클러스터에 로깅 및 모니터링 에이전트가 설치되고 활성화됩니다. 에이전트는 구성 가능한 범위인 시스템 구성요소에 대한 데이터를 수집합니다.

Google Cloud 콘솔에서 수집한 데이터를 보려면 보려는 로그 및 측정항목을 저장하는 Google Cloud 프로젝트를 구성해야 합니다.

각 클러스터의 로깅 및 모니터링 에이전트에는 다음이 포함됩니다.

  • GKE 측정항목 에이전트(gke-metrics-agent). Cloud Monitoring API로 측정항목을 전송하는 DaemonSet입니다.

  • 로그 전달자(stackdriver-log-forwarder). 각 머신의 로그를 Cloud Logging으로 전달하는 Fluent Bit DaemonSet입니다. 로그 전달자는 노드의 로그 항목을 로컬로 버퍼링하여 최대 4시간 동안 다시 전송합니다. 버퍼가 가득 차거나 로그 전달자가 4시간 이상 Cloud Logging API에 연결할 수 없으면 로그가 삭제됩니다.

  • 전역 GKE 측정항목 에이전트(gke-metrics-agent-global). 측정항목을 Cloud Monitoring API로 전송하는 Deployment입니다.

  • 메타데이터 에이전트(stackdriver-metadata-agent). 포드, 배포, 노드 등의 Kubernetes 리소스에 대한 메타데이터를 Stackdriver Resource Metadata API에 보내는 배포입니다. 이 데이터는 배포 이름, 노드 이름 또는 Kubernetes 서비스 이름으로 쿼리할 수 있도록 하여 측정항목 쿼리를 강화하는 데 사용됩니다.

  • kube-state-metrics. API 서버를 리슨하고 객체 상태에 대한 측정항목을 생성하는 배포입니다.

  • node-exporter. 하드웨어 및 OS 측정항목을 생성하는 DaemonSet입니다.

다음 명령어를 실행하여 모든 배포 에이전트를 확인할 수 있습니다.

  kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces

여기서 CLUSTER_KUBECONFIG는 클러스터의 kubeconfig 파일 경로입니다.

이 명령어 결과는 다음과 비슷합니다.

gke-metrics-agent-global                      1/1     Running   0   4h31m
stackdriver-metadata-agent-cluster-level      1/1     Running   0   4h31m

다음 명령어를 실행하여 모든 DaemonSet 에이전트를 확인할 수 있습니다.

  kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces

이 명령어 결과는 다음과 비슷합니다.

gke-metrics-agent                             1/1     Running   0   4h31m
stackdriver-log-forwarder                     1/1     Running   0   4h31m

VMware용 GKE의 로깅 및 모니터링 에이전트 구성

VMware용 GKE와 함께 설치된 에이전트는 클러스터의 문제를 유지보수하고 문제를 해결하기 위해 설정 및 구성에 따라 시스템 구성요소에 대한 데이터를 수집합니다.

시스템 구성요소만(기본 범위)

설치 시 에이전트는 기본적으로 Google에서 제공하는 시스템 구성요소의 성능 세부정보(예: CPU 및 메모리 사용률) 및 유사한 메타데이터 등 로그 및 측정항목을 수집합니다. 여기에는 관리자 클러스터의 모든 워크로드가 포함되고, 사용자 클러스터의 메타데이터에는 kube-system, gke-system, gke-connect, istio-system, config-management-system 네임스페이스의 워크로드가 포함됩니다. 다음 섹션에 설명된 것처럼 에이전트를 구성하거나 사용 중지할 수 있습니다.

수집되는 로그 및 측정항목 범위를 확장하여 애플리케이션을 포함할 수도 있습니다. 애플리케이션 로깅 및 모니터링을 사용 설정하는 방법은 사용자 애플리케이션에 Logging 및 Monitoring 사용 설정을 참조하세요.

최적화된 측정항목(기본 측정항목)

기본적으로 클러스터에서 실행되는 측정항목 에이전트는 최적화된 컨테이너, kubelet, kube-state-metrics 측정항목 집합을 수집하고 Google Cloud Observability(이전의 Stackdriver)에 보고합니다.

이 최적화 측정항목 집합을 수집하는 데 필요한 리소스가 줄어들어 전반적인 성능과 확장성이 향상됩니다. 이는 모니터링할 객체 수가 많으므로 컨테이너 수준 및 kube 수준 측정항목에 특히 중요합니다.

최적화된 kube-state-metrics 측정항목을 사용 중지하려면(권장하지 않음) Stackdriver 커스텀 리소스에서 optimizedMetrics 필드를 false로 설정합니다. Stackdriver 커스텀 리소스 변경에 대한 자세한 내용은 Stackdriver 구성요소 리소스 구성을 참조하세요. 기본적으로 제외된 측정항목을 포함한 모든 VMware용 GKE 측정항목은 GKE Enterprise 측정항목에 설명되어 있습니다.

Stackdriver 사용 설정 및 사용 중지

Stackdriver 커스텀 리소스를 사용 설정 또는 사용 중지하여 로깅 및 모니터링 에이전트를 완전히 사용 설정 또는 사용 중지할 수 있습니다. 이 기능은 미리보기 상태입니다.

로깅 및 모니터링 에이전트를 사용 중지하려면 먼저 지원 페이지에서 Google Cloud 지원 SLA에 미치는 영향을 자세히 확인하세요.

로깅 및 모니터링 에이전트는 스토리지 및 보관 구성에 따라 로컬에서 저장한 데이터를 캡처합니다. 프로젝트에 데이터를 쓸 수 있는 서비스 계정을 사용하여 설치 시 지정된 Google Cloud 프로젝트에 데이터를 복제합니다. 앞에서 설명한 것처럼 언제든지 이러한 에이전트를 사용 중지할 수 있습니다.

또한 로깅 및 모니터링 에이전트가 Cloud Logging 및 Cloud Monitoring에 전송한 데이터를 관리하고 삭제할 수 있습니다. 자세한 내용은 Cloud Monitoring 문서를 참조하세요.

로깅 및 모니터링을 위한 구성 요구사항

Cloud Logging 및 Cloud Monitoring 데이터를 보려면 보려는 로그 및 측정항목을 저장하는 Google Cloud 프로젝트를 구성해야 합니다. 이 Google Cloud 프로젝트를 로깅 모니터링 프로젝트라고 합니다.

  1. 로깅 모니터링 프로젝트에서 다음 API를 사용 설정합니다.

  2. 로깅 모니터링 프로젝트의 로깅 모니터링 서비스 계정에 다음 IAM 역할을 부여합니다.

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor
    • opsconfigmonitoring.resourceMetadata.writer

가격 책정

GKE Enterprise 시스템 로그 및 측정항목에는 요금이 청구되지 않습니다. 클러스터 생성 시 GKE Enterprise가 사용 설정된 프로젝트에 등록된 Google Cloud의 GKE 클러스터에 대해 제어 영역 로그, 제어 영역 측정항목, Kubernetes 상태 측정항목의 선별된 하위 집합기본적으로 사용 설정됩니다. 제어 영역 로그에는 Cloud Logging 요금이 부과되지만 기본 설정 측정항목은 추가 비용 없이 포함됩니다.

포함된 GKE 로그 및 측정항목 목록은 사용 가능한 로그사용 가능한 측정항목을 참조하세요.

VMware용 GKE 클러스터에서 GKE Enterprise 시스템 로그 및 측정항목에는 다음이 포함됩니다.

  • 관리자 클러스터에 있는 모든 구성요소의 로그 및 측정항목
  • 사용자 클러스터의 다음 네임스페이스에 있는 구성요소의 로그 및 측정항목: kube-system, gke-system, gke-connect, knative-serving, istio-system, monitoring-system, config-management-system, gatekeeper-system, cnrm-system

자세한 내용은 Google Cloud Observability 가격 책정을 참조하세요.

Cloud Logging 측정항목의 크레딧에 대한 자세한 내용은 영업팀에 가격 책정을 문의하세요.

다음 단계