Configuration de la surveillance d'instance de base de données

Oracle Logging Analytics peut extraire des enregistrements d'instance de base de données en fonction de la requête SQL que vous fournissez dans la configuration de source de journal.

Pour connaître les types de base de données pris en charge, les sources de journal définies par Oracle disponibles et les instructions propres à ces bases de données, reportez-vous aux sections suivantes :
Remarque

Pour Oracle Real Application Clusters (RAC), où plusieurs instances de base de données pointent vers le même stockage de base de données, utilisez le type d'entité Oracle Database au lieu d'Oracle Database Instance. Installez un agent distant qui peut accéder à la base de données à l'aide de l'adresse IP SCAN. Ne configurez pas les agents pour exécuter des requêtes SQL sur des instances de base de données individuelles.

Prérequis

Assurez-vous que la connexion à la base de données fonctionne de l'hôte de l'agent à la base de données. Si la base de données et l'agent se trouvent sur le même hôte, utilisez la commande sqlplus, tnsping ou trcroute pour tester la connectivité à la base de données. Reportez-vous à Test des connexions dans le Guide de l'administrateur Database Net Services.

Si la base de données et l'agent ne se trouvent pas sur le même hôte, exécutez les étapes suivantes sur l'hôte de l'agent :

  • sqlplus (s'il est installé sur l'agent)
  • Ping de l'agent vers la base de données. Cela devrait fonctionner à moins que les pare-feu bloquent le ping. Si le ping est bloqué, alors :
    • telnet vers votre serveur de base de données avec le port de base de données pour vérifier si le processus d'écoute accepte la connexion, par exemple, telnet <database_server_hostname> 1521.

Flux global de collecte des journaux de base de données

Voici les tâches de haut niveau pour la collecte des informations de journal stockées dans une base de données :

Oracle Database

Oracle Database inclut

  • Base de données pluggable (PDB), Base de données Conteneur colocative (CDB) et Conteneur d'applications
  • Oracle Database Instance
  • Oracle Real Application Clusters (RAC)
  • Oracle Autonomous Database
    • Autonomous Data Warehouse (ADW)
    • Autonomous Transaction Processing (ATP)

    Pour obtenir un exemple de collecte de journaux à partir de tables ou de vues dans Oracle Autonomous Database, reportez-vous à Collecte de journaux à partir de tables ou de vues dans Oracle Autonomous Database (icône Tutoriel Tutoriel ).

Oracle Logging Analytics fournit un grand ensemble de sources de journal définies par Oracle de type Base de données pour Oracle Database :

Source de journal Type d'entité

AVDF Alert in Oracle Database

Autonomous JSON Database, Oracle Database Instance, Autonomous Database avec Oracle APEX Application Development, Autonomous Data Warehouse, Oracle Database, Autonomous Transaction Processing

AVDF Event in Oracle Database

Oracle Database Instance, Autonomous Data Warehouse, Oracle Database, Autonomous JSON Database, Autonomous Database avec Oracle APEX Application Development, Autonomous Transaction Processing

Identity and Access Management Audit Database

Oracle Database Instance, Autonomous Transaction Processing, Autonomous JSON Database, Autonomous Database avec Oracle APEX Application Development, Oracle Database, Autonomous Data Warehouse

Oracle DB Audit Log Source Stored in Database

Autonomous Transaction Processing, Oracle Database Instance, Autonomous Data Warehouse, Autonomous JSON Database, Autonomous Database avec Oracle APEX Application Development, Oracle Database

Oracle EBS Transaction Logs

Autonomous Database avec Oracle APEX Application Development, Oracle Pluggable Database, Autonomous Transaction Processing, Oracle Database Instance, Autonomous JSON Database, Oracle Database, Autonomous Data Warehouse

Symantec DLP System Events

Autonomous JSON Database, Oracle Database, Autonomous Transaction Processing, Autonomous Database avec Oracle APEX Application Development, Oracle Database Instance, Autonomous Data Warehouse

Oracle Unified DB Audit Log Source Stored in Database 12.1

Autonomous JSON Database, Oracle Database, Oracle Pluggable Database, Autonomous Data Warehouse, Oracle Database Instance, Autonomous Transaction Processing, Autonomous Database avec Oracle APEX Application Development

Oracle Unified DB Audit Log Source Stored in Database 12.2

Autonomous JSON Database, Oracle Database Instance, Autonomous Database avec Oracle APEX Application Development, Oracle Pluggable Database, Oracle Database, Autonomous Data Warehouse, Autonomous Transaction Processing

Journaux d'alertes de base de données stockés dans la base de données

Autonomous JSON Database, base de données pluggable Oracle, Autonomous Transaction Processing, Autonomous Data Warehouse, Autonomous Database avec Oracle APEX Application Development, Oracle Database Instance et Oracle Database

Journaux de trace de base de données stockés dans la base de données

Oracle Database, Autonomous Database avec Oracle APEX Application Development, Autonomous Data Warehouse, Oracle Database Instance, Autonomous JSON Database, Oracle Pluggable Database, Autonomous Transaction Processing

Journaux du service Oracle Database Health Monitor

Autonomous Transaction Processing, Oracle Database, Autonomous Database avec Oracle APEX Application Development, Oracle Database Instance, Autonomous JSON Database, Autonomous Data Warehouse

Journaux Data Guard d'Oracle Database

Autonomous Transaction Processing, Autonomous JSON Database, Autonomous Data Warehouse, Oracle Database, Oracle Database Instance et Autonomous Database avec Oracle APEX Application Development

Additionally, more oracle-defined log sources of the type File are available for Oracle Database such as Database Alert Logs, Database Audit Logs, Database Audit XML Logs, Database Incident Dump Files, Database Listener Alert Logs, Database Listener Trace Logs, Database Trace Logs, and Database XML Alert Logs.

Instance de base de données Microsoft SQL Server

Remarque

  • Pour une collecte de journal réussie à partir de la source de base de données Microsoft SQL Server, assurez-vous que la version de l'agent de gestion est 210403.1350 ou plus tard.
  • La surveillance de l'instance de base de données Microsoft SQL Server est prise en charge uniquement avec l'installation de l'agent de gestion autonome. Elle n'est pas prise en charge avec le module d'extension d'agent de gestion dans l'agent Oracle Cloud.

Les sources de journal définies par Oracle suivantes, de type Base de données, sont disponibles pour la surveillance de l'instance de base de données Microsoft SQL Server :

  • McAfee Adresse de prévention de la perte de données
  • McAfee Orchestrateur ePolicy

En outre, d'autres sources de journal définies par oracle de type Fichier sont disponibles pour l'instance de base de données Microsoft SQL Server, telles que Journal d'erreurs de l'agent Microsoft SQL Server et Sources de journal d'erreurs Microsoft SQL Server.

Instance de base de données MySQL

Remarque

  • Pour la collecte de journal à partir de la source MySQL Database, assurez-vous que la version de l'agent de gestion est 210205.0202 ou version ultérieure.
  • La surveillance de l'instance MySQL Database est prise en charge uniquement avec l'installation de l'agent de gestion autonome. Elle n'est pas prise en charge avec le module d'extension d'agent de gestion dans l'agent Oracle Cloud.

Les sources de journal définies par Oracle suivantes, de type Base de données, sont disponibles pour la surveillance de l'instance MySQL Database :

  • MySQL Journaux d'erreurs stockés dans la base de données
  • MySQL General Log Source Stored in Database
  • MySQL Journaux de requêtes lentes stockés dans la base de données

En outre, d'autres sources de journal définies par oracle de type Fichier sont disponibles pour l'instance MySQL Database, telles que Journaux XML d'audit MySQL Database, Journaux d'erreurs MySQL, MySQL Journaux de requête généraux et MySQL Journaux de requête lents.

Pour effectuer la collecte à distance sur une instance de base de données MySQL, la configuration suivante doit être appliquée au niveau de l'instance de base de données :

  1. Pour autoriser l'accès à partir d'un hôte spécifique sur lequel l'agent de gestion est installé, procédez comme suit :

    1. Créez le compte authentifié par le mot de passe indiqué :

      CREATE USER '<mysql_user>'@'<host_name>' IDENTIFIED BY '<password>';
    2. Affectez des privilèges READ pour toutes les bases de données à l'utilisateur mysql_user sur l'hôte host_name :

      GRANT SELECT ON *.* TO '<mysql_user>'@'<host_name>' WITH GRANT OPTION;
    3. Enregistrez les mises à jour des privilèges utilisateur en exécutant la commande suivante :

      FLUSH PRIVILEGES;
  2. Pour autoriser l'accès à une base de données spécifique à partir de n'importe quel hôte, procédez comme suit :

    1. Accordez des privilèges READ à mysql_user à partir de n'importe quel hôte valide :

      GRANT SELECT ON <database_name>.* TO '<mysql_user>'@'%' WITH GRANT OPTION;
    2. Enregistrez les mises à jour des privilèges utilisateur en exécutant la commande suivante :

      FLUSH PRIVILEGES;

Base de données PostgreSQL

Remarque

  • Pour que la collecte de journaux à partir de la source de base de données PostgreSQL aboutisse, veillez à installer la version d'agent de gestion 250121.1929 ou plus tard sur l'hôte de base de données.
  • La surveillance de la base de données PostgreSQL est prise en charge uniquement avec l'installation de l'agent de gestion autonome. Elle n'est pas prise en charge avec le module d'extension d'agent de gestion dans l'agent Oracle Cloud.

Les sources de journal définies par Oracle suivantes de type Fichier sont disponibles pour la surveillance de la base de données PostgreSQL :

  • Journaux du service OCI PostgreSQL
  • PostgreSQL Logs

Création de l'entité de base de données

Créez l'entité de base de données pour référencer votre instance de base de données et activer la collecte de journal à partir de celle-ci. Si vous utilisez l'agent de gestion pour collecter les journaux, après l'avoir installé, vous devez revenir ici afin de configurer la surveillance de l'agent pour l'entité.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Logging Analytics, cliquez sur Administration. La page Présentation de l'administration apparaît.

  2. Les ressources d'administration sont répertoriées dans le panneau de navigation de gauche sous Ressources. Cliquez sur Entités.

  3. Assurez-vous que le sélecteur de compartiment sur la gauche indique que vous vous trouvez dans le compartiment souhaité pour cette nouvelle entité.

    Cliquez sur Créer.

  4. Sélectionnez un type d'entité qui convient à l'instance de base de données, par exemple Instance de base de données Oracle.

    Attribuez un nom à l'entité.

  5. Sélectionnez le compartiment de l'agent de gestion, dans lequel l'agent est installé, puis sélectionnez l'agent de gestion à associer à l'entité de base de données afin que les journaux puissent être collectés.

    Vous pouvez également commencer par créer l'entité, la modifier ultérieurement et fournir l'OCID de l'agent de gestion une fois l'agent installé.

    Remarque

    • La surveillance de l'instance MySQL Database, de la base de données Microsoft SQL Server et de la base de données PostgreSQL est prise en charge uniquement avec l'installation de l'agent de gestion autonome. Elle n'est pas prise en charge avec le module d'extension d'agent de gestion dans l'agent Oracle Cloud.

    • Utilisez la version 210403.1350 ou version ultérieure de l'agent de gestion pour effectuer l'installation sur l'hôte de base de données afin de garantir la prise en charge de la base de données Microsoft SQL Server.

    • Pour la collecte de journal à partir de la source d'instance MySQL Database, assurez-vous que la version de l'agent de gestion est 210205.0202 ou version ultérieure.

    • Utilisez la version de l'agent de gestion 250121.1929 ou ultérieurement pour effectuer l'installation sur l'hôte de base de données afin de garantir la prise en charge de la base de données PostgreSQL.

  6. Si votre instance de base de données possède un ID de ressource cloud, indiquez cet OCID. Si l'OCID est fourni et que la base de données est activée pour Database Management, vous pouvez le visualiser dans Database Management à l'aide de l'option disponible dans l'explorateur de journaux. Reportez-vous à Affichage de l'entité de base de données dans Database Management Service.

  7. Pour inclure SQL, fournissez les propriétés suivantes dans le cas d'Oracle Database (pour les déploiements RAC), d'Oracle Database Instance ou de la base de données pluggable Oracle :

    • port
    • hostname
    • sid ou service_name

      Si vous fournissez les deux valeurs, Logging Analytics utilise service_name pour l'inclusion SQL.

    Pour la collecte de journaux à partir de l'instance de base de données Microsoft SQL Server, de la source MySQL Database et de la base de données PostgreSQL, fournissez les propriétés suivantes :

    • database_name
    • host_name
    • port

    Si vous envisagez d'utiliser des sources de journal définies par Oracle pour collecter des journaux à partir d'agents de gestion, il est recommandé de fournir toutes les valeurs de paramètre qui peuvent déjà être définies pour le type d'entité choisi. Si les valeurs de paramètre ne sont pas fournies, lorsque vous essayez d'associer la source à cette entité, l'opération échoue en raison des valeurs de paramètre manquantes.

    Cliquez sur Enregistrer.

Création de la source de base de données

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Logging Analytics, cliquez sur Administration. La page Présentation de l'administration apparaît.

  2. Les ressources d'administration sont répertoriées dans le panneau de navigation de gauche sous Ressources. Cliquez sur Sources.

  3. Sur la page Sources, cliquez sur Créer une source.

    La boîte de dialogue Créer une source apparaît.

  4. Dans le champ Source, saisissez le nom de la source.

  5. Dans la liste Type de source, sélectionnez Base de données.

  6. Cliquez sur Type d'entité et sélectionnez le type d'entité requis. Par exemple, Instance de base de données Oracle, Base de données pluggable Oracle, Instance de base de données Microsoft SQL Server ou Instance de base de données MySQL.

  7. Dans l'onglet Demandes de base de données, cliquez sur Ajouter pour indiquer les détails de la requête SQL, en fonction de l'instance Oracle Logging Analytics qui collecte les journaux d'instance de base de données.

    Reportez-vous à Instructions relatives aux requêtes SQL.

  8. Cliquez sur Configurer pour afficher la boîte de dialogue Configurer la correspondance de colonne.

  9. Dans la boîte de dialogue Configurer la correspondance de colonne, mettez en correspondance les champs SQL avec les noms de champ affichés dans les enregistrements de journal réels. Pour créer un champ pour la mise en correspondance, cliquez sur l'icône Icône Ajouter.

    Indiquez une colonne de séquence. La valeur de ce champ doit déterminer l'ordre des enregistrements insérés dans la table. Il doit s'agir d'une valeur incrémentielle unique. Si vous ne souhaitez pas que les champs déterminent la séquence des enregistrements, vous pouvez sélectionner Heure de collecte de requête SQL pour utiliser l'heure de collecte comme heure d'entrée de journal. Dans ce cas, tous les enregistrements de journal sont de nouveau collectés à chaque cycle de collecte.

    Remarque

    Le premier champ mis en correspondance avec le type de données Timestamp est utilisé comme horodatage de l'enregistrement de journal. Si aucun champ de ce type n'est présent, l'heure de collecte est utilisée comme heure de l'enregistrement de journal.

    Lorsque les journaux sont collectés pour la première fois après la création de la source de journal (collecte des journaux historiques) :

    • Si un champ de la requête SQL est mis en correspondance avec le champ Time , la valeur de ce champ est utilisée comme référence pour télécharger les enregistrements de journal des 30 derniers jours.

    • Si aucun des champs de la requête SQL n'est mis en correspondance avec le champ Time, un maximum de 10 000 000 d'enregistrements est téléchargé.

    Cliquez sur Terminé.

  10. Répétez les étapes 6 à 8 pour ajouter plusieurs requêtes SQL.

  11. Sélectionnez Activé pour chacune des requêtes SQL, puis cliquez sur Enregistrer.

Fourniture des informations d'identification de l'entité de base de données

Pour chaque entité utilisée afin de collecter les données définies dans la source de journal de base de données, fournissez les informations d'identification nécessaires à l'agent pour la connexion à l'entité et l'exécution de la requête SQL. Ces informations d'identification doivent être inscrites dans une banque d'informations d'identification maintenue localement par l'agent cloud. Les informations d'identification sont utilisées par l'agent cloud pour collecter les données de journal de l'entité.
  1. Connectez-vous à l'hôte sur lequel l'agent de gestion est installé.

  2. Créez un fichier d'entrée JSON d'informations d'identification de type DBCreds. Par exemple, agent_dbcreds.json :

    cat agent_dbcreds.json
    {
        "source": "lacollector.la_database_sql",
        "name": "LCAgentDBCreds.<entity_name>",
          "type": "DBCreds",
        "usage": "LOGANALYTICS",
        "disabled": "false",
        "properties": [
            {
                "name": "DBUserName",
                "value": "CLEAR[username]"
            },
            {
                "name": "DBPassword",
                "value": "CLEAR[password]"
            },
            {
                "name": "DBRole",
                "value": "CLEAR[normal]"
            }
        ]
    }

    Les propriétés suivantes doivent être fournies dans le fichier d'entrée comme dans l'exemple agent_dbcreds.json ci-dessus :

    • source : "lacollector.la_database_sql"
    • name : "LCAgentDBCreds.<entity_name>"

      entity_name est la valeur du champ Nom saisie lors de la création de l'entité.

    • type : "DBCreds"
    • usage : "LOGANALYTICS"
    • properties : nom utilisateur, mot de passe et rôle. Le rôle est facultatif.
  3. Utilisez le script credential_mgmt.sh avec l'opération upsertCredentials pour ajouter les informations d'identification à la banque d'informations d'identification de l'agent :

    Syntaxe :

    $cat <input_file> | sudo -u mgmt_agent /opt/oracle/mgmt_agent/agent_inst/bin/credential_mgmt.sh -o upsertCredentials -s <service_name>

    Dans la commande ci-dessus :

    • Fichier d'entrée : fichier JSON d'entrée avec les paramètres d'informations d'identification, par exemple, agent_dbcreds.json.
    • Nom de service : utilisez logan comme nom du module d'extension Oracle Logging Analytics déployé sur l'agent.

    En utilisant les exemples de valeur des deux paramètres, la commande est la suivante :

    $cat agent_dbcreds.json | sudo -u mgmt_agent /opt/oracle/mgmt_agent/agent_inst/bin/credential_mgmt.sh -o upsertCredentials -s logan

    Une fois les informations d'identification ajoutées, vous pouvez supprimer le fichier JSON d'entrée.

    Pour plus d'informations sur la gestion des informations d'identification dans la banque d'informations d'identification de l'agent de gestion, reportez-vous à Informations d'identification de source d'agent de gestion dans la documentation de l'agent de gestion.

Affichage de l'entité de base de données dans Database Management Service

Si la base de données est activée pour Database Management et qu'un OCID de ressource cloud lui est associé, Logging Analytics vous permet de la visualiser dans Database Management à l'aide de l'option disponible dans l'explorateur de journaux.

Afin d'activer Database Management pour votre base de données, reportez-vous à Documentation OCI : activation de Database Management.

  1. Ouvrez le menu de navigation et cliquez sur Observation et gestion. Sous Logging Analytics, cliquez sur Explorateur de journal.

  2. Vous pouvez éventuellement affiner la recherche de journaux par type d'entité, qui doit être l'un des types de base de données. Dans le panneau Champs, sous la section Fixe, cliquez sur Type d'entité. Dans la boîte de dialogue Type d'entité, sélectionnez les types d'entité requis, par exemple, Oracle Database Instance, puis cliquez sur Appliquer.

  3. Dans le panneau Visualiser, sélectionnez l'une des options de visualisation qui affichent la table des enregistrements, par exemple, Enregistrements avec histogramme.

    Les journaux sont ensuite affichés dans la visualisation Enregistrements avec histogramme. Dans la table des enregistrements, sous chaque enregistrement de journal, les informations sur le nom de l'entité, la source de journal et le type d'entité sont affichées.

  4. Cliquez sur le nom de l'entité. Dans le menu, cliquez sur Afficher dans Database Management.

Un nouvel onglet avec la console de service Database Management dans le contexte de la base de données s'affiche.