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