Nota

Acquisisci gli eventi Oracle Cloud Guard in Oracle Analytics Cloud

Introduzione

Questa esercitazione descrive come inoltrare gli eventi Oracle Cloud Guard a Oracle Autonomous JSON Database (AJD) e acquisirli in Oracle Analytics Cloud. Verrà eseguita un'esercitazione successiva che analizzerà e visualizzerà gli eventi Cloud Guard in Oracle Analytics Cloud.

Architettura di livello superiore

Architettura di livello superiore.

Obiettivi

Prerequisiti

Task 1: configurare Oracle Cloud Guard per attivare gli eventi cloud

Configurare Oracle Cloud Guard per rispondere alle ricette del rilevatore. Le regole del rispondente devono assicurarsi che lo stato dell'evento Oracle Cloud Guard sia impostato su Abilitato come mostrato nell'immagine seguente.

Regole del rispondente.

Task 2: creare regole del servizio OCI Events per rilevare i problemi di Oracle Cloud Guard e richiamare le funzioni OCI

  1. OCI Events Service ti consente di creare l'automazione in base alle modifiche allo stato delle risorse in tutta la tenancy. Utilizzando gli eventi, consente ai team di sviluppo di rispondere automaticamente quando una risorsa cambia stato.

    Per ottenere gli eventi, andare a Osservabilità e gestione e fare clic su Servizio eventi. Creare una nuova regola e configurare il tipo di evento che verrà scritto nella funzione, come mostrato nella seguente immagine.

    Definizione regole.

  2. Fare clic sull'icona con i puntini di sospensione (tre punti verticali) per modificare gli eventi di Oracle Cloud Guard e per inviarli a una funzione come mostrato nell'immagine seguente.

    Definizione parametro. Aggiungere un'azione per inoltrare gli eventi Cloud Guard a una funzione, come mostrato di seguito. Azione evento. Configurare i tipi di evento. Tipi di evento.

Task 3: Creare una funzione per inoltrare gli eventi ad AJD

  1. Andare a OCI Console, andare a Servizi per sviluppatori e fare clic su Funzioni.

  2. Selezionare un'applicazione esistente o fare clic su Crea applicazione. Crea una nuova OCI Functions all'interno della tua applicazione. Per ulteriori informazioni, vedere Funzioni QuickStart su Cloud Shell.

    Nota: si presume che i prerequisiti siano stati completati correttamente.

  3. Eseguire il comando seguente per visualizzare l'applicazione nell'elenco delle applicazioni.

    fn ls apps
    
  4. Si consiglia di creare prima una funzione Python boilerplate. Il comando fn init – runtime oci-event-to-db genererà una cartella denominata oci-event-to-db con tre file denominati func.py, func.yaml e requirements.txt.

  5. Una tabella AJD deve esistere ed essere abilitata per REST. Come mostrato nell'immagine qui sotto. Rest abilitato.

  6. Aggiornare il contenuto del file func.py con il codice seguente.

    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. Aggiornare il contenuto del file func.yaml con il codice seguente.

    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. Aggiornare il contenuto del file requirements.txt con il codice seguente.

    Requests
    oci
    fdk
    
  9. Eseguire il comando seguente per distribuire la funzione.

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

Task 4: Appiattire il database utilizzando ORDS

  1. Una volta memorizzati gli eventi di Oracle Cloud Guard in AJD, controllare la presenza di attività di Oracle Cloud Guard nel database controllando la tabella Eventi. Eseguire l'istruzione SQL riportata di seguito.

    SELECT * FROM EVENTS
    
  2. Since the Oracle Cloud Guard events are stored in Java Script Object Notation (JSON) format, it has to be flattened or converted into relational format for Oracle Analytics Cloud to analyze the data.

    Per appiattire il database, attenersi alla procedura riportata di seguito.

    1. Creare un indice nella tabella Eventi ed eseguire la seguente istruzione SQL per appiattirla.

      Create search index event_idx on event (event) for JSON parameters ('DATAGUIDE ON');
      
    2. Creare una vista.

      exec dbms_json.create_view_on_path('flat_event', 'event', 'event', '$’);
      
  3. Eseguire l'istruzione SQL seguente per controllare le colonne create nei passi precedenti.

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

    Le colonne devono essere visualizzate insieme al tipo di dati, come illustrato nella seguente immagine.

    Formato relazionale.

Task 5: connessione a Oracle Analytics Cloud

  1. Dopo aver convertito il database in formato relazionale da JSON, connettersi a Oracle Analytics Cloud. Andare alla console OCI e andare all'istanza AJD, quindi fare clic su Connessione al database per fornire le credenziali e scaricare il wallet come mostrato nell'immagine riportata di seguito.

    Connessione AJD.

  2. Eseguire il login a Oracle Analytics Cloud, fare clic su Crea una nuova connessione, quindi fare clic su Oracle Autonomous Data Warehouse e selezionare il wallet scaricato nel passo 1.

    Tipi di connessione a Oracle Analytics Cloud.

  3. Una volta stabilita la connessione, OAC la visualizzerà in Connessioni come indicato di seguito. Lista di connessioni a Oracle Analytics Cloud.

  4. Fare doppio clic sulla connessione per creare un nuovo data set in OAC, espandere lo schema e trascinare la tabella nell'area di creazione. Set di dati di Oracle Analytics Cloud.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.

Per la documentazione del prodotto, visita l'Oracle Help Center.