Datenbankinstanzmonitoring einrichten

Oracle Logging Analytics kann Datenbankinstanzdatensätze basierend auf der SQL-Abfrage extrahieren, die Sie in der Logquellenkonfiguration angeben.

Informationen zu den unterstützten Datenbanktypen, verfügbaren von Oracle definierten Logquellen und Anweisungen für diese Datenbanken finden Sie unter:
Hinweis

Verwenden Sie für Oracle Real Application Clusters (RAC), bei denen mehrere Datenbankinstanzen auf denselben Datenbankspeicher verweisen, den Entitytyp Oracle Database anstelle von Oracle Database Instance. Installieren Sie einen Remote-Agent, der über die SCAN-IP auf die Datenbank zugreifen kann. Konfigurieren Sie keine Agent/Agents, um SQL-Abfragen für einzelne Datenbankinstanzen auszuführen.

Voraussetzungen

Stellen Sie sicher, dass die Datenbankverbindung vom Agent-Host zur Datenbank funktioniert. Wenn sich Datenbank und Agent auf demselben Host befinden, verwenden Sie den Befehl sqlplus, tnsping oder trcroute, um die Konnektivität zur Datenbank zu testen. Weitere Informationen finden Sie unter Verbindungen testen im Database Net Services Administrator's Guide.

Wenn sich Datenbank und Agent nicht auf demselben Host befinden, führen Sie die folgenden Schritte auf dem Agent-Host aus:

  • sqlplus (falls auf dem Agent installiert)
  • Ping von Ihrem Agent in die Datenbank. Dies sollte funktionieren, es sei denn, Firewalls blockieren den Ping. Wenn der Ping blockiert ist, gilt Folgendes:
    • telnet mit dem Datenbankport zu Ihrem Datenbankserver, um zu prüfen, ob der Listener die Verbindung akzeptiert. Beispiel: telnet <database_server_hostname> 1521.

Gesamtablauf zum Erfassen von Datenbanklogs

Im Folgenden werden die allgemeinen Aufgaben zum Erfassen von Loginformationen in einer Datenbank aufgeführt:

Oracle Database

Oracle Database umfasst

  • Integrierbare Datenbank (PDB), Multitenant-Containerdatenbank (CDB) und Anwendungscontainer
  • Oracle Database Instance
  • Oracle Real Application Clusters (RAC)
  • Oracle Autonomous Database
    • Autonomous Data Warehouse (ADW)
    • Autonomous Transaction Processing (ATP)

    Ein Beispiel für das Erfassen von Logs aus Tabellen oder Views in Oracle Autonomous Database finden Sie unter Logs aus Tabellen oder Views in Oracle Autonomous Database erfassen (Tutorialsymbol Tutorial).

Oracle Logging Analytics stellt eine große Gruppe von von von Oracle definierten Logquellen des Typs Datenbank für Oracle Database bereit:

Logquelle Entitytyp

AVDF Alert in Oracle Database

Autonomous JSON Database, Oracle Database Instance, Autonomous Database mit 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 mit Oracle APEX Application Development, Autonomous Transaction Processing

Identity and Access Management Audit Database

Oracle Database Instance, Autonomous Transaction Processing, Autonomous JSON Database, Autonomous Database mit 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 mit Oracle APEX Application Development, Oracle Database

Oracle EBS Transaction Logs

Autonomous Database mit 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 mit 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 mit Oracle APEX Application Development

Oracle Unified DB Audit Log Source Stored in Database 12.2

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

In der Datenbank gespeicherte Datenbank-Alertlogs

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

In Datenbank gespeicherte Datenbank-Trace-Logs

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

Oracle Database Health Monitor-Servicelogs

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

Oracle Database-Datenschutzlogs

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

Microsoft SQL Server-Datenbankinstanz

Hinweis

  • Stellen Sie für eine erfolgreiche Logerfassung aus der Microsoft SQL Server-Datenbankquelle sicher, dass die Management Agent-Version 210403.1350 oder später lautet.
  • Die Überwachung der Microsoft SQL Server-Datenbankinstanz wird nur mit der Installation eines eigenständigen Management Agent unterstützt. Er wird mit dem Management Agent-Plug-in in Oracle Cloud Agent nicht unterstützt.

Die folgenden von Oracle definierten Logquellen des Typs Datenbank sind für das Monitoring der Microsoft SQL Server-Datenbankinstanz verfügbar:

  • McAfee Data Loss Prevention-Endpunkt
  • McAfee ePolicy-Orchestrator

Darüber hinaus sind weitere oracle-definierte Logquellen des Typs Datei für Microsoft SQL Server-Datenbankinstanzen verfügbar, wie Microsoft SQL Server Agent Error Log und Microsoft SQL Server Error Log Sources.

MySQL-Datenbankinstanz

Hinweis

  • Stellen Sie für eine erfolgreiche Logerfassung aus der MySQL Database-Quelle sicher, dass die Management Agent-Version 210205.0202 oder später lautet.
  • Die Überwachung der MySQL Database-Instanz wird nur mit der Installation eines eigenständigen Management Agent unterstützt. Er wird mit dem Management Agent-Plug-in in Oracle Cloud Agent nicht unterstützt.

Die folgenden von Oracle definierten Logquellen des Typs Datenbank sind für das Monitoring der MySQL Database-Instanz verfügbar:

  • MySQL In der Datenbank gespeicherte Fehlerlogs
  • MySQL General Log Source Stored in Database
  • MySQL Logs für langsame Abfragen, die in der Datenbank gespeichert sind

Darüber hinaus sind weitere oracle-definierte Logquellen des Typs Datei für MySQL Database-Instanzen verfügbar, wie MySQL Database-Audit-XML-Logs, MySQL Fehlerlogs, MySQL Allgemeine Abfragelogs und MySQL Logs für langsame Abfragen.

Um die Remoteerfassung für eine MySQL-Datenbankinstanz auszuführen, muss die folgende Konfiguration in der Datenbankinstanz eingerichtet sein:

  1. So ermöglichen Sie den Zugriff von einem bestimmten Host, auf dem der Management Agent installiert ist:

    1. Erstellen Sie den neuen Account, der mit dem angegebenen Kennwort authentifiziert wird:

      CREATE USER '<mysql_user>'@'<host_name>' IDENTIFIED BY '<password>';
    2. Weisen Sie dem Benutzer mysql_user auf Host host_name READ-Berechtigungen für alle Datenbanken zu:

      GRANT SELECT ON *.* TO '<mysql_user>'@'<host_name>' WITH GRANT OPTION;
    3. Speichern Sie die Aktualisierungen der Benutzerberechtigungen mit folgendem Befehl:

      FLUSH PRIVILEGES;
  2. So ermöglichen Sie den Zugriff auf eine bestimmte Datenbank von jedem Host aus:

    1. Erteilen Sie READ-Berechtigungen an mysql_user von jedem gültigen Host:

      GRANT SELECT ON <database_name>.* TO '<mysql_user>'@'%' WITH GRANT OPTION;
    2. Speichern Sie die Aktualisierungen der Benutzerberechtigungen mit folgendem Befehl:

      FLUSH PRIVILEGES;

PostgreSQL-Datenbank

Hinweis

  • Stellen Sie für eine erfolgreiche Logerfassung aus der Datenbankquelle PostgreSQL sicher, dass Sie die Management Agent-Version 250121.1929 oder später auf Ihrem Datenbankhost installieren.
  • Das Monitoring der PostgreSQL-Datenbank wird nur bei der Installation eines eigenständigen Management Agent unterstützt. Sie wird mit dem Management Agent-Plug-in in Oracle Cloud Agent nicht unterstützt.

Die folgenden von Oracle definierten Logquellen vom Typ Datei sind zum Überwachen der PostgreSQL-Datenbank verfügbar:

  • OCI PostgreSQL Service-Logs
  • PostgreSQL Logs

Datenbankentity erstellen

Erstellen Sie die Datenbankentity, um die Datenbankinstanz zu referenzieren und die Logerfassung daraus zu aktivieren. Wenn Sie Management Agent zum Erfassen von Logs verwenden, müssen Sie nach der Installation des Management Agent hierher zurückkehren, um die Agent-Überwachung für die Entity zu konfigurieren.

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Administration. Die Seite Administration - Überblick wird geöffnet.

  2. Die Administrationsressourcen werden im linken Navigationsbereich unter Ressourcen aufgeführt. Klicken Sie auf Entitys.

  3. Stellen Sie sicher, dass der Compartment-Selektor auf der linken Seite angibt, dass Sie sich im gewünschten Compartment für diese neue Entity befinden.

    Klicken Sie auf Erstellen.

  4. Wählen Sie einen Entitytyp aus, der zu Ihrer Datenbankinstanz passt, z.B. Oracle Database-Instanz.

    Geben Sie einen Namen für die Entity an.

  5. Wählen Sie das Management Agent-Compartment aus, in dem der Agent installiert ist. Wählen Sie dann den Management Agent aus, der mit der Datenbankentity verknüpft werden soll, damit die Logs erfasst werden können.

    Alternativ können Sie die Entity zuerst erstellen, sie später bearbeiten und die Management Agent-OCID nach der Installation des Agent angeben.

    Hinweis

    • Das Monitoring von MySQL Database-Instanzen, Microsoft SQL Server-Datenbanken und PostgreSQL-Datenbanken wird nur bei der Installation von eigenständigen Management Agent unterstützt. Sie wird mit dem Management Agent-Plug-in in Oracle Cloud Agent nicht unterstützt.

    • Installieren Sie die Management Agent-Version 210403.1350 oder later auf Ihrem Datenbankhost, um sicherzustellen, dass die Microsoft SQL Server-Datenbank unterstützt wird.

    • Stellen Sie für eine erfolgreiche Logerfassung aus der MySQL Database-Instanzquelle sicher, dass die Management Agent-Version 210205.0202 oder später lautet.

    • Installieren Sie die Management Agent-Version 250121.1929 oder later auf Ihrem Datenbankhost, um sicherzustellen, dass die PostgreSQL-Datenbank unterstützt werden.

  6. Wenn die Datenbankinstanz über eine Cloud-Ressourcen-ID verfügt, geben Sie diese OCID an. Wenn die OCID angegeben ist und die Datenbank für das Datenbankmanagement aktiviert ist, können Sie sie mit Hilfe der im Log Explorer verfügbaren Option in Database Management anzeigen. Siehe Datenbankentity in Database Management Service anzeigen.

  7. Um SQL aufzunehmen, geben Sie die folgenden Eigenschaften für Oracle Database (für RAC-Deployments), Oracle Database Instance oder Oracle Pluggable Database an:

    • port
    • hostname
    • sid oder service_name

      Wenn Sie beide Werte angeben, verwendet Logging Analytics service_name, um SQL aufzunehmen.

    Geben Sie für die Logerfassung aus Microsoft SQL Server-Datenbankinstanz, MySQL Database-Quelle und PostgreSQL-Datenbank die folgenden Eigenschaften an:

    • database_name
    • host_name
    • port

    Wenn Sie von Oracle definierte Logquellen zum Erfassen von Logs von Management-Agents verwenden möchten, sollten Sie Parameterwerte angeben, die möglicherweise bereits für den ausgewählten Entitytyp definiert sind. Wenn die Parameterwerte nicht angegeben werden, verläuft die Verknüpfung der Quelle mit dieser Entity aufgrund der fehlenden Parameterwerte nicht erfolgreich.

    Klicken Sie auf Speichern.

Datenbankquelle erstellen

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Administration. Die Seite Administration - Überblick wird geöffnet.

  2. Die Administrationsressourcen werden im linken Navigationsbereich unter Ressourcen aufgeführt. Klicken Sie auf Quellen.

  3. Klicken Sie auf der Seite "Quellen" auf Quelle erstellen.

    Das Dialogfeld "Quelle erstellen" wird angezeigt.

  4. Geben Sie im Feld Quelle den Namen für die Quelle ein.

  5. Wählen Sie in der Liste Quelltyp die Option Datenbank aus.

  6. Klicken Sie auf Entitytyp, und wählen Sie den erforderlichen Entitytyp aus. Beispiel: Oracle Database-Instanz, Integrierbare Oracle-Datenbank, Microsoft SQL Server-Datenbankinstanz oder MySQL-Datenbankinstanz.

  7. Klicken Sie auf der Registerkarte Datenbankabfragen auf Hinzufügen, um die Details der SQL-Abfrage anzugeben, mit der die Oracle Logging Analytics-Instanz Datenbankinstanzlogs erfasst.

    Siehe Richtlinien für SQL-Abfragen.

  8. Klicken Sie auf Konfigurieren, um das Dialogfeld "Spaltenzuordnung konfigurieren" anzuzeigen.

  9. Ordnen Sie im Dialogfeld "Spaltenzuordnung konfigurieren" die SQL-Felder den Feldnamen zu, die in den eigentlichen Logdatensätzen angezeigt werden. Um ein neues Feld für die Zuordnung zu erstellen, klicken Sie auf das Symbol Hinzufügen-Symbol.

    Geben Sie eine Sequenzspalte an. Der Wert dieses Feldes muss die Reihenfolge der in die Tabelle eingefügten Datensätze bestimmen. Das Feld muss einen eindeutigen inkrementellen Wert aufweisen. Wenn die Felder die Reihenfolge der Datensätze nicht bestimmen sollen, können Sie SQL-Abfrageerfassungszeit auswählen, um die Erfassungszeit als Logeintragszeit zu verwenden. In diesem Fall werden alle Logdatensätze in jedem Erfassungszyklus erneut erfasst.

    Hinweis

    Das erste zugeordnete Feld mit dem Datentyp Timestamp wird als Zeitstempel des Logdatensatzes verwendet. Wenn kein solches Feld vorhanden ist, wird die Erfassungszeit als Zeitpunkt des Logdatensatzes verwendet.

    Wenn die Logs zum ersten Mal nach der Erstellung der Logquelle erfasst werden (historische Logerfassung):

    • Wenn ein Feld in der SQL-Abfrage dem Feld Time zugeordnet ist, wird der Wert dieses Feldes als Referenz zum Hochladen der Logdatensätze aus den vorherigen 30 Tagen verwendet.

    • Wenn keines der Felder in der SQL-Abfrage dem Feld Time zugeordnet ist, werden maximal 10.000.000 Datensätze hochgeladen.

    Klicken Sie auf Fertig.

  10. Wiederholen Sie die Schritte 6 bis 8, um mehrere SQL-Abfragen hinzuzufügen.

  11. Wählen Sie für jede SQL-Abfrage Aktiviert aus, und klicken Sie auf Speichern.

Zugangsdaten für Datenbankentity angeben

Geben Sie für jede Entity, die zur Erfassung der in der Datenbanklogquelle definierten Daten verwendet wird, die erforderlichen Zugangsdaten an, damit der Agent eine Verbindung zur Entity herstellen und die SQL-Abfrage ausführen kann. Diese Zugangsdaten müssen in einem Zugangsdatenspeicher registriert sein, der lokal vom Cloud-Agent verwaltet wird. Die Zugangsdaten werden vom Cloud-Agent zum Erfassen der Logdaten aus der Entity verwendet.
  1. Melden Sie sich bei dem Host an, auf dem der Management Agent installiert ist.

  2. Erstellen Sie die JSON-Eingabedatei mit den Zugangsdaten des Typs DBCreds. Beispiel: 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]"
            }
        ]
    }

    Die folgenden Eigenschaften müssen in der Eingabedatei wie im obigen Beispiel agent_dbcreds.json angegeben werden:

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

      entity_name ist der Wert des Feldes Name, den Sie beim Erstellen der Entity eingegeben haben.

    • type: "DBCreds"
    • usage : "LOGANALYTICS"
    • properties: Benutzername, Kennwort und Rolle. Rolle ist optional.
  3. Verwenden Sie das Skript credential_mgmt.sh mit dem Vorgang upsertCredentials, um die Zugangsdaten zum Zugangsdatenspeicher des Agent hinzuzufügen:

    Syntax:

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

    Im obigen Befehl gilt Folgendes:

    • Eingabedatei: Die JSON-Eingabedatei mit den Zugangsdatenparametern, z.B. agent_dbcreds.json.
    • Service-Name: Verwenden Sie logan als Name des auf dem Agent bereitgestellten Oracle Logging Analytics-Plug-ins.

    Mit den Beispielwerten der beiden Parameter lautet der Befehl:

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

    Nachdem die Zugangsdaten erfolgreich hinzugefügt wurden, können Sie die JSON-Eingabedatei löschen.

    Weitere Informationen zum Verwalten von Zugangsdaten im Zugangsdatenspeicher für den Management Agent finden Sie unter Quellzugangsdaten für Management Agent in der Management Agent-Dokumentation.

Datenbankentity in Database Management Service anzeigen

Wenn Ihre Datenbank für das Datenbankmanagement aktiviert ist und mit ihr eine Cloud-Ressourcen-OCID verknüpft ist, können Sie sie mit Hilfe der im Log Explorer verfügbaren Option in Database Management anzeigen.

Informationen zum Aktivieren von Datenbankmanagement für Ihre Datenbank finden Sie unter OCI-Dokumentation: Datenbankmanagement aktivieren.

  1. Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Log Explorer.

  2. Schränken Sie optional die Suche nach den Logs nach Entitytyp ein, der einer der Datenbanktypen sein muss. Klicken Sie im Bereich Felder unter Gepinnt auf Entitytyp. Wählen Sie im Dialogfeld "Entitytyp" die erforderlichen Entitytypen aus, z.B. Oracle Database Instance, und klicken Sie auf Anwenden.

  3. Wählen Sie im Bereich Visualisieren eine der Visualisierungsoptionen aus, mit denen die Datensatztabelle angezeigt wird. Beispiel: Datensätze mit Histogramm.

    Anschließend werden die Logs in den Datensätzen mit Histogrammvisualisierung angezeigt. In der Datensatztabelle werden unter jedem Logdatensatz die Informationen zu Entityname, Logquelle und Entitytyp angezeigt.

  4. Klicken Sie auf den Namen der Entity. Klicken Sie im Menü auf In Datenbankmanagement anzeigen.

Eine neue Registerkarte mit der Database Management-Servicekonsole im Kontext der Datenbank wird angezeigt.