Konfigurieren des Protokoll-Streamings für Db2

Nachdem Db2 die Audit-Protokollierung aktiviert wurde, können Sie einen Log-Streaming-Pod erstellen, um die Audit-Protokolle an den IBM® Software Hub Audit-Dienst weiterzuleiten.

Vorbereitende Schritte

Aktivieren Sie die Audit-Protokollierung für den Db2 Dienst. Weitere Informationen finden Sie unter Konfigurieren der Überwachungsprotokollierung für Db2.

Vorgehensweise

  1. Erstellen Sie Umgebungsvariablen für Ihre Umgebung.
    1. Führen Sie den folgenden Befehl aus, um den Namen Ihrer aktiven Db2uCluster oder Db2uInstance zu ermitteln:
      oc get db2ucluster,db2uinstance -n ${PROJECT_CPD_INST_OPERANDS}
    2. Setzen Sie DB2_CR_ID auf den Ressourcennamen Ihres Db2uCluster oder Db2uInstance.
      export DB2_CR_ID=<db2ucluster resource name/<db2uinstance resource name>
    3. Führen Sie den folgenden Befehl aus, um das TLS-Geheimnis Ihrer Datenbankinstanz zu ermitteln:
      $ oc get secret -n ${PROJECT_CPD_INST_OPERANDS} | grep tls
    4. Setzen Sie die Umgebungsvariable INSTANCE_TLS auf den TLS-Schlüssel für die Datenbankinstanz, für die Sie das Protokoll-Streaming konfigurieren möchten:
      export INSTANCE_TLS=<instance-tls>
      In diesem DB2OLTP Fall können Sie es auf das Standardgeheimnis setzen:
      export INSTANCE_TLS=db2oltp-internal-tls
  2. Führen Sie den folgenden Befehl für Db2uCluster oder aus, Db2uInstance um zu überprüfen, ob die Auditprotokollierung aktiviert ist und ob die für Ihre bereitgestellte auditlogs PVC Datenbank erstellt wurde.
    Für Db2uCluster :
    oc get db2u <DB2_CR_ID> -oyaml
    Für Db2uInstance :
    oc get db2 <DB2_CR_ID> -oyaml
    Stellen Sie sicher, dass auf true gesetzt enableAudit ist und in auditlogs PVC hinzugefügt storage configs wurde.
  3. Erstellen Sie den Log-Stream-Pod für Db2uCluster oder Db2uInstance :
    cat << EOF | oc apply -f -
    apiVersion: db2ulog.databases.ibm.com/v1alpha1
    kind: Db2uLogStream
    metadata:
      name: $DB2_CR_ID
    spec:
      configurations:
        - type: audit
          format: cadf
          connection: cp4d
      connections:
        cp4d:
          endpoint: https://zen-audit-svc.${PROJECT_CPD_INST_OPERANDS}:9880/records
          credentials: $INSTANCE_TLS
          authType: tls
      resources: # this field is optional and used to control the resources of the logstreaming pod
        limits:
          cpu: "100m"
          memory: "300Mi"
        requests:
          cpu: "100m"
          memory: "300Mi"
    EOF
    Hinweis: Sie können Ressourcenbeschränkungen für Ihren Log-Streaming-Pod festlegen, indem Sie die resources Felder ausfüllen. Wenn Sie die Felder leer lassen, werden die Standardwerte verwendet.
    Der Log-Stream-Pod wird nach dem Anwenden der yaml Datei erstellt. Sie können den folgenden Befehl ausführen, um zu überprüfen, ob der Pod nun aktiv ist:
    $ oc get pod | grep logstream
    Der Befehl erzeugt eine Ausgabe ähnlich dem folgenden Beispiel:
    c-db2oltp-audit-test-logstream-6fb596cd5f-5r4xd                   1/1     Running     0            43h
  4. Optional: Aktivieren Sie den Debugging-Modus für das Log-Streaming.
    Der Debugging-Modus gibt mehr Details in der Ausgabe Ihres Log-Streaming-Pods zurück.
    1. Führen Sie den folgenden Befehl aus, um Ihren Log-Streaming-Pod zu bearbeiten:
      oc edit cm c-<instance-name>-logstream -oyaml
    2. Fügen Sie den folgenden Inhalt in das data Feld Ihrer Instanz ein:
      fluent.conf: "\n        <system>\n            log_level trace\n        </system>\n
          \       <source>\n            @type tail\n            path /var/log/auditlogs/*.del\n
          \           pos_file /tmp/auditlog.pos\n            tag audit.*\n            <parse>\n
          \               @type none\n            </parse>\n        </source>\n\n        <filter
          audit.**>\n            @type audit\n        </filter>\n        <filter audit.**>\n
          \           @type cadf\n        </filter>\n        <match audit.**>\n           @type
          http\n\t\t\t\t\t   endpoint https://zen-audit-svc.zen:9880/records\n\t\t\t\t\t
          \  <format>\n\t\t\t\t\t\t   @type json\n\t\t\t\t\t   </format>\n\t\t\t\t\t   json_array
          true\n\t\t\t\t\t   \n\t\ttls_ca_cert_path /etc/credentials/cp4d/ca.crt\n        tls_client_cert_path
          /etc/credentials/cp4d/tls.crt\n        tls_private_key_path /etc/credentials/cp4d/tls.key\n\t\t\n
          \       </match>\n    "
    3. Löschen Sie Ihren Log-Streaming-Pod, indem Sie den folgenden Befehl ausführen:
      oc delete pod c-<instance-name>-logstream-0
      Der Log-Streaming-Pod wird neu gestartet und die neue Konfiguration wird angewendet.