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-proj や LOG_ID=my-mfc です。ログ名 LOG_NAME は LOG_PROJECT と LOG_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 | シェルコマンドの提供に使用されるストリーム入力。 |