Hinweis:

Oracle Cloud Guard-Ereignisse in Oracle Analytics Cloud erfassen

Einführung

In diesem Tutorial werden Oracle Cloud Guard-Ereignisse an Oracle Autonomous JSON Database (AJD) weitergeleitet und in Oracle Analytics Cloud erfasst. In einem nachfolgenden Tutorial werden Cloud Guard-Ereignisse in Oracle Analytics Cloud analysiert und angezeigt.

Allgemeine Architektur

High Level Architektur.

Ziele

Voraussetzungen

Aufgabe 1: Oracle Cloud Guard zum Auslösen von Cloud-Ereignissen konfigurieren

Konfigurieren Sie Oracle Cloud Guard, um auf die Detektorrezepte zu reagieren. Die Responder-Regeln müssen sicherstellen, dass der Status für das Oracle Cloud Guard-Ereignis auf Aktiviert gesetzt ist, wie in der folgenden Abbildung dargestellt.

Responder-Regeln.

Aufgabe 2: OCI Events Service-Regeln erstellen, um Oracle Cloud Guard-Probleme zu erkennen und OCI Functions aufzurufen

  1. Mit OCI Events Service können Sie Automatisierung basierend auf den Statusänderungen von Ressourcen im gesamten Mandanten erstellen. Durch die Verwendung von Ereignissen können Entwicklungsteams automatisch reagieren, wenn eine Ressource ihren Status ändert.

    Um die Ereignisse abzurufen, navigieren Sie zu Observability and Management, und klicken Sie auf Events-Service. Erstellen Sie eine neue Regel, und konfigurieren Sie den Ereignistyp, der in die Funktion geschrieben wird, wie in der folgenden Abbildung dargestellt.

    Regeldefinition.

  2. Klicken Sie auf das Auslassungssymbol (drei vertikale Punkte), um die Oracle Cloud Guard-Ereignisse zu bearbeiten und an eine Funktion zu senden, wie in der folgenden Abbildung dargestellt.

    Parameterdefinition. Fügen Sie eine Aktion hinzu, um Cloud Guard-Ereignisse wie unten gezeigt an eine Funktion weiterzuleiten. Ereignisaktion. Ereignistypen konfigurieren. Ereignistypen.

Aufgabe 3: Funktion zum Weiterleiten von Ereignissen an AJD erstellen

  1. Gehen Sie zur OCI-Konsole, navigieren Sie zu Entwicklerservices, und klicken Sie auf Funktionen.

  2. Wählen Sie eine vorhandene Anwendung aus, oder klicken Sie auf Anwendung erstellen. Erstellen Sie eine neue OCI Functions in Ihrer Anwendung. Weitere Informationen finden Sie unter Funktionen QuickStart in Cloud Shell.

    Hinweis: Angenommen, Sie haben die Voraussetzungen erfolgreich erfüllt.

  3. Führen Sie den folgenden Befehl aus, um die Anwendung in der Anwendungsliste anzuzeigen.

    fn ls apps
    
  4. Es wird empfohlen, zuerst eine Boilerplate-Python-Funktion zu erstellen. Mit dem Befehl fn init – runtime oci-event-to-db wird ein Ordner namens oci-event-to-db mit drei Dateien namens func.py, func.yaml und requirements.txt generiert.

  5. Eine AJD-Tabelle muss vorhanden sein und REST-fähig sein. Wie in der Abbildung unten gezeigt. Rest aktiviert.

  6. Aktualisieren Sie den Inhalt der Datei func.py mit dem folgenden Code.

    import io
    import json
    import re
    import requests
    
    eventTable="https://mrj6p3vkk4ramuu-cgdata.adb.us-ashburn-1.oraclecloudapps.com/ords/cguser/event/"
    
    from fdk import response
    
    def handler(ctx, data: io.BytesIO=None):
    try:
    bodytxt = data.getvalue()
    body = json.loads(bodytxt)
    
    # print("event type: " + body["eventType"])
    # print("compartment name: " + body["data"]["compartmentName"])
    
    headers = {'Content-type': 'application/json', 'accept': 'application/json'}
    req = requests.post(eventTable, json={ "event": body }, headers=headers)
    
    except (Exception, ValueError) as ex:
    print('ERROR:', ex, flush=True)
    raise
    
    return response.Response(
    ctx,
    response_data=[ json.loads(req.text)["id"] ],
    # response_data=json.loads(req.text),
    headers={"Content-Type": "application/json"}
    )
    
  7. Aktualisieren Sie den Inhalt der Datei func.yaml mit dem folgenden Code.

    schema_version: 20180708
    name: oci-event-to-db
    version: 0.0.44
    runtime: python
    build_image: fnproject/python:3.11-dev
    run_image: fnproject/python:3.11
    entrypoint: /python/bin/fdk /function/func.py handler
    memory: 256
    
  8. Aktualisieren Sie den Inhalt der Datei requirements.txt mit dem folgenden Code.

    Requests
    oci
    fdk
    
  9. Führen Sie den folgenden Befehl aus, um Ihre Funktion bereitzustellen.

    fn -v deploy -app oci-event-to-db
    

Aufgabe 4: Datenbank mit ORDS vereinfachen

  1. Nachdem die Oracle Cloud Guard-Ereignisse in AJD gespeichert wurden, prüfen Sie die Datenbank auf Oracle Cloud Guard-Aktivitäten, indem Sie die Tabelle Ereignisse prüfen. Führen Sie die folgende SQL-Anweisung aus.

    SELECT * FROM EVENTS
    
  2. Da die Oracle Cloud Guard-Ereignisse im Java Script Object Notation-(JSON-)Format gespeichert werden, müssen sie vereinfacht oder in ein relationales Format konvertiert werden, damit Oracle Analytics Cloud die Daten analysieren kann.

    So vereinfachen Sie die Datenbank:

    1. Erstellen Sie einen Index für die Tabelle Events, und führen Sie die folgende SQL-Anweisung aus, um sie zu vereinfachen.

      Create search index event_idx on event (event) for JSON parameters ('DATAGUIDE ON');
      
    2. Erstellen Sie eine Ansicht.

      exec dbms_json.create_view_on_path('flat_event', 'event', 'event', '$’);
      
  3. Führen Sie die folgende SQL-Anweisung aus, um die in den obigen Schritten erstellten Spalten zu prüfen.

    SELECT COLUMN_NAME,DATA_TYPE FROM all_tab_columns where table_name ='FLAT_EVENT' order BY column_id;
    

    Die Spalten sollten zusammen mit dem Datentyp angezeigt werden, wie in der folgenden Abbildung dargestellt.

    Relationales Format.

Aufgabe 5: Verbindung mit Oracle Analytics Cloud herstellen

  1. Nachdem die Datenbank aus JSON in ein relationales Format konvertiert wurde, stellen Sie eine Verbindung zu Oracle Analytics Cloud her. Gehen Sie zur OCI-Konsole, navigieren Sie zur AJD-Instanz, und geben Sie die Zugangsdaten an, und laden Sie das Wallet herunter, wie im folgenden Bild dargestellt.

    AJD-Verbindung.

  2. Melden Sie sich bei Oracle Analytics Cloud an, klicken Sie auf Neue Verbindung erstellen, klicken Sie auf Oracle Autonomous Data Warehouse, und wählen Sie das Wallet aus, das in Schritt 1 heruntergeladen wurde.

    Oracle Analytics Cloud-Verbindungstypen.

  3. Sobald die Verbindung hergestellt ist, zeigt OAC sie wie folgt unter "Verbindungen" an. Liste "Oracle Analytics Cloud-Verbindung".

  4. Doppelklicken Sie auf die Verbindung, um ein neues Dataset in OAC zu erstellen, erweitern Sie das Schema, und ziehen Sie die Tabelle auf die Leinwand. Oracle Analytics Cloud-Dataset.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.