로그를 사용하여 작업 분석

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 페이지에서는 작업에 대해 Cloud Logging에서 로그를 사용 설정하고 보는 방법을 설명합니다.

로그를 사용하여 작업 분석에 유용한 정보를 얻을 수 있습니다. 예를 들어 로그는 실패한 작업을 디버깅하는 데 도움이 될 수 있습니다. 작업에 Cloud Logging이 사용 설정된 경우 Cloud Logging은 확인할 수 있는 다음 유형의 로그를 생성합니다.

  • 태스크 로그(batch_task_logs): 표준 출력(stdout) 및 표준 오류(stderr) 스트림에 기록된 모든 데이터의 로그입니다. 작업의 태스크 로그를 생성하려면 분석 및 디버깅을 위해 이러한 스트림에 데이터를 기록하도록 태스크를 구성합니다.
  • 에이전트 로그(batch_agent_logs): Batch 서비스 에이전트의 활동에 대한 로그입니다. Batch는 작업에 대한 이러한 로그를 자동으로 생성합니다.

Cloud Logging은 작업 실행이 시작된 후에만 로그를 생성합니다. 작업 실행이 시작되었는지 확인하려면 작업을 설명하고 작업의 상태RUNNING 또는 그 이후의 상태인지 확인합니다. (예: RUNNING 상태 이전에 작업이 실패함) gcloud CLI 또는 Batch API를 사용하여 작업을 설명하고 statusEvents 필드를 확인합니다.

시작하기 전에

  • Batch를 사용한 적이 없으면 Batch 시작하기를 검토하고 프로젝트 및 사용자 기본 요건을 완료하여 Batch를 사용 설정하세요.
  • 로그를 사용하여 작업을 분석하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

    • 로그가 사용 설정된 작업을 만들려면 프로젝트에 대한 일괄 작업 편집자(roles/batch.jobsEditor)를 사용하세요.
    • 로그 보기: 프로젝트의 로그 뷰어(roles/logging.viewer)

    역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

작업에 로그 사용 설정

작업 로그를 생성하려면 작업을 만들 때 Cloud Logging을 사용 설정합니다.

  • Google Cloud 콘솔을 사용하여 작업을 만들면 Cloud Logging이 항상 사용 설정됩니다.
  • gcloud CLI 또는 Batch API를 사용하여 작업을 만들면 Cloud Logging이 기본적으로 사용 중지됩니다. Cloud Logging을 사용 설정하려면 작업을 만들 때 logsPolicy 필드에 다음 구성을 포함합니다.

    {
        ...
        "logsPolicy": {
            "destination": "CLOUD_LOGGING"
        }
        ...
    }
    

작업 로그 보기

Google Cloud 콘솔, gcloud CLI 또는 Logging API를 사용하여 Cloud Logging의 작업 로그를 볼 수 있습니다.

콘솔

Google Cloud 콘솔을 사용하여 작업 로그를 보려면 다음을 수행합니다.

  1. 작업을 설명합니다.
  2. 작업 세부정보 페이지의 로그 섹션에서  Cloud Logging을 클릭합니다. 로그 탐색기 페이지가 열립니다.

    기본적으로 로그 탐색기에는 이 작업의 모든 태스크 로그가 표시됩니다.

    권장사항: 표시할 로그를 필터링하려면 쿼리를 빌드합니다 예를 들어 쿼리 편집기 필드Batch 로그에 대한 쿼리를 입력합니다.

gcloud

gcloud CLI를 사용하여 로그를 보려면 gcloud logging read 명령어를 사용합니다.

gcloud logging read "QUERY"

여기서 QUERYBatch 로그 쿼리입니다.

API

Logging API를 사용하여 로그를 보려면 entries.list 메서드를 사용합니다.

POST https://logging.googleapis.com/v2/entries:list
{
    "resourceNames": [
        "projects/PROJECT_ID"
    ],
    "filter": "QUERY"
    "orderBy": "timestamp desc"
}

다음을 바꿉니다.

쿼리를 작성하여 Batch 로그 필터링

다음 필터 매개변수 중 하나 이상과 0개 이상의 불리언 연산자(AND, OR, NOT)가 포함된 쿼리를 작성하여 Batch 로그를 필터링할 수 있습니다.

  • 특정 작업의 로그를 필터링하려면 작업의 고유 ID(UID)를 지정합니다.

    labels.job_uid=JOB_UID
    

    여기서 JOB_UID는 작업의 UID입니다. 작업의 UID를 얻으려면 작업을 설명하세요.

  • 특정 유형의 Batch 로그를 필터링하려면 로그 유형을 지정합니다.

    logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
    

    다음을 바꿉니다.

    • PROJECT_ID: 로그를 보려는 프로젝트의 프로젝트 ID입니다.
    • BATCH_LOG_TYPE: 보려는 Batch 로그의 유형(작업 로그의 경우 batch_task_logs, 에이전트 로그의 경우 batch_agent_logs)입니다.

다음 단계