Riferimento per il connettore mainframe

Configura Cloud Logging

Il connettore mainframe può inviare messaggi di log in formato JSON contenenti informazioni di contesto a Cloud Logging. Il contesto include il nome del job, l'ID job la data del job, il nome del passaggio e altre variabili fornite da z/OS.

In questo modo puoi trovare i log per job specifici e creare avvisi. Inoltre, durante il deployment di Mainframe Connector su Cloud Run, Google Kubernetes Engine, o Compute Engine, i log vengono raccolti dell'agente Cloud Logging e vengono visualizzati in Esplora log.

Per configurare il Connettore mainframe in modo che scriva su Cloud Logging, imposta la classe LOG_PROJECT e LOG_ID variabili di ambiente nel JCL che avvia il job. Ad esempio, LOG_PROJECT=mainframe-connector-proj e LOG_ID=my-mfc. Il nome log LOG_NAME è derivato di LOG_PROJECT e LOG_ID. In questo esempio, projects/mainframe-connector-proj/logs/my-mfc.

Il tipo di risorsa è sempre globale perché il log è un log creato dall'utente piuttosto che un log del servizio cloud. Durante l'avvio, Mainframe Connector mostra un messaggio che indica se Cloud Logging è configurato.

Attiva le statistiche di caricamento

La funzionalità di statistiche sul carico registra ogni comando eseguito utilizzando Mainframe Connector in una tabella SQL. Per attivare la funzionalità delle statistiche sul caricamento, crea una tabella utilizzando il seguente comando e aggiungi il flag --stats_table TABLE_NAME al comando cp, dove TABLE_NAME è il nome della tabella 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)

Sostituisci quanto segue:

  • PROJECT_NAME: il nome del progetto in cui vuoi eseguire il comando.
  • DATASET_NAME: il nome del file del set di dati.
  • TABLE_NAME: il nome della tabella SQL in cui registrare i dettagli.

Nomi dei set di dati

Puoi utilizzare i seguenti file di definizione dei set di dati (DD) nella procedura JCL BQSH. Assicurati che tutti i set di dati MVS a cui si fa riferimento in un file DD utilizza il formato di record fixed block (FB).

Nome del GG Descrizione
TESTO Un set di dati MVS contenente un copybook COBOL per il set di dati a cui fa riferimento un INFILE DD. Puoi utilizzare il copybook DD con alcune limitazioni. Per maggiori informazioni consulta le restrizioni all'utilizzo di COPYBOOK DD.
INFILE Un set di dati MVS contenente un set di dati COBOL da caricare in Cloud Storage.
FILE CHIAVE Un set di dati MVS contenente un file della chiave JSON dell'account di servizio Google Cloud IAM.
OUTFILE Un set di dati MVS contenente un set di dati COBOL da caricare da BigQuery.
QUERY DD Un set di dati MVS contenente una query SQL standard di BigQuery. Il file DD QUERY è un file FB con una dimensione del record logico (LRECL) di 80. Ciò significa che ogni record nel file è lungo 80 byte.
STDIN Input del flusso utilizzato per fornire i comandi shell.