Cloud Logging einrichten
Der Mainframe-Connector kann JSON-formatierte Log-Nachrichten senden, Kontextinformationen an Cloud Logging. Der Kontext umfasst Jobname, Job-ID, Jobdatum, Schrittname und andere von z/OS bereitgestellte Variablen.
So können Sie Logs für bestimmte Jobs leichter finden und Benachrichtigungen erstellen. Wenn Sie den Mainframe-Connector in Cloud Run, der Google Kubernetes Engine oder der Compute Engine bereitstellen, werden die Protokolle zusätzlich vom Cloud Logging-Agenten erfasst und im Logs Explorer angezeigt.
Wenn Sie den Mainframe-Connector so konfigurieren möchten, dass er in Cloud Logging schreibt, legen Sie die Umgebungsvariablen LOG_PROJECT
und LOG_ID
in der JCL fest, mit der der Job gestartet wird. Beispiel: LOG_PROJECT=mainframe-connector-proj
und LOG_ID=my-mfc
. Der Logname LOG_NAME
wird abgeleitet
von LOG_PROJECT
und LOG_ID
. In diesem Beispiel
projects/mainframe-connector-proj/logs/my-mfc
sein.
Der Ressourcentyp ist immer global, da das Log ein vom Nutzer erstelltes Log ist. und nicht ein Log vom Cloud-Dienst. Während des Startvorgangs Der Mainframe-Connector zeigt eine Meldung an, Cloud Logging ist konfiguriert.
Ladestatistiken aktivieren
Mit der Funktion für Ladestatistiken wird jeder Befehl, den Sie mit dem Mainframe-Connector ausführen, in einer SQL-Tabelle protokolliert. Um die Laststatistiken zu aktivieren
erstellen Sie mit dem folgenden Befehl eine Tabelle und fügen Sie den
--stats_table TABLE_NAME
an cp
melden
verwenden, wobei TABLE_NAME der Name der SQL-Tabelle ist.
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)
Ersetzen Sie Folgendes:
PROJECT_NAME
: der Name des Projekts, in dem Sie den Befehl ausführen möchten.DATASET_NAME
: der Name der Datasetdatei.TABLE_NAME
: Der Name der SQL-Tabelle, in der Sie die Details erfassen möchten.
Dataset-Namen
Sie können in Ihrer BQSH-JCL die folgenden DD-Dateien (Dataset-Definitionsdateien) verwenden Verfahren. Achten Sie darauf, dass für alle MVS-Datasets, auf die in einer DD-Datei verwiesen wird, das Fixed Block (FB)-Eintragsformat verwendet wird.
Name des DD. | Beschreibung |
---|---|
KOPIEBOOK | Ein MVS-Dataset, das ein COBOL-Copybook für das Dataset enthält, auf das von ein INFILE DD. Sie können das Copybook DD mit einigen Einschränkungen verwenden. Weitere Informationen finden Sie unter Einschränkungen für die Verwendung von COPYBOOK DD. |
INFILE | Ein MVS-Dataset mit einem COBOL-Dataset, das in Cloud Storage hochgeladen werden soll. |
KEYFILE | Ein MVS-Datensatz mit einer JSON-Schlüsseldatei für ein Google Cloud IAM-Dienstkonto. |
DATEI | Ein MVS-Dataset mit einem COBOL-Dataset, das aus BigQuery geladen werden soll. |
ABFRAGE – TT | Ein MVS-Dataset mit einer BigQuery-Standard-SQL-Abfrage. Die QUERY DD ist eine FB-Datei mit einer logischen Datensatzgröße (LRECL) von 80. Das bedeutet, dass jeder Datensatz in der Datei 80 Byte lang ist. |
STDIN | Stream-Eingabe, die zur Bereitstellung von Shell-Befehlen verwendet wird. |