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 DD BigQuery 標準 SQL クエリを含む MVS データセット。QUERY DD は、論理レコードサイズ(LRECL)が 80 の FB ファイルです。つまり、ファイル内のすべてのレコードの長さは 80 バイトです。
STDIN シェルコマンドを提供するために使用されるストリーム入力。