Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Capturar Eventos do Oracle Cloud Guard no Oracle Analytics Cloud
Introdução
Este tutorial explica como encaminhar eventos do Oracle Cloud Guard para o Oracle Autonomous JSON Database (AJD) e capturá-los no Oracle Analytics Cloud. Haverá um tutorial subsequente que analisará e exibirá eventos do Cloud Guard no Oracle Analytics Cloud.
-
Oracle Cloud Guard: O Oracle Cloud Guard é um serviço nativo da Oracle Cloud Infrastructure (OCI) que ajuda os clientes a monitorar e detectar recursos entre regiões, permite manter uma postura de segurança na nuvem para manter as tenancies da OCI seguras. Para obter mais informações, consulte Oracle Cloud Guard.
-
Oracle Analytics Cloud: O Oracle Analytics Cloud é uma plataforma de análise e Business Intelligence (BI) baseada em nuvem totalmente gerenciada e projetada como uma plataforma completa que capacita usuários e analistas de negócios a descobrir insights e tendências para tomar decisões orientadas por dados. Para obter mais informações, consulte Oracle Analytics Cloud.
Arquitetura de Alto Nível
Objetivos
- Capture eventos do Oracle Cloud Guard no Oracle Analytics Cloud.
Pré-requisitos
-
Compreensão de alto nível sobre OCI, OCI Events Service e Oracle Cloud Guard.
-
Provisione o Oracle Autonomous Database e conhecimento do Oracle REST Data Services (ORDS).
-
Conhecimento Básico de Funções e segurança do OCI.
Tarefa 1: Configurar o Oracle Cloud Guard para Disparar Eventos na Nuvem
Configure o Oracle Cloud Guard para responder às receitas do detector. As regras do respondedor devem garantir que o Status do evento do Oracle Cloud Guard esteja definido como Ativado, conforme mostrado na imagem a seguir.
Tarefa 2: Criar Regras de Serviço do OCI Events para Detectar Problemas do Oracle Cloud Guard e Chamar Funções do OCI
-
O OCI Events Service permite criar automação com base nas alterações de estado dos recursos em toda a tenancy. Usando eventos, ele permite que as equipes de desenvolvimento respondam automaticamente quando um recurso altera seu estado.
Para obter os eventos, navegue até Observabilidade e Gerenciamento e clique em Events Service. Crie uma nova regra e configure o tipo de evento que será gravado na função, conforme mostrado na imagem a seguir.
-
Clique no ícone de reticências (três pontos verticais) para editar os eventos do Oracle Cloud Guard e enviá-lo para uma função, conforme mostrado na imagem a seguir.
Adicione uma ação para encaminhar eventos do Cloud Guard a uma função, conforme mostrado abaixo.
Configurar os tipos de evento.
Tarefa 3: Criar uma Função para Encaminhar Eventos para AJD
-
Vá para a Console do OCI, acesse Developer Services e clique em Functions.
-
Selecione um aplicativo existente ou clique em Criar Aplicativo. Crie um novo OCI Functions em seu aplicativo. Para obter mais informações, consulte Funções QuickStart no Cloud Shell.
Observação: supondo que você tenha concluído com sucesso os pré-requisitos.
-
Execute o comando a seguir para ver seu aplicativo na lista de aplicativos.
fn ls apps
-
É recomendável criar uma função Python padronizada primeiro. O comando
fn init – runtime oci-event-to-db
gerará uma pasta chamadaoci-event-to-db
com três arquivos chamadosfunc.py
,func.yaml
erequirements.txt
. -
Uma tabela AJD deve existir e estar ativada para REST. Como mostrado na imagem abaixo.
-
Atualize o conteúdo do arquivo
func.py
com o código a seguir.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"} )
-
Atualize o conteúdo do arquivo
func.yaml
com o código a seguir.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
-
Atualize o conteúdo do arquivo
requirements.txt
com o código a seguir.Requests oci fdk
-
Execute o comando a seguir para implantar sua função.
fn -v deploy -app oci-event-to-db
Tarefa 4: Nivelar o Banco de Dados usando o ORDS
-
Depois que os eventos do Oracle Cloud Guard forem armazenados no AJD, verifique as atividades do Oracle Cloud Guard no banco de dados verificando a tabela Eventos. execute a instrução SQL a seguir.
SELECT * FROM EVENTS
-
Como os eventos do Oracle Cloud Guard são armazenados no formato JSON (Java Script Object Notation), eles devem ser nivelados ou convertidos em formato relacional para que o Oracle Analytics Cloud analise os dados.
Para nivelar o banco de dados, siga as etapas:
-
Crie um índice na tabela Eventos e execute a instrução SQL a seguir para nivelá-la.
Create search index event_idx on event (event) for JSON parameters ('DATAGUIDE ON');
-
Crie uma view.
exec dbms_json.create_view_on_path('flat_event', 'event', 'event', '$’);
-
-
execute a instrução SQL a seguir para verificar as colunas criadas nas etapas acima.
SELECT COLUMN_NAME,DATA_TYPE FROM all_tab_columns where table_name ='FLAT_EVENT' order BY column_id;
Você deverá ver as colunas juntamente com o tipo de dados, conforme mostrado na imagem a seguir.
Tarefa 5: Conectar-se ao Oracle Analytics Cloud
-
Depois que o banco de dados for convertido em formato relacional de JSON, conecte-se ao Oracle Analytics Cloud. Vá para a console do OCI e navegue até a instância do AJD e, ao clicar na conexão do banco de dados, forneça as credenciais e faça download da wallet conforme mostrado na imagem a seguir.
-
Faça log-in no Oracle Analytics Cloud, clique em Criar uma nova conexão e clique em Oracle Autonomous Data Warehouse e selecione a wallet que foi baixada na etapa 1.
-
Assim que a conexão for estabelecida, o OAC a exibirá em Conexões, como se segue.
-
Clique duas vezes na conexão para criar um novo conjunto de dados no OAC, expandir no esquema e arrastar a tabela para a tela.
Confirmações
-
Autors - Murtuza Madarwala (Engenheiro de Soluções em Nuvem), Phil Dolbow (Engenheiro de Soluções em Nuvem)
-
Colaborador - Kevin Colwell (Engenheiro de Soluções em Nuvem)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Capture Oracle Cloud Guard Events into Oracle Analytics Cloud
G27475-01
February 2025
Copyright ©2025, Oracle and/or its affiliates.