Mainframe Connector 参考文档

设置 Cloud Logging

大型机连接器可以将包含上下文信息的 JSON 格式日志消息发送到 Cloud Logging。上下文包括作业名称、作业 ID、作业日期、步骤名称和 z/OS 提供的其他变量。

这有助于您查找特定作业的日志并创建提醒。此外,在 Cloud Run、Google Kubernetes Engine 或 Compute Engine 上部署 Mainframe Connector 时,Cloud Logging 代理会收集日志,这些日志会显示在 Logs Explorer 中。

如需将 Mainframe Connector 配置为写入 Cloud Logging,请在启动作业的 JCL 中设置 LOG_PROJECTLOG_ID 环境变量。例如 LOG_PROJECT=mainframe-connector-projLOG_ID=my-mfc。日志名称 LOG_NAME 派生自 LOG_PROJECTLOG_ID。在此示例中,该网址为 projects/mainframe-connector-proj/logs/my-mfc

资源类型始终为全球,因为日志是用户创建的,而不是来自云服务的日志。在启动期间,Mainframe Connector 会显示一条消息,指明是否已配置 Cloud Logging。

启用加载统计信息

负载统计信息功能会将您使用 Mainframe Connector 在 SQL 表中执行的每条命令记录下来。如需启用加载统计信息功能,请使用以下命令创建表,并将标志 --stats_table TABLE_NAME 添加到 cp 命令中,其中 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 一个 MVS 数据集,其中包含 INFILE DD 引用的数据集的 COBOL 复制本。您可以使用副本簿 DD,但存在一些限制。如需了解详情,请参阅 COPYBOOK DD 使用限制
INFILE 包含要上传到 Cloud Storage 的 COBOL 数据集的 MVS 数据集。
KEYFILE 包含 Google Cloud IAM 服务账号 JSON 密钥文件的 MVS 数据集。
OUTFILE 一个 MVS 数据集,其中包含要从 BigQuery 加载的 COBOL 数据集。
查询 DD 包含 BigQuery 标准 SQL 查询的 MVS 数据集。QUERY DD 是一个逻辑记录大小 (LRECL) 为 80 的 FB 文件。这意味着,文件中的每个记录长度为 80 字节。
STDIN 用于提供 shell 命令的流输入。