Mainframe Connector 참조

Cloud Logging 설정

Mainframe Connector는 컨텍스트 정보가 포함된 JSON 형식의 로그 메시지를 Cloud Logging으로 전송할 수 있습니다. 컨텍스트에는 작업 이름, 작업 ID, 작업 날짜, 단계 이름, z/OS에서 제공하는 기타 변수가 포함됩니다.

이를 통해 특정 작업에 대한 로그를 찾고 알림을 만들 수 있습니다. 또한 Cloud Run, Google Kubernetes Engine 또는 Compute Engine에 Mainframe Connector를 배포하면 Cloud Logging 에이전트에서 로그가 수집되고 로그 탐색기에 표시됩니다.

Cloud Logging에 쓰도록 Mainframe Connector를 구성하려면 작업을 시작하는 JCL에서 LOG_PROJECTLOG_ID 환경 변수를 설정합니다. 예를 들면 LOG_PROJECT=mainframe-connector-projLOG_ID=my-mfc입니다. 로그 이름 LOG_NAMELOG_PROJECTLOG_ID에서 파생됩니다. 이 예시에서는 projects/mainframe-connector-proj/logs/my-mfc입니다.

로그가 클라우드 서비스의 로그가 아닌 사용자가 만든 로그이므로 리소스 유형은 항상 전역입니다. 시작 중에 Mainframe Connector는 Cloud Logging이 구성되었는지 여부를 나타내는 메시지를 표시합니다.

로드 통계 사용 설정

로드 통계 기능은 SQL 테이블에서 Mainframe Connector를 사용하여 실행하는 모든 명령어를 로깅합니다. 로드 통계 기능을 사용 설정하려면 다음 명령어를 사용하여 테이블을 만들고 cp 명령어에 --stats_table TABLE_NAME 플래그를 추가합니다. 여기서 TABLE_NAME은 SQL 테이블의 이름입니다.

CREATE TABLE
  `[PROJECT_ID].[DATASET_NAME].[TABLE_NAME]` (
    timestamp TIMESTAMP,
    job_id STRING,
    job_name STRING,
    job_date DATE,
    job_time TIME,
    job_step_name STRING,
    job_type STRING,
    source STRING,
    destination STRING,
    job_json STRING,
    rows_read INT64,
    rows_written INT64,
    rows_affected INT64,
    rows_inserted INT64,
    rows_deleted INT64,
    rows_updated INT64,
    rows_unmodified INT64,
    rows_before_merge INT64,
    rows_loaded INT64,
    bq_job_id STRING,
    bq_job_project STRING,
    bq_job_location STRING,
    statement_type STRING,
    query STRING,
    execution_ms INT64,
    queued_ms INT64,
    bytes_processed INT64,
    slot_ms INT64,
    slot_utilization_rate FLOAT64,
    slot_ms_to_total_bytes_ratio FLOAT64,
    shuffle_bytes FLOAT64,
    shuffle_bytes_to_total_bytes_ratio FLOAT64,
    shuffle_spill_bytes FLOAT64,
    shuffle_spill_bytes_to_shuffle_bytes_ratio FLOAT64,
    shuffle_spill_bytes_to_total_bytes_ratio FLOAT64,
    shuffle_spill_gb FLOAT64,
    bq_stage_count INT64,
    bq_step_count INT64,
    bq_sub_step_count INT64,
    bq_stage_summary STRING)
PARTITION BY job_date
CLUSTER BY job_name, job_id, job_step_name
OPTIONS (
  partition_expiration_days=1000,
  description="Log table for mainframe jobs",
  require_partition_filter=true)

다음을 바꿉니다.

  • PROJECT_NAME: 명령어를 실행할 프로젝트의 이름입니다.
  • DATASET_NAME: 데이터 세트 파일의 이름입니다.
  • TABLE_NAME: 세부정보를 로깅할 SQL 테이블의 이름입니다.

데이터 세트 이름

BQSH JCL 절차에서 다음 데이터 세트 정의(DD) 파일을 사용할 수 있습니다. DD 파일에서 참조하는 모든 MVS 데이터 세트고정 블록(FB) 레코드 형식을 사용하는지 확인합니다.

DD 이름 설명
COPYBOOK INFILE DD에서 참조하는 데이터 세트의 COBOL 카피북이 포함된 MVS 데이터 세트입니다. 카피북 DD에는 몇 가지 제한사항이 있습니다. 자세한 내용은 COPYBOOK DD 사용 제한사항을 참조하세요.
INFILE Cloud Storage에 업로드할 COBOL 데이터 세트가 포함된 MVS 데이터 세트입니다.
KEYFILE Google Cloud IAM 서비스 계정 JSON 키 파일이 포함된 MVS 데이터 세트입니다.
OUTFILE BigQuery에서 로드할 COBOL 데이터 세트가 포함된 MVS 데이터 세트
QUERY DD BigQuery 표준 SQL 쿼리가 포함된 MVS 데이터 세트입니다. QUERY DD는 논리 레코드 크기(LRECL)가 80인 FB 파일입니다. 즉, 파일의 모든 레코드의 길이는 80바이트입니다.
STDIN 셸 명령어를 제공하는 데 사용되는 스트림 입력입니다.