Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
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.
-
Oracle Cloud Guard: Oracle Cloud Guard è un servizio Oracle Cloud Infrastructure (OCI) nativo che aiuta i clienti a monitorare e rilevare le risorse in tutte le region, consente di mantenere un livello di sicurezza cloud per mantenere sicure le tenancy OCI. Per ulteriori informazioni, consulta Oracle Cloud Guard.
-
Oracle Analytics Cloud: Oracle Analytics Cloud è una piattaforma di analisi e Business Intelligence (BI) basata su cloud completamente gestita, progettata come una piattaforma completa che consente agli utenti e agli analisti aziendali di scoprire insight e trend per prendere decisioni basate sui dati. Per ulteriori informazioni, vedere Oracle Analytics Cloud.
Architettura di livello superiore
Obiettivi
- Acquisisci gli eventi Oracle Cloud Guard in Oracle Analytics Cloud.
Prerequisiti
-
Comprensione di alto livello di OCI, OCI Events Service e Oracle Cloud Guard.
-
Esegui il provisioning di Oracle Autonomous Database e della conoscenza di Oracle REST Data Services (ORDS).
-
Conoscenza di base delle funzioni e della sicurezza OCI.
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.
Task 2: creare regole del servizio OCI Events per rilevare i problemi di Oracle Cloud Guard e richiamare le funzioni OCI
-
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.
-
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.
Aggiungere un'azione per inoltrare gli eventi Cloud Guard a una funzione, come mostrato di seguito.
Configurare i tipi di evento.
Task 3: Creare una funzione per inoltrare gli eventi ad AJD
-
Andare a OCI Console, andare a Servizi per sviluppatori e fare clic su Funzioni.
-
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.
-
Eseguire il comando seguente per visualizzare l'applicazione nell'elenco delle applicazioni.
fn ls apps
-
Si consiglia di creare prima una funzione Python boilerplate. Il comando
fn init – runtime oci-event-to-db
genererà una cartella denominataoci-event-to-db
con tre file denominatifunc.py
,func.yaml
erequirements.txt
. -
Una tabella AJD deve esistere ed essere abilitata per REST. Come mostrato nell'immagine qui sotto.
-
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"} )
-
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
-
Aggiornare il contenuto del file
requirements.txt
con il codice seguente.Requests oci fdk
-
Eseguire il comando seguente per distribuire la funzione.
fn -v deploy -app oci-event-to-db
Task 4: Appiattire il database utilizzando ORDS
-
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
-
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.
-
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');
-
Creare una vista.
exec dbms_json.create_view_on_path('flat_event', 'event', 'event', '$’);
-
-
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.
Task 5: connessione a Oracle Analytics Cloud
-
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.
-
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.
-
Una volta stabilita la connessione, OAC la visualizzerà in Connessioni come indicato di seguito.
-
Fare doppio clic sulla connessione per creare un nuovo data set in OAC, espandere lo schema e trascinare la tabella nell'area di creazione.
Conferme
-
Autori - Murtuza Madarwala (Cloud Solution Engineer), Phil Dolbow (Cloud Solution Engineer)
-
Collaboratore - Kevin Colwell (Cloud Solution Engineer)
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.
Capture Oracle Cloud Guard Events into Oracle Analytics Cloud
G27472-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.