Configurer la surveillance des instances de base de données

Oracle Logging Analytics peut extraire les enregistrements d'instance de base de données en fonction de l'interrogation SQL que vous fournissez dans la configuration de la source de journaux.

Pour les types de base de données pris en charge, les sources de journaux définies par Oracle disponibles et les instructions propres à ces bases de données, voir :
Note

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 interrogations SQL sur des instances de base de données individuelles.

Conditions requises

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. Voir Test des connexions dans le Guide de l'administrateur de Database Net Services.

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

  • sqlplus (si installé sur l'agent)
  • Ping de votre agent vers la base de données. Cela devrait fonctionner à moins que les pare-feu ne 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 module d'écoute accepte la connexion; par exemple, telnet <database_server_hostname> 1521.

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

Voici les tâches générales de collecte des informations de journal stockées dans une base de données :

Oracle Database

Oracle Database comprend :

  • Base de données enfichable (base de données enfichable), Base de données conteneur multilocataire (base de données conteneur) et Conteneur d'application
  • Instance Oracle Database
  • 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, voir Collecte de journaux à partir de tables ou de vues dans des bases Oracle Autonomous Database (Icône de tutoriel Tutoriel).

Oracle Logging Analytics fournit un jeu volumineux de sources de journaux définies par Oracle de type Base de données pour Oracle Database :

Source de journaux Type d'entité

Alerte AVDF dans Oracle Database

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

Événement AVDF dans Oracle Database

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

Base de données de vérification de la gestion des identités et des accès

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

Source de journaux de vérification Oracle DB stockée dans la base de données

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

Journaux de transaction Oracle EBS

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

Événements système Symantec DLP

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

Source de journaux de vérification Oracle DB stockée dans la base de données 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

Source de journaux de vérification Oracle DB stockée dans la base de données 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, Oracle Pluggable Database, Autonomous Transaction Processing,Autonomous Data Warehouse, Autonomous Database avec Oracle APEX Application Development, Oracle Database Instance, 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 Oracle Database Dataguard

Service Autonomous Transaction Processing, Autonomous JSON Database, Autonomous Data Warehouse, Oracle Database, Oracle Database Instance, 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

Note

  • Pour une collecte réussie des journaux à 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 n'est prise en charge qu'avec l'installation d'un agent de gestion autonome. Il n'est pas pris en charge avec le plugiciel d'agent de gestion dans Oracle Cloud Agent.

Les sources de journaux 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 Point d'extrémité de prévention des pertes de données
  • McAfee ePolicy Orchestrator

En outre, d'autres sources de journaux 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 journaux d'erreurs de Microsoft SQL Server.

Instance MySQL Database

Note

  • Pour une collecte réussie des journaux à partir de la source MySQL Database, assurez-vous que la version de l'agent de gestion est 210205.0202 ou par la suite.
  • La surveillance de l'instance MySQL Database n'est prise en charge qu'avec l'installation d'un agent de gestion autonome. Il n'est pas pris en charge avec le plugiciel d'agent de gestion dans Oracle Cloud Agent.

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

  • MySQL Journaux d'erreurs stockés dans la base de données
  • Source de journaux générale MySQL stockée dans la base de données
  • MySQL Journaux d'interrogation lents stockés dans la base de données

En outre, d'autres sources de journaux définies par oracle de type Fichier sont disponibles pour l'instance MySQL Database, telles que Journaux XML de vérification pour MySQL Database, MySQL Journaux d'erreur, MySQL Journaux d'interrogation généraux et MySQL Journaux d'interrogation lente.

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

  1. Pour autoriser l'accès à partir d'un hôte spécifique où l'agent de gestion est installé :

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

      CREATE USER '<mysql_user>'@'<host_name>' IDENTIFIED BY '<password>';
    2. Affectez les 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 d'utilisateur en exécutant la commande suivante :

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

    1. Accordez les 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 d'utilisateur en exécutant la commande suivante :

      FLUSH PRIVILEGES;

Base de données PostgreSQL

Note

  • Pour une collecte de journaux réussie à partir de la source de base de données PostgreSQL, assurez-vous d'installer la version 250121.1929 ou plus tard sur l'hôte de votre base de données.
  • La surveillance de la base de données PostgreSQL n'est prise en charge qu'avec l'installation d'un agent de gestion autonome. Il n'est pas pris en charge avec le plugiciel d'agent de gestion dans Oracle Cloud Agent.

Les sources de journaux 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
  • Journaux PostgreSQL

Créer 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 pour activer la collecte de journaux à partir de celle-ci. Si vous utilisez un agent de gestion pour collecter des journaux, après avoir installé l'agent de gestion, vous devez revenir ici pour configurer la surveillance de l'agent pour l'entité.

  1. Ouvrez le menu de navigation et cliquez sur Observabilité et gestion. Sous Logging Analytics, cliquez sur Administration. La page Aperçu de l'administration s'ouvre.

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

  3. Assurez-vous que le sélecteur de compartiment à gauche indique que vous êtes dans le compartiment souhaité pour cette nouvelle entité.

    Cliquez sur Créer.

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

    Indiquez un nom pour l'entité.

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

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

    Note

    • La surveillance de l'instance MySQL Database, de la base de données Microsoft SQL Server et de la base de données PostgreSQL n'est prise en charge qu'avec l'installation d'un agent de gestion autonome. Il n'est pas pris en charge avec le plugiciel d'agent de gestion dans Oracle Cloud Agent.

    • Utilisez la version d'agent de gestion 210403.1350 ou plus tard pour une installation sur l'hôte de votre base de données afin d'assurer la prise en charge de la base de données Microsoft SQL Server.

    • Pour une collecte réussie des journaux à partir de la source d'instance MySQL Database, assurez-vous que la version de l'agent de gestion est 210205.0202 ou plus tard.

    • Utilisez la version 250121.1929 ou plus tard de l'agent de gestion pour une installation sur l'hôte de votre base de données afin d'assurer la prise en charge de la base de données PostgreSQL.

  6. Si votre instance de base de données a un ID ressource en nuage, indiquez cet OCID. Si l'OCID est fourni et que votre base de données est activée pour le service de gestion de bases de données, vous pouvez le voir dans le service de gestion de bases de données à l'aide de l'option disponible dans l'explorateur de journaux. Voir Voir l'entité de votre base de données dans le service de gestion de bases de données.

  7. Pour ingérer SQL, fournissez les propriétés suivantes dans le cas d'Oracle Database (pour les déploiements RAC), Oracle Database Instance ou Oracle Pluggable Database :

    • port
    • hostname
    • sid ou service_name

      Si vous fournissez les deux valeurs, Logging Analytics utilise service_name pour l'ingestion de 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 prévoyez d'utiliser des sources de journaux définies par Oracle pour collecter des journaux auprès 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'association échouera en raison des valeurs de paramètre manquantes.

    Cliquez sur Enregistrer.

Créer la source de base de données

  1. Ouvrez le menu de navigation et cliquez sur Observabilité et gestion. Sous Logging Analytics, cliquez sur Administration. La page Aperçu de l'administration s'ouvre.

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

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

    La boîte de dialogue Créer une source s'affiche.

  4. Dans le champ Source, entrez 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 Oracle Database, Instance de base de données enfichable Oracle, Instance de base de données Microsoft SQL Server ou Instance MySQL Database.

  7. Dans l'onglet Interrogations de base de données, cliquez sur Ajouter pour spécifier les détails de l'interrogation SQL, selon laquelle l'instance Oracle Logging Analytics collecte les journaux d'instance de base de données.

    Voir Directives pour les interrogations SQL.

  8. Cliquez sur Configurer pour afficher la boîte de dialogue Configurer le mappage de colonnes.

  9. Dans la boîte de dialogue Configurer le mappage de colonnes, mappez les champs SQL avec les noms de champ qui seraient affichés dans les enregistrements de journal réels. Pour créer un champ à mapper, cliquez sur l'icône icône Ajouter.

    Spécifiez une colonne de séquence. La valeur de ce champ doit déterminer la séquence des enregistrements insérés dans la table. Elle doit avoir une valeur incrémentielle unique. Si vous ne voulez pas que les champs déterminent la séquence des enregistrements, vous pouvez sélectionner Heure de collecte de l'interrogation SQL pour utiliser l'heure de collecte comme heure d'entrée du journal. Dans ce cas, tous les enregistrements de journal sont collectés de nouveau dans chaque cycle de collecte.

    Note

    Le premier champ mappé avec un 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 du journal.

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

    • Si un champ de l'interrogation SQL est mappé au champ Time, la valeur de ce champ est utilisée comme référence pour charger les enregistrements de journal des 30 derniers jours.

    • Si aucun des champs de l'interrogation SQL n'est mappé au champ Time, un maximum de 10 000 000 enregistrements sont chargés.

    Cliquez sur Terminé.

  10. Répétez les étapes 6 à 8 pour ajouter plusieurs interrogations SQL.

  11. Sélectionnez Activé pour chacune des interrogations SQL, puis cliquez sur Enregistrer.

Fournir les données d'identification de l'entité de base de données

Pour chaque entité utilisée pour collecter les données définies dans la source de journaux de la base de données, fournissez les données d'identification nécessaires à l'agent pour se connecter à l'entité et exécuter l'interrogation SQL. Ces données d'identification doivent être enregistrées dans un magasin de données d'identification géré localement par l'agent Oracle Cloud. Les données d'identification sont utilisées par l'agent Oracle 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 le fichier d'entrée JSON de données 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 de fichier agent_dbcreds.json ci-dessus :

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

      entity_name est la valeur du champ Nom que vous avez entrée lors de la création de l'entité.

    • type : "DBCreds"
    • utilisation : "LOGANALYTICS"
    • propriétés : nom d'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 données d'identification au magasin de données 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 de données d'identification, par exemple agent_dbcreds.json.
    • Nom du service : Utilisez logan comme nom du plugiciel Oracle Logging Analytics déployé sur l'agent.

    Avec les exemples de valeur des deux paramètres, la commande serait :

    $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 données d'identification ajoutées, vous pouvez supprimer le fichier JSON d'entrée.

    Pour plus d'informations sur la gestion des données d'identification dans le magasin de données d'identification de l'agent de gestion, voir Données d'identification de source de l'agent de gestion dans la documentation sur l'agent de gestion.

Voir votre entité de base de données dans le service de gestion de bases de données

Si le service de gestion de bases de données est activé pour votre base de données et qu'un OCID de ressource en nuage lui est associé, Logging Analytics vous permet de la voir dans le service de gestion de bases de données à l'aide de l'option disponible dans l'explorateur de journaux.

Pour activer le service de gestion de bases de données pour votre base de données, voir Documentation OCI : Activer le service de gestion de bases de données.

  1. Ouvrez le menu de navigation et cliquez sur Observabilité et gestion. Sous Logging Analytics, cliquez sur sur l'explorateur de journaux.

  2. Facultativement, affinez la recherche de vos journaux par type d'entité qui doit être l'un des types de base de données. Dans le panneau Champs, sous la section Épinglé, 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 d'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 relatives au nom de l'entité, à la source de journaux et au type d'entité sont affichées.

  4. Cliquez sur le nom de l'entité. Dans le menu, cliquez sur Voir dans le service de gestion de bases de données.

Un nouvel onglet avec la console du service de gestion de bases de données dans le contexte de votre base de données s'affiche.