Mainframe Connector のリファレンス

Cloud Logging を設定する

Mainframe Connector は、コンテキスト情報を含む JSON 形式のログメッセージを Cloud Logging に送信できます。コンテキストには、ジョブ名、ジョブ ID、ジョブ日、ステップ名、z/OS から提供されるその他の変数が含まれます。

これにより、特定のジョブのログを見つけてアラートを作成できます。また、Mainframe Connector を Cloud Run、Google Kubernetes Engine、または Compute Engine にデプロイすると、ログは Cloud Logging エージェントによって収集され、ログ エクスプローラに表示されます。

Cloud Logging に書き込むように Mainframe Connector を構成するには、ジョブを起動する JCL で LOG_PROJECT 環境変数と LOG_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 BigQuery 標準 SQL クエリを含む MVS データセット。QUERY DD は、論理レコードサイズ(LRECL)が 80 の FB ファイルです。つまり、ファイル内のすべてのレコードの長さは 80 バイトです。
STDIN シェルコマンドの提供に使用されるストリーム入力。