GKE 로그 감시가 편리해졌습니다!

10초 개요

  • 2021년 7월에 GCP의 Logging 기능이 업데이트되었다.
  • 미리 보기용 로그 기반 경고 기능
  • 이렇게 되면 GKE 등과 간단하게 협력해 로그 기반 경보를 실현할 수 있다.
  • 이 보도를 목표로 하는 자세
    moverview
    전제 조건
  • 모든 클러스터에 솔루션이 존재하고 기존 Pod의 로그를 알려줍니다.
  • 클러스터링은 Autopilot 모드에서 수행됩니다.
  • 이 글에는 이메일 통지를 예로 들어 기재되어 있다.
  • GCP에서 모니터링 솔루션의 상세한 발췌문


    운영 키트(Stackdriver)하면 됩니다.
  • Cloud Logging
  • Cloud Logging은 대규모로 실행되는 전체 관리 서비스입니다.GKE 환경, VM, Google Cloud 서비스에서 애플리케이션 및 시스템의 로그 데이터 외에 사용자 정의 로그 데이터를 가져올 수 있습니다.Cloud Logging은 선택한 로그를 분석하여 애플리케이션의 문제 해결을 가속화합니다.
  • Cloud Monitorig
  • 클라우드 모니터에서는 클라우드가 실행하는 애플리케이션의 성능, 실행 시간 및 전반적인 작동 상태를 확인할 수 있습니다.Google Cloud 서비스, host-up 시간 탐색, 애플리케이션 설치, 자주 사용하는 다양한 애플리케이션 구성 요소에서 지표, 이벤트, 메타데이터를 수집하고 차트 및 대시보드 시각화를 통해 경고를 관리할 수 있습니다.
    또 APM(Application Performance Management)으로서 존재Cloud Trace,Cloud Debugger,Cloud Profiler합니다.

    주안점


  • Cloud Operations for GKE라는 이름으로 GKECloud LoggingCloud Monitoring의 로컬 합병을 진행한다.
  • Cloud Operations for GKE를 사용하는 경우 Promeeteus와 원활한 협업
  • Cloud Login 구성


    Login의 ON/OFF 설정

    $ gcloud container clusters create/update NAME는 실행 중인 --logging 플래그에 의해 지원됩니다.
  • --logging NONE
  • Logging 없음
  • --logging SYSTEM
  • 제어 평면에서 온 전체 로그
  • --logging WORKLOAD
  • 사용자 노드가 실행하는 시스템 이외의 Pod 로그
  • ※ 오토파일럿 모드에서는 클러스터 생성 시 WORKLOAD 상태가 강제로 적용됩니다.

    로그 리소스 매니저 업데이트


    로그 기반 경보 기능 등 새로운 기능을 사용하기 위해 로그 자원 관리자를 업데이트합니다.
  • 이전 로그 뷰어에서 업데이트 선택
  • update

    Pod 로그 조회 찾기

  • 클러스터의 Pod 상세 화면에서 로그 표시를 눌러 로그 자원 관리자
  • 로 이동
    pod_log
  • 위 단계를 통해 로그 자원 관리자를 업데이트한 경우 새 자원 관리자 화면에서 Pod 로그를 검색하는 질의가 수행된 로그 자원 관리자로 마이그레이션됩니다.
  • pod_log_query
    질의 예제)
    resource.type="k8s_container"
    resource.labels.project_id="PROJECT_ID"
    resource.labels.location="asia-northeast1"
    resource.labels.cluster_name="CLUSTER_NAME"
    resource.labels.namespace_name="default"
    resource.labels.pod_name="POD_NAME"
    resource.labels.container_name="CONTAINER_NAME"
    

    로그 경고 생성

  • 로그 자원 관리자操作에서 ログアラートの作成를 선택합니다.
  • log_alert_1

  • Alert 설정을 위해 다음을 입력합니다.
  • Alert 이름
  • Alert의 Description
  • 폴링 간격
  • 쿼리 설정
  • ※ 알림 채널을 만들지 않은 상태에서 마지막 항목 중 선택通知チャンネルを管理
  • 당분간
    log_alert_2
  • 여기에는 베타 버전이 아닌 이메일을 이용해 알림 채널을 만든다.
  • Email 오른쪽 AddNew
  • 선택
  • 통지 목표지의 메일 주소와 통지 이름을 입력하고 누르기SAVE
  • monitor_email
  • 로그 자원 관리자로 돌아가 업데이트 단추를 누르면 생성된 알림 채널을 표시합니다.
  • log_alert_3
  • 이때 날아온 우편물은 다음과 같다.
  • notify_email

    Cloud Monitoring 설정


    Monitoring의 ON/OFF

    $ gcloud container clusters create/update NAME는 실행할 때의 모니터 로고가 지원합니다.
  • --monitorign NONE
  • Logging 없음
  • --monitorign SYSTEM
  • 제어 평면에서 온 전체 로그
  • ※ 오토파일럿 모드에서는 클러스터 생성 시 SYSTEM 상태가 강제로 적용됩니다.

    모니터링 경고 화면 활용 방법


    Cloud Logging을 통해 알림 설정을 하고, 메일 알림 등에 포함된VIEW INCIDENT을 누르면 모니터의 경고 페이지로 이동한다.
    이 화면에서는 다음을 수행할 수 있습니다.
  • 로그 알림의 POLICY 검색
  • 로그 알림의 POLICY 편집
  • 알림 시 로그 표시
  • 이벤트 관리(인지 또는 종료)
  • 사건이 인지된 상태에서 모니터링의 경보 화면에서 확인이 완료됐다.
    monitor_incident_monitor_incident_acknowlegde
    들여쓰기가 꺼져 있는 경우 모니터의 경고 화면에서 축소 진행을 제거합니다.SHOW CLOSED INCIDENTS를 누르면 닫힌 들여쓰기의 일람을 확인할 수 있습니다.
    monitor_incident_monitor_incident_closed

    대상 로그 필터링 예


    Cloud Login에서 객체 클러스터를 모니터링하는 콘솔 로그는 json 형식으로 표시됩니다.실제 로그는 textPayLoad 필드에 저장되어 있기 때문에 알림 대상의 로그를 줄이려면 조회에 다음과 같은 정보를 기록해야 한다.
    textPayLoad="SEVERE hogehoge"
    

    끝맺다

  • 클러스터가 이미 있는 경우 30분 이내에 이메일 알림이 완료됩니다.
  • 폴링 시간 통지는 미뤄졌지만 모니터에서 같은 사건은 하나였다.
  • 좋은 웹페이지 즐겨찾기