Riferimento a Mainframe Connector

Configura Cloud Logging

Mainframe Connector può inviare a Cloud Logging messaggi di log in formato JSON contenenti informazioni sul contesto. 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, quando esegui il deployment di Mainframe Connector su Cloud Run, Google Kubernetes Engine o Compute Engine, i log vengono raccolti dall'agente Cloud Logging e visualizzati in Logs Explorer.

Per configurare Mainframe Connector in modo che scriva in Cloud Logging, imposta le variabili di ambiente LOG_PROJECT e LOG_ID nel JCL che avvia il job. Ad esempio, LOG_PROJECT=mainframe-connector-proj e LOG_ID=my-mfc. Il nome del log LOG_NAME è ricavato da LOG_PROJECT e LOG_ID. In questo esempio sarà 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 sul carico

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 vuoi registrare i dettagli.

Nomi dei set di dati

Puoi utilizzare i seguenti file di definizione del set di dati (DD) nella procedura JCL BQSH. Assicurati che tutti i set di dati MVS a cui fa riferimento un file DD utilizzino il formato di record blocco fisso (FB).

Nome GG Descrizione
COPYBOOK Un set di dati MVS contenente un archivio COBOL per il set di dati a cui fa riferimento un DD INFILE. Puoi utilizzare il modello DD con alcune limitazioni. Per ulteriori informazioni, consulta le limitazioni di utilizzo di COPYBOOK DD.
INFILE Un set di dati MVS contenente un set di dati COBOL da caricare in Cloud Storage.
KEYFILE 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 stream utilizzato per fornire comandi shell.