arrow_back

GKE 기반 Monitoring 및 Logging 구성

로그인 가입
700개 이상의 실습 및 과정 이용하기

GKE 기반 Monitoring 및 Logging 구성

실습 1시간 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

개요

이 실습에서는 GKE 클러스터를 빌드한 다음 Kubernetes Engine Monitoring과 함께 사용할 포드를 배포합니다. 차트 및 커스텀 대시보드를 생성하고, 커스텀 측정항목을 활용하며, 알림을 생성하거나 알림에 응답합니다.

참고: 이 실습에서는 GKE Standard 모드를 사용합니다. 이 실습에서는 시스템 로깅 및 모니터링을 살펴볼 것이며 이는 GKE Autopilot에 기본적으로 사용 설정되어 있습니다.

목표

이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • Kubernetes Engine Monitoring을 사용해 클러스터 및 워크로드 측정항목 확인
  • Cloud Monitoring 알림을 사용해 클러스터 상태에 대한 알림 수신

실습 설정

Qwiklabs에 액세스

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • Google Cloud 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).

    실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.

    {{{user_0.username | "Username"}}}

    실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.

  4. 다음을 클릭합니다.

  5. 아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.

    {{{user_0.password | "Password"}}}

    실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.

  6. 다음을 클릭합니다.

    중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  7. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 체험판을 신청하지 않습니다.

잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.

참고: Google Cloud 제품 및 서비스 목록이 있는 메뉴를 보려면 왼쪽 상단의 탐색 메뉴를 클릭하거나 검색창에 제품 또는 서비스 이름을 입력합니다. 탐색 메뉴 아이콘

Google Cloud Shell 활성화하기

Google Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다.

Google Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.

  1. Cloud 콘솔의 오른쪽 상단 툴바에서 'Cloud Shell 열기' 버튼을 클릭합니다.

    강조 표시된 Cloud Shell 아이콘

  2. 계속을 클릭합니다.

환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 연결되면 사용자가 미리 인증되어 프로젝트가 PROJECT_ID로 설정됩니다. 예:

Cloud Shell 터미널에 강조 표시된 프로젝트 ID

gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.

  • 다음 명령어를 사용하여 사용 중인 계정 이름을 나열할 수 있습니다.
gcloud auth list

출력:

Credentialed accounts: - @.com (active)

출력 예시:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 다음 명령어를 사용하여 프로젝트 ID를 나열할 수 있습니다.
gcloud config list project

출력:

[core] project =

출력 예시:

[core] project = qwiklabs-gcp-44776a13dea667a6 참고: gcloud 전체 문서는 gcloud CLI 개요 가이드를 참조하세요.

작업 1. Kubernetes Engine Monitoring 사용

Google Kubernetes Engine에 Monitoring에 대한 관리형 지원이 포함됩니다.

이 작업에서는 Kubernetes Engine Monitoring 지원으로 새 클러스터를 만든 다음, Kubernetes Engine 모니터링 및 로깅 인터페이스를 이용해 기본 모니터링 작업을 수행합니다.

Kubernetes Engine Monitoring으로 GKE 클러스터 구성

이 작업에서는 Kubernetes Engine Monitoring을 사용 설정하여 GKE 클러스터를 생성합니다. 그런 다음 이 실습에서 나중에 사용할 샘플 워크로드를 GKE 클러스터에 배포합니다.

  1. Cloud Shell에서 다음 명령어를 입력하여 이 실습을 위한 클러스터를 만들 때 사용하게 될 Google Cloud 영역 및 클러스터 이름의 환경 변수를 생성합니다.
export my_zone={{{ project_0.default_zone| "Zone" }}} export my_cluster=standard-cluster-1
  1. kubectl 명령줄 도구의 명령줄 자동 완성 기능을 구성합니다.
source <(kubectl completion bash)
  1. 기본 Kubernetes 모니터링을 사용 설정하여 VPC 기반 Kubernetes 클러스터를 생성합니다.
gcloud container clusters create $my_cluster \ --num-nodes 3 --enable-ip-alias --zone $my_zone \ --logging=SYSTEM \ --monitoring=SYSTEM 참고: 클러스터 배포가 완료될 때까지 몇 분 정도 기다려야 합니다.
  1. kubectl의 클러스터에 대한 액세스 권한을 구성합니다.
gcloud container clusters get-credentials $my_cluster --zone $my_zone

Google Cloud 콘솔을 사용하여 모니터링의 구성 확인

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴 아이콘)에서 Kubernetes Engine > 클러스터를 클릭합니다.

  2. 클러스터 이름 standard-cluster-1을 클릭하여 클러스터의 세부정보를 확인합니다.

standard-cluster-1이 표시된 Kubernetes 클러스터 페이지

페이지를 아래로 스크롤하면 세부정보를 확인할 수 있습니다.

특성 제목 아래에서 LoggingCloud Monitoring 설정을 볼 수 있습니다. 이 설정에서 로깅 유형이 시스템으로 설정됩니다.

다양한 설정이 표시된 특성 섹션

GKE 클러스터에 샘플 워크로드 배포

이제 샘플 워크로드를 GKE 클러스터의 기본 네임스페이스에 배포합니다. 이 워크로드는 간단한 Hello World 데모 애플리케이션을 실행하는 세 개의 포드 배포로 구성되어 있습니다. 이 실습의 후반부에 Monitoring에서 이 워크로드의 상태를 모니터링할 수 있습니다.

  1. Cloud Shell에서 다음 명령어를 입력하여 실습용 저장소를 실습용 Cloud Shell에 클론합니다.
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. 작업 디렉터리로 연결되는 바로가기, 즉 소프트 링크를 생성합니다.
ln -s ~/training-data-analyst/courses/ak8s/v1.1 ~/ak8s
  1. 이 실습의 샘플 파일이 포함된 디렉터리로 이동합니다.
cd ~/ak8s/Monitoring/
  1. Cloud Shell에서 다음 명령어를 실행하여 샘플 배포를 생성하는 매니페스트를 배포하면 이 실습 후반부에 Monitoring을 사용해 모니터링할 일부 항목이 제공됩니다.
kubectl create -f hello-v2.yaml

이 배포 매니페스트는 간단한 Hello World 데모 애플리케이션을 실행하는 세 개의 포드를 생성합니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 해당 배포가 존재하는지 확인합니다.
kubectl get deployments

이 명령어의 출력을 보면 다음과 같이 기본 네임스페이스에서 hello-v2 애플리케이션이 실행 중임을 알 수 있습니다.

NAME READY UP-TO-DATE AVAILABLE AGE hello-v2 3/3 3 3 6s

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Kubernetes Engine Monitoring으로 GKE 클러스터 구성 및 샘플 워크로드 배포

GCP-GKE-Monitor-Test 애플리케이션 배포

이제 GCP-GKE-Monitor-Test 애플리케이션을 GKE 클러스터의 기본 네임스페이스에 배포합니다. 이 워크로드는 단일 포드로 구성된 배포를 보유하고 있으며, LoadBalancer 서비스를 통해 인터넷에 노출됩니다.

  1. Cloud Shell에서 다음 명령어를 실행하여 환경 변수에 현재 프로젝트 ID를 저장합니다.
export PROJECT_ID="$(gcloud config get-value project -q)"
  1. Cloud Shell에서 다음 명령어를 실행하여 부하 애플리케이션 디렉터리로 변경합니다.
cd gcp-gke-monitor-test
  1. Cloud Shell에서 다음 명령어를 실행하여 부하 테스트 애플리케이션의 Docker 이미지를 빌드하고 해당 이미지를 실습 프로젝트의 Google gcr.io 레지스트리에 푸시합니다.
gcloud builds submit --tag=gcr.io/$PROJECT_ID/gcp-gke-monitor-test .

또는 Docker를 직접 사용하여 이미지를 빌드하고 gcr.io에 푸시할 수도 있습니다.

docker build -t gcr.io/${PROJECT_ID}/gcp-gke-monitor-test .
  1. Cloud Shell에서 다음 명령어를 실행하여 실습에 사용 중인 기본 작업 디렉터리로 돌아갑니다.
cd ..
  1. Cloud Shell에서 다음 명령어를 실행하여 gcp-gke-monitor-test.yaml 파일의 자리표시자 값을 앞서 gcr.io로 푸시한 Docker 이미지로 대체합니다.
sed -i "s/\[DOCKER-IMAGE\]/gcr\.io\/${PROJECT_ID}\/gcp-gke-monitor-test\:latest/" gcp-gke-monitor-test.yaml 참고: UNIX 명령어인 sed스트림 편집기를 의미하며 파일에서 대체, 삽입, 삭제와 같은 다양한 기능을 수행할 수 있습니다. sed는 일반적으로 대체 시 가장 자주 사용됩니다.

sed를 사용하면 파일을 열지 않고도 편집할 수 있어 편집기에서 파일을 열고 수정할 때보다 파일의 내용을 빨리 찾고 대체할 수 있습니다.
  1. Cloud Shell에서 다음 명령어를 입력해 방금 업데이트한 매니페스트를 배포하여 Kubernetes Engine Monitoring 테스트에 사용할 배포 및 서비스를 생성합니다.
kubectl create -f gcp-gke-monitor-test.yaml
  1. Cloud Shell에서 다음 명령어를 실행하여 해당 배포가 존재하는지 확인합니다.
kubectl get deployments

이 명령어의 출력을 보면 다음과 같이 기본 네임스페이스에서 hello-v2 애플리케이션이 실행 중임을 알 수 있습니다.

NAME READY UP-TO-DATE AVAIL AGE gcp-gke-monitor-test 1/1 1 0 1s hello-v2 3/3 3 3 38s
  1. Cloud Shell에서 다음 명령어를 실행하여 해당 서비스가 존재하는지 확인합니다.
kubectl get service

이 명령어의 출력을 보면 기본 네임스페이스에서 gcp-gke-monitor-test-service가 실행 중임을 알 수 있습니다. 이 서비스에 외부 IP 주소가 할당될 때까지 이 명령어를 여러 번 실행해야 할 수도 있습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. GCP-GKE-Monitor-Test 애플리케이션 배포

작업 2. GCP-GKE-Monitor-Test 애플리케이션 사용

이 작업에서는 GCP-GKE-Monitor-Test 애플리케이션을 사용해 Kubernetes Engine Monitoring의 여러 측면을 살펴봅니다. 이 도구는 다음 네 개의 섹션으로 구성됩니다.

  • CPU 부하 생성
  • 커스텀 측정항목
  • 로그 테스트
  • 포드의 비정상 종료

GCP-GKE-Monitor-Test 애플리케이션

첫 섹션인 CPU 부하 생성에서는 버튼을 눌러 CPU 부하 생성기를 시작하고 종료할 수 있습니다. 이 도구는 전체 CPU 코어를 사용하는 수학 연산 루프를 시작합니다. CPU 포화로 인한 포드 제어 실패를 방지하기 위해, 해당 루프는 100나노초 동안 주기적으로 프로세서를 생성합니다. 이를 통해 포드를 중단하지 않고 CPU 부하 생성기를 신속히 중지할 수 있습니다.

두 번째 섹션인 커스텀 측정항목을 통해 Cloud Monitoring에서 커스텀 측정항목 모니터링을 살펴볼 수 있습니다. '모니터링 시작'을 클릭하면 이 도구는 먼저 필요한 '커스텀 측정항목 설명'을 생성한 다음 루프를 시작해 커스텀 측정항목 값을 60초마다 Monitoring에 전송합니다. 이 도구에 코딩된 커스텀 측정항목은 연결되어 있는 활성 사용자 수를 추적해 해당 수치를 외부 서비스에 보고할 수 있는 애플리케이션을 시뮬레이션하도록 설계되었습니다.

이 커스텀 측정항목을 활용하려면 애플리케이션 코드 내에서 일부 추가 계측이 필요할 수도 있습니다. 이 실습에서는 '사용자 증가' 또는 '사용자 감소' 버튼을 클릭해 사용자의 연결 또는 연결 해제를 시뮬레이션할 수 있습니다.

웹 도구를 통해 사용자 수를 실시간으로 변경할 수는 있지만(실제 상황에서 사용자가 실시간으로 연결하거나 연결 해제하는 것과 같이), Cloud Monitoring API는 도구가 현재 값을 분당 1회씩만 전송할 수 있도록 한다는 것에 유의하세요. 이는 Cloud Monitoring 차트가 분당 업데이트 시점 사이에 발생하는 변경사항을 반영하지 않는다는 것을 의미합니다.

세 번째 섹션인 로그 테스트를 통해서는 다양한 텍스트 문자열을 컨테이너의 표준 출력(콘솔)으로 전송할 수 있습니다. 그런 다음 해당 문자열은 Cloud Monitoring에서 수집되어 포드 및 컨테이너와 연결된 로그 메시지로 저장됩니다. 원하는 경우 디버그 수준 로깅을 사용 설정해 로그에서 보다 많은 항목을 확인할 수 있습니다. 이렇게 하면 커스텀 측정항목 섹션에서 사용자 수를 늘릴 때나 CPU 부하 생성기를 사용 설정 또는 사용 중지할 때 로그 내의 메시지를 확인할 수 있게 됩니다. 이러한 로그는 JSON 형식 메시지를 지원하지 않는 기존 애플리케이션을 시뮬레이션하기 위해 일반 텍스트 형식으로 전송됩니다. Logging의 로그를 확인해 보면 포드의 JSON 기반 Kubernetes 이벤트 로그가 비정형 로그에서 사용 가능한 것보다 훨씬 강력한 필터링 및 쿼리 옵션을 갖추고 있음을 확인할 수 있습니다.

네 번째이자 마지막 섹션인 포드의 비정상 종료에서는 버튼을 클릭하여 포드를 비정상 종료할 수 있습니다. 이 도구는 미처리 오류가 포함된 코드 섹션을 실행하며 이를 통해 포드를 비정상 종료하고 배포를 트리거하여 그 자리에 새 포드를 다시 시작합니다. 이 도구를 사용해 Kubernetes Engine의 오류 복구 속도를 살펴볼 수 있습니다. 또한 각 포드가 고유 세션을 중앙 위치에 저장하지 않고 포드에 유지하므로 작업 중인 세션 상태의 손실을 확인할 수도 있습니다. 포드가 다시 시작되면 모든 전환 버튼 및 설정이 기본값으로 돌아갑니다.

CPU 부하 생성기 시작

이제 웹브라우저를 열고 GCP-GKE-Monitor-Test 도구에 연결하여 CPU 부하 생성기를 시작합니다.

  1. Cloud Shell에서 다음 명령어를 입력하여 gcp-gke-monitor-test-service의 외부 IP 주소를 확인합니다.
kubectl get service
  1. 웹브라우저를 열고 해당 서비스의 외부 IP 주소로 이동합니다.
  2. CPU 부하 생성 섹션에서 CPU 부하 시작 버튼을 클릭합니다. 부하 생성기가 실행되면 '상태' 텍스트가 변경된다는 점에 유의합니다.

&#39;CPU 부하 생성&#39; 섹션에 강조 표시된 &#39;CPU 부하 시작&#39; 버튼과 상태

커스텀 측정항목 수집 시작

이제 GCP-GKE-Monitor-Test 도구 내에서 프로세스를 시작해 Cloud Monitoring의 커스텀 측정항목 설명을 생성합니다. 나중에 이 도구에서 커스텀 측정항목 데이터를 전송하기 시작하면 Monitoring이 해당 데이터를 이 측정항목 설명과 연결합니다. 커스텀 측정항목 데이터 전송 시 Monitoring에서 대부분 자동으로 커스텀 측정항목 설명을 생성하지만, 설명을 수동으로 생성하면 Monitoring 인터페이스에 표시되는 텍스트를 더욱 효과적으로 제어할 수 있으므로 측정항목 탐색기의 데이터를 더 쉽게 찾을 수 있다는 점을 염두에 두세요.

  1. GCP-GKE-Monitor-Test 도구의 커스텀 측정항목 섹션에서 모니터링 시작 버튼을 클릭합니다.

강조 표시된 &#39;모니터링 시작&#39; 버튼

이제 '사용자 증가' 및 '사용자 감소' 버튼을 클릭하여 '상태' 텍스트 아래에 표시되는 '현재 사용자 수'를 변경할 수 있습니다.

  1. 현재 사용자 수가 10명에 도달할 때까지 사용자 수 증가를 반복해 클릭합니다.

강조 표시된 &#39;사용자 수 증가&#39; 및 &#39;사용자 수 감소&#39; 버튼. 현재 사용자 수가 0입니다.

첫 번째 데이터 포인트가 Monitoring에 표시되기까지 2~3분이 소요될 수 있습니다. 이후 단계에서는 Cloud Monitoring에서 이 커스텀 측정항목을 확인할 수 있습니다.

테스트 로그 메시지 생성

이제 GCP-GKE-Monitor-Test 도구를 사용하여 나중에 Cloud Monitoring에 표시될 텍스트 기반 로그 샘플을 생성합니다.

  1. GCP-GKE-Monitor-Test 도구의 로그 테스트 섹션에서 디버그 로깅 사용 설정 버튼을 클릭하면 도구가 생성하는 로그 수가 늘어납니다.

강조 표시된 &#39;디버그 로깅 사용 설정&#39; 버튼

  1. 샘플 로그 메시지를 추가로 생성하려면 다른 네 개의 로그 항목 버튼을 클릭합니다. 여러 심각도 수준을 선택해 봄으로써 Monitoring에 표시되는 메시지 유형이 어떻게 달라지는지 확인하는 것이 중요합니다.

강조 표시된 &#39;일반 중요 로그 항목&#39;, &#39;오류 로그 항목 생성&#39;, &#39;경고 로그 항목 생성&#39;, &#39;정보 제공 로그 항목 생성&#39; 버튼

작업 3. Kubernetes Engine Monitoring 사용

이 작업에서는 Kubernetes Engine Monitoring을 사용해 GKE 클러스터 및 여기에서 실행되는 두 워크로드의 현재 상태를 살펴봅니다.

Monitoring 작업공간 만들기

이제 Google Cloud 프로젝트에 연결된 Monitoring 작업공간을 설정해 보겠습니다. 다음 단계에 따라 Monitoring 무료 체험이 포함된 새 계정을 만들 수 있습니다.

  1. Google Cloud 콘솔 제목 표시줄의 검색창Monitoring을 입력한 다음 검색 결과에서 Monitoring(인프라 및 애플리케이션 품질 검사)을 클릭합니다.

  2. Observability Monitoring 옆에 있는 고정을 클릭합니다.

  3. 작업공간이 프로비저닝되기를 기다립니다.

Monitoring 대시보드가 열리면 작업공간이 준비된 것입니다.

개요 페이지에서 열린 Monitoring 대시보드

Kubernetes Engine 모니터링 인터페이스 검토

이제 Kubernetes Engine Monitoring 인터페이스에 있는 세 개의 섹션을 열고 살펴봅니다. 세 개의 섹션은 '인프라', '워크로드', '서비스'입니다.

참고: GKE 옵션은 Monitoring 메뉴에 바로 표시되지 않을 수 있습니다. 클러스터에서 새 기능을 사용 설정하는 데 5~10분 정도 소요될 수 있습니다. 해당 옵션이 표시될 때까지 페이지를 주기적으로 새로고침하세요.
  1. Monitoring 인터페이스에서 대시보드 섹션의 GKE를 클릭하여 새 모니터링 인터페이스를 살펴봅니다.

  2. 모니터링 인터페이스를 검토합니다. 이 대시보드는 GKE 클러스터 및 해당 워크로드의 상태를 보여줍니다. 다음 사항에 유의합니다.

  • 인터페이스 상단에 동적 타임라인이 표시됩니다. 필요한 경우 드롭다운 아이콘을 클릭해 펼칩니다. 화면 상단에서 1시간, 6시간, 1일, 1주, 1개월, 6주, 맞춤설정 등으로 기간을 조정할 수 있습니다. 이 타임라인에는 알림('사고'라고도 함)이 발생했음을 나타내는 마커가 포함됩니다.

타임라인과 확장된 기간 드롭다운 메뉴가 표시된 GKE 대시보드

  • 자동 새로고침 버튼(화면 오른쪽의 전환 버튼): 자동 새로고침 버튼을 클릭하면 새 이벤트가 수신될 때 화면이 업데이트됩니다.
  • 이 대시보드의 하단에는 클러스터 및 해당 워크로드의 여러 섹션 뷰가 포함되어 있습니다. 인터페이스는 여러 섹션(클러스터, 네임스페이스, 노드, 워크로드, Kubernetes 서비스, 포드, 컨테이너)으로 나뉩니다.

인터페이스의 각 섹션을 검토합니다.

  • 클러스터, 노드, 포드 섹션을 통해 특정 클러스터 요소의 상태를 확인할 수 있습니다. 또한 이를 사용해 클러스터의 특정 노드에서 실행되는 포드를 검사할 수도 있습니다.

  • 클러스터의 세부정보를 보려면 클러스터 요소를 클릭합니다.

  • 워크로드 섹션은 특히 서비스가 노출되지 않은 워크로드 검색 시 매우 유용합니다.

  • Kubernetes 서비스 섹션은 해당 환경에 구성된 서비스를 클러스터별로, 네임스페이스(클러스터 내 관리 장벽 또는 파티션)별로 차례로 조직한 다음, 해당 네임스페이스 내에서 사용자가 이용할 수 있는 여러 서비스를 보여줍니다. 서비스별 세부정보는 서비스의 이름을 클릭해 확인할 수 있습니다.

  • 네임스페이스 섹션에서는 클러스터 내에 있는 네임스페이스의 목록을 보여줍니다.

모니터링 인터페이스에서 배포 및 포드에 대해 더 많은 세부정보를 확인할 수 있습니다.

  1. 포드 섹션에서 fluentbit-gke-xxxx로 시작하는 포드(필요한 경우 모두 보기 클릭)를 클릭한 후 측정항목 탭을 클릭하여 더 많은 측정항목을 확인합니다.

포드의 CPU 요청 사용률 값을 기록합니다. 이 수치는 클러스터에서 원래 요청한 CPU 리소스 양 대비 포드가 사용한 양을 나타냅니다.

  1. 포드 세부정보 창의 오른쪽 상단에 있는 X를 클릭합니다.

  2. 이제 gcp-gke-monitor-test로 시작하는 포드를 클릭하여 더 많은 세부정보를 확인합니다.

포드 대신 네임스페이스를 선택하는 경우 약간 다른 정보가 표시됩니다.

  1. 측정항목 탭을 클릭하여 CPU 요청 사용률 및 CPU 사용 시간과 같은 보다 자세한 측정항목을 확인합니다.

  2. 포드 세부정보 창에서 로그 탭을 클릭하여 해당 포드의 로그 활동을 확인합니다.

여기에는 포드가 생성한 로그 메시지 및 시간 경과에 따른 포드의 로깅 활동을 표시하는 그래프가 표시됩니다. 도구에서 직접 생성한 샘플 로그 일부를 여기에서 볼 수 있습니다.

여러 로그를 표시하는 포드 세부정보 페이지

  1. 포드 세부정보 창의 오른쪽 상단에 있는 X를 클릭하여 Monitoring 인터페이스로 돌아갑니다.

포드 모니터링을 위한 커스텀 Monitoring 대시보드 생성

Monitoring에서 커스텀 대시보드를 생성해 CPU 사용률, 컨테이너 다시 시작, 연결된 사용자 수의 커스텀 측정항목 등의 주요한 측정항목이 표시되도록 할 수 있습니다.

  1. Observability Monitoring 페이지의 왼쪽에 있는 탐색 메뉴에서 측정항목 탐색기를 클릭해 대시보드 빌드를 시작합니다.

  2. 측정항목 선택을 클릭합니다.

그러면 새 Kubernetes Engine Monitoring 도구가 지원하는 리소스 유형으로 목록이 필터링됩니다.

  1. Kubernetes 컨테이너 > 인기 측정항목 > CPU 요청 사용률을 선택합니다.

  2. 적용을 클릭합니다.

앞서 fluentbit-gke-xxxx 포드 검토 시 확인했던 차트와 동일한 CPU 요청 사용률 차트지만, 이제 이 차트에는 모든 포드의 측정항목이 표시됩니다.

  1. 이제 화면의 오른쪽 상단에 있는 차트 저장 버튼을 클릭합니다.

  2. 차트 제목에 컨테이너 CPU 요청과 같은 이름을 지정한 후 대시보드를 클릭합니다.

해당 차트 이름은 이 차트를 표시하는 데만 사용됩니다. 다음 단계에서 전체 대시보드의 이름을 지정할 수 있습니다.

  1. 새 대시보드를 클릭합니다.

  2. 대시보드 이름을 컨테이너 대시보드로 지정합니다.

  3. 차트 저장을 클릭합니다.

  4. 이제 탐색창의 대시보드를 클릭한 다음 새 대시보드의 이름을 선택하여 대시보드를 실행할 수 있습니다.

이제 해당 대시보드에 표준 Monitoring 측정항목이 포함된 단일 차트가 표시됩니다. 다음으로 커스텀 Monitoring 측정항목이 포함된 차트를 생성한 다음 이 대시보드에 추가합니다.

  1. 측정항목 탐색기를 클릭합니다.

  2. 측정항목 선택을 클릭합니다.

  3. Kubernetes 포드 > 커스텀 측정항목 > 웹 앱 - 활성 사용자를 선택합니다.

  4. 적용을 클릭합니다.

  5. 차트 저장을 클릭합니다.

  6. 새 차트의 이름(예: 활성 사용자)을 지정합니다.

  7. 대시보드 드롭다운에서 컨테이너 대시보드를 선택합니다.

  8. 차트 저장을 클릭합니다.

  9. 컨테이너 대시보드로 돌아가서 톱니바퀴 아이콘을 클릭하여 설정 메뉴를 표시합니다.

  10. 그런 다음 범례 > 표를 클릭하면 각 차트 아래에 텍스트가 표시됩니다.

  11. 각 차트의 오른쪽에서 이라는 단어 옆에 있는 세 개의 수직 막대를 클릭합니다.

애플리케이션 서버에서 전송한 timeSeries 데이터에 포함되어 있던 다양한 라벨이 포함된 팝업이 표시됩니다. 이 정보를 사용해 차트의 데이터를 필터링하거나 집계할 수도 있습니다.

작업 4. Kubernetes Engine Monitoring으로 알림 생성

이 작업에서는 Kubernetes Engine Monitoring 내에서 알림을 구성한 다음 대시보드를 사용해 사고를 확인하고 대응합니다.

알림 정책 만들기

이제 알림 정책을 만들어 컨테이너의 높은 CPU 사용률을 감지합니다.

  1. Cloud 콘솔의 탐색 메뉴에서 Monitoring > 알림을 선택합니다.
  2. + 정책 만들기를 클릭합니다.
  3. 측정항목 선택 드롭다운을 클릭합니다.
  4. 활성 옵션을 선택 해제합니다.
  5. 필터에 리소스 및 측정항목 이름으로 Kubernetes 컨테이너를 입력합니다.
  6. Kubernetes 컨테이너 > 컨테이너를 클릭합니다.
  7. CPU 요청 사용률을 선택합니다.
  8. 적용을 클릭합니다. 참고: Kubernetes 컨테이너 리소스 유형을 찾을 수 없는 경우 페이지를 새로고침해야 할 수 있습니다.
  9. 순환 기간을 1분으로 설정합니다.
  10. 다음을 클릭합니다.
  11. 기준점 위치를 기준점 초과로 설정합니다.
  12. 기준값으로 0.99를 설정합니다.
  13. 다음을 클릭합니다.

알림 구성 및 알림 정책 완료

  1. 알림 채널 옆에 있는 드롭다운 화살표를 클릭한 후 알림 채널 관리를 클릭합니다. 그러면 알림 채널 페이지가 새로운 탭에서 열립니다.

  2. 페이지를 아래로 스크롤하고 이메일에 대해 새로 추가를 클릭합니다.

  3. 이메일 주소 필드와 표시 이름에 개인 이메일을 입력합니다.

  4. 저장을 클릭합니다.

  5. 이전의 알림 정책 만들기 탭으로 돌아갑니다.

  6. 알림 채널을 다시 클릭한 다음 새로고침 아이콘을 클릭하여 이전 단계에서 언급한 표시 이름을 가져옵니다. 필요한 경우 알림 채널을 다시 클릭합니다.

  7. 이제 표시 이름을 선택하고 확인을 클릭합니다.

  8. 알림 이름을 CPU 요청 사용률로 지정합니다.

  9. 다음을 클릭합니다.

  10. 알림을 검토한 후 정책 만들기를 클릭합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Kubernetes Engine Monitoring으로 알림 생성

사고 대응

이제 모니터링 대시보드로 돌아가면 컨테이너 중 하나에 대한 사고가 보고된 것을 확인할 수 있습니다.

  1. Observability Monitoring 페이지에서 개요 > GKE를 선택합니다. 컨테이너에 보고된 사고가 Kubernetes Engine Monitoring 대시보드에 표시됩니다.
  2. 컨테이너 탭에서 알림이 표시된 컨테이너 이름을 클릭합니다. 알림을 등록하는 데 1~2분이 소요되며 알림을 확인하려면 페이지를 새로고침해야 할 수 있습니다.
  3. 알림 페이지로 이동합니다.
  4. 추가 세부정보를 보려면 알림 이름인 CPU 요청 사용률을 클릭합니다.
  5. 사고를 열어 사고 요약 항목을 클릭합니다.
  6. 사고 확인을 클릭합니다. 이제 사고 상태가 '확인됨'으로 표시되지만 아직 문제가 해결된 것은 아닙니다. 문제의 근본 원인인 CPU 부하 생성기 컨테이너를 수정해야 합니다.
  7. GCP-GKE-Monitor-Test 도구의 웹 인터페이스를 엽니다.
  8. CPU 부하 생성 섹션에서 CPU 부하 중지 버튼을 클릭해 CPU 부하 생성기를 중지하여 문제를 해결합니다.
  9. 이제 GCP-GKE-Monitor-Test 웹브라우저 창을 닫아도 됩니다.

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.