Mainframe Connector-Referenz

Cloud Logging einrichten

Der Mainframe-Connector kann JSON-formatierte Protokollnachrichten mit Kontextinformationen an Cloud Logging senden. Der Kontext umfasst den Jobnamen, die Job-ID, das Jobdatum, den Schrittnamen und andere von z/OS bereitgestellte Variablen.

So können Sie Protokolle für bestimmte Jobs 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-Agent 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 im JCL fest, mit dem der Job gestartet wird. Beispiel: LOG_PROJECT=mainframe-connector-proj und LOG_ID=my-mfc. Der Log-Name LOG_NAME leitet sich von LOG_PROJECT und LOG_ID ab. In diesem Beispiel ist das projects/mainframe-connector-proj/logs/my-mfc.

Der Ressourcentyp ist immer global, da es sich bei dem Protokoll um ein von Nutzern erstelltes Protokoll handelt und nicht um ein Protokoll des Cloud-Dienstes. Beim Starten wird in Mainframe Connector eine Meldung angezeigt, ob Cloud Logging konfiguriert ist.

Ladestatistiken aktivieren

Mit der Funktion „Ladestatistiken“ wird jeder Befehl, den Sie mit dem Mainframe-Connector ausführen, in einer SQL-Tabelle protokolliert. Wenn Sie die Funktion „Ladestatistiken“ aktivieren möchten, erstellen Sie eine Tabelle mit dem folgenden Befehl und fügen Sie dem Befehl cp das Flag --stats_table TABLE_NAME hinzu. Dabei ist TABLE_NAME der Name der SQL-Tabelle.

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 Datensatzdatei.
  • TABLE_NAME: Der Name der SQL-Tabelle, in der Sie die Details erfassen möchten.

Dataset-Namen

Sie können die folgenden Datensatzdefinitionsdateien (DD) in Ihrem BQSH-JCL-Verfahren verwenden. Achten Sie darauf, dass für alle MVS-Datasets, auf die in einer DD-Datei verwiesen wird, das Eintragsformat „Fixed Block“ (FB) verwendet wird.

Name des Datenträgers Beschreibung
COPYBOOK Ein MVS-Dataset mit einem COBOL-Copybook für das Dataset, auf das über ein INFILE-DD verwiesen wird. 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 das Google Cloud IAM-Dienstkonto.
OUTFILE Ein MVS-Dataset mit einem COBOL-Dataset, das aus BigQuery geladen werden soll.
QUERY DD Ein MVS-Dataset mit einer BigQuery-Standard-SQL-Abfrage. Das 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 Streameingabe, die zum Bereitstellen von Shell-Befehlen verwendet wird.