Configurar Cloud Logging
Mainframe Connector puede enviar mensajes de registro con formato JSON que contengan información de contexto a Cloud Logging. El contexto incluye el nombre del trabajo, el ID del trabajo, la fecha del trabajo, el nombre del paso y otras variables proporcionadas por z/OS.
De esta forma, puede encontrar registros de trabajos específicos y crear alertas. Además, cuando se despliega Mainframe Connector en Cloud Run, Google Kubernetes Engine o Compute Engine, el agente de Cloud Logging recoge los registros, que aparecen en el Explorador de registros.
Para configurar Mainframe Connector de forma que escriba en Cloud Logging, define las variables de entorno LOG_PROJECT
y LOG_ID
en el JCL que inicia el trabajo. Por ejemplo, LOG_PROJECT=mainframe-connector-proj
y LOG_ID=my-mfc
. El nombre del registro LOG_NAME
se deriva de LOG_PROJECT
y LOG_ID
. En este ejemplo, será projects/mainframe-connector-proj/logs/my-mfc
.
El tipo de recurso siempre es global, ya que el registro es un registro creado por el usuario en lugar de un registro del servicio en la nube. Durante el inicio, Mainframe Connector muestra un mensaje que indica si Cloud Logging está configurado.
Habilitar estadísticas de carga
La función de estadísticas de carga registra todos los comandos que ejecutas con Mainframe Connector en una tabla SQL. Para habilitar la función de estadísticas de carga, crea una tabla con el siguiente comando y añade la marca --stats_table TABLE_NAME
al comando cp
, donde TABLE_NAME es el nombre de la tabla 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)
Haz los cambios siguientes:
PROJECT_NAME
: el nombre del proyecto en el que quieres ejecutar el comando.DATASET_NAME
: el nombre del archivo del conjunto de datos.TABLE_NAME
: el nombre de la tabla SQL en la que quieres registrar los detalles.
Nombres de conjuntos de datos
Puede usar los siguientes archivos de definición de conjuntos de datos (DD) en su procedimiento JCL de BQSH. Asegúrate de que todos los conjuntos de datos MVS a los que hace referencia un archivo DD usen el formato de registro bloque fijo (FB).
Nombre de DD | Descripción |
---|---|
CUADERNO DE COPIAS | Un conjunto de datos de MVS que contiene un libro de copias de COBOL para el conjunto de datos al que hace referencia un INFILE DD. Puedes usar el DD de copybook con algunas restricciones. Para obtener más información, consulta las restricciones de uso de COPYBOOK DD. |
INFILE | Un conjunto de datos de MVS que contenga un conjunto de datos de COBOL que se va a subir a Cloud Storage. |
KEYFILE | Un conjunto de datos de MVS que contiene un archivo de claves JSON de una cuenta de servicio de gestión de identidades y accesos. Google Cloud |
OUTFILE | Un conjunto de datos de MVS que contiene un conjunto de datos de COBOL que se va a cargar desde BigQuery. |
QUERY | Un conjunto de datos de MVS que contiene una consulta SQL estándar de BigQuery. QUERY DD es un archivo FB con un tamaño de registro lógico (LRECL) de 80. Esto significa que cada registro del archivo tiene una longitud de 80 bytes. |
STDIN | Flujo de entrada usado para proporcionar comandos de shell. |