이 페이지에서는 작업의 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 역할을 부여해 달라고 요청하세요.
- 로그가 사용 설정된 작업 만들기: 프로젝트에 대한 Batch 작업 편집자(
roles/batch.jobsEditor
) - 로그 보기: 프로젝트에 대한 로그 뷰어(
roles/logging.viewer
)
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
- 로그가 사용 설정된 작업 만들기: 프로젝트에 대한 Batch 작업 편집자(
작업 로그 사용 설정
작업에 대한 로그를 생성하려면 작업을 만들 때 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, Go, Java, Python 또는 C++을 사용하여 작업 로그를 볼 수 있습니다.
콘솔
Google Cloud 콘솔을 사용하여 작업 로그를 보려면 다음을 수행합니다.
Google Cloud 콘솔에서 작업 목록 페이지로 이동합니다.
작업 이름 열에서 작업 이름을 클릭합니다. 작업 세부정보 페이지가 열립니다.
로그 탭을 클릭합니다. Batch에는 작업과 관련된 모든 로그가 표시됩니다.
선택사항: 로그를 필터링하려면 다음 중 하나를 수행합니다.
필터를 입력합니다.
필터 필드에심각도 목록에서 심각도를 선택합니다.
Batch 필터 매개변수를 사용하여 로그 탐색기에서 쿼리 빌드합니다.
로그 탐색기에서 보기를 클릭하고
gcloud
gcloud CLI를 사용하여 로그를 보려면 gcloud logging read
명령어를 사용합니다.
gcloud logging read "QUERY"
여기서 QUERY
는 Batch 필터 매개변수가 포함된 Batch 로그에 대한 쿼리입니다.
API
Logging API를 사용하여 로그를 보려면 entries.list
메서드를 사용합니다.
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 프로젝트 ID입니다.QUERY
: Batch 필터 매개변수가 포함된 Batch 로그에 대한 쿼리입니다.
Go
Go
자세한 내용은 Batch Go API 참조 문서를 확인하세요.
Batch에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
Java
자세한 내용은 Batch Java API 참조 문서를 확인하세요.
Batch에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Python
자세한 내용은 Batch Python API 참조 문서를 확인하세요.
Batch에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
C++
C++
자세한 내용은 Batch C++ API 참조 문서를 확인하세요.
Batch에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
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
: 로그를 보려는 프로젝트의 프로젝트 IDBATCH_LOG_TYPE
: 보려는 Batch 로그의 유형(작업 로그의 경우batch_task_logs
, 에이전트 로그의 경우batch_agent_logs
)입니다.
다음 단계
- 문제 해결 자세히 알아보기
- Cloud Logging에 대해 자세히 알아보기
- 작업 삭제 및 내보내기 방법 알아보기