Remarques :

Capturez les événements Oracle Cloud Guard dans Oracle Analytics Cloud

Introduction

Ce tutoriel explique en détail la transmission des événements Oracle Cloud Guard à Oracle Autonomous JSON Database (AJD) et leur capture dans Oracle Analytics Cloud. Un tutoriel ultérieur analysera et affichera les événements Cloud Guard dans Oracle Analytics Cloud.

Architecture de niveau supérieur

Architecture de niveau supérieur.

Objectifs

Prérequis

Tâche 1 : configurer Oracle Cloud Guard pour déclencher des événements cloud

Configurez Oracle Cloud Guard pour qu'il réponde aux recettes de détecteur. Les règles de répondeur doivent s'assurer que le statut de l'événement Oracle Cloud Guard est défini sur Activé, comme indiqué dans l'image suivante.

Règles de répondeur.

Tâche 2 : création de règles de service OCI Events pour détecter les problèmes Oracle Cloud Guard et appeler OCI Functions

  1. OCI Events Service vous permet de créer une automatisation basée sur les modifications d'état des ressources dans la location. L'utilisation d'événements permet aux équipes de développement de réagir automatiquement lorsqu'une ressource change d'état.

    Pour obtenir les événements, accédez à Observation et gestion et cliquez sur Service d'événements. Créez une règle et configurez le type d'événement qui sera écrit dans la fonction comme indiqué dans l'image suivante.

    Définition de règle.

  2. Cliquez sur l'icône représentant des points de suspension (trois points verticaux) pour modifier les événements Oracle Cloud Guard et les envoyer à une fonction, comme illustré dans la capture d'écran suivante.

    Définition de paramètre. Ajoutez une action pour transférer les événements Cloud Guard vers une fonction, comme indiqué ci-dessous. Action d'événement. Configurer les types d'événement. Types d'événement.

Tâche 3 : créer une fonction pour transmettre des événements à AJD

  1. Accédez à la console OCI, accédez aux services de développeur et cliquez sur Fonctions.

  2. Sélectionnez une application existante ou cliquez sur Créer une application. Créez des fonctions OCI dans votre application. Pour plus d'informations, reportez-vous à Fonctions QuickStart sur Cloud Shell.

    Remarque : en supposant que vous avez satisfait aux prérequis.

  3. Exécutez la commande suivante pour afficher votre application dans la liste des applications.

    fn ls apps
    
  4. Il est recommandé de créer d'abord une fonction Python boilerplate. La commande fn init – runtime oci-event-to-db génère un dossier nommé oci-event-to-db avec trois fichiers nommés func.py, func.yaml et requirements.txt.

  5. Une table AJD doit exister et être activée pour REST. Comme indiqué dans l'image ci-dessous. Rest activé.

  6. Mettez à jour le contenu du fichier func.py avec le code suivant.

    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. Mettez à jour le contenu du fichier func.yaml avec le code suivant.

    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. Mettez à jour le contenu du fichier requirements.txt avec le code suivant.

    Requests
    oci
    fdk
    
  9. Exécutez la commande suivante pour déployer votre fonction.

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

Tâche 4 : mettre à plat la base de données à l'aide d'ORDS

  1. Une fois les événements Oracle Cloud Guard stockés dans AJD, recherchez les activités Oracle Cloud Guard dans la base de données en consultant la table Events. Exécutez l'instruction SQL suivante.

    SELECT * FROM EVENTS
    
  2. Etant donné que les événements Oracle Cloud Guard sont stockés au format JSON (Java Script Object Notation), ils doivent être mis à plat ou convertis au format relationnel pour qu'Oracle Analytics Cloud puisse analyser les données.

    Pour mettre à plat la base de données, procédez comme suit :

    1. Créez un index sur la table Events et exécutez l'instruction SQL suivante pour le mettre à plat.

      Create search index event_idx on event (event) for JSON parameters ('DATAGUIDE ON');
      
    2. Créez une vue.

      exec dbms_json.create_view_on_path('flat_event', 'event', 'event', '$’);
      
  3. Exécutez l'instruction SQL suivante pour vérifier les colonnes créées dans les étapes ci-dessus.

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

    Vous devriez voir les colonnes avec le type de données comme indiqué dans l'image suivante.

    Format relationnel.

Tâche 5 : connexion à Oracle Analytics Cloud

  1. Une fois la base de données convertie au format relationnel à partir de JSON, connectez-vous à Oracle Analytics Cloud. Accédez à la console OCI, accédez à l'instance AJD et, en cliquant sur la connexion de base de données, fournissez les informations d'identification et téléchargez le portefeuille, comme indiqué dans l'image suivante.

    Connexion AJD.

  2. Connectez-vous à Oracle Analytics Cloud, cliquez sur Créer une connexion, cliquez sur Oracle Autonomous Data Warehouse et sélectionnez le portefeuille téléchargé à l'étape 1.

    Types de connexion Oracle Analytics Cloud.

  3. Une fois la connexion établie, OAC l'affiche sous Connexions comme suit. Liste Connexion Oracle Analytics Cloud.

  4. Cliquez deux fois sur la connexion pour créer un ensemble de données dans OAC, développez le schéma et faites glisser la table sur le canevas. Jeu de données Oracle Analytics Cloud.

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.