Datenbankinstanzmonitoring einrichten
Oracle Logging Analytics kann Datenbankinstanzdatensätze basierend auf der SQL-Abfrage extrahieren, die Sie in der Logquellenkonfiguration angeben.
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
.
- telnet mit dem Datenbankport zu Ihrem Datenbankserver, um zu prüfen, ob der Listener die Verbindung akzeptiert. Beispiel:
Gesamtablauf zum Erfassen von Datenbanklogs
Im Folgenden werden die allgemeinen Aufgaben zum Erfassen von Loginformationen in einer Datenbank aufgeführt:
-
Installieren Sie Management Agent auf einem Host, der auf die Datenbank zugreifen kann. Siehe Kontinuierliche Logerfassung von Ihren Hosts einrichten.
-
Verknüpfen Sie die Datenbankentity mit der Quelle. Siehe Neue Quellen-Entity-Verknüpfung konfigurieren
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 (
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
- 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
- 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:
-
So ermöglichen Sie den Zugriff von einem bestimmten Host, auf dem der Management Agent installiert ist:
-
Erstellen Sie den neuen Account, der mit dem angegebenen Kennwort authentifiziert wird:
CREATE USER '<mysql_user>'@'<host_name>' IDENTIFIED BY '<password>';
-
Weisen Sie dem Benutzer
mysql_user
auf Hosthost_name
READ-Berechtigungen für alle Datenbanken zu:GRANT SELECT ON *.* TO '<mysql_user>'@'<host_name>' WITH GRANT OPTION;
-
Speichern Sie die Aktualisierungen der Benutzerberechtigungen mit folgendem Befehl:
FLUSH PRIVILEGES;
-
-
So ermöglichen Sie den Zugriff auf eine bestimmte Datenbank von jedem Host aus:
-
Erteilen Sie READ-Berechtigungen an
mysql_user
von jedem gültigen Host:GRANT SELECT ON <database_name>.* TO '<mysql_user>'@'%' WITH GRANT OPTION;
-
Speichern Sie die Aktualisierungen der Benutzerberechtigungen mit folgendem Befehl:
FLUSH PRIVILEGES;
-
PostgreSQL-Datenbank
- 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.
-
Ö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.
-
Die Administrationsressourcen werden im linken Navigationsbereich unter Ressourcen aufgeführt. Klicken Sie auf Entitys.
-
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.
-
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.
-
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.
-
-
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.
-
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
oderservice_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
-
Ö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.
-
Die Administrationsressourcen werden im linken Navigationsbereich unter Ressourcen aufgeführt. Klicken Sie auf Quellen.
-
Klicken Sie auf der Seite "Quellen" auf Quelle erstellen.
Das Dialogfeld "Quelle erstellen" wird angezeigt.
-
Geben Sie im Feld Quelle den Namen für die Quelle ein.
-
Wählen Sie in der Liste Quelltyp die Option Datenbank aus.
-
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.
-
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.
-
Klicken Sie auf Konfigurieren, um das Dialogfeld "Spaltenzuordnung konfigurieren" anzuzeigen.
-
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
.
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.
-
-
Wiederholen Sie die Schritte 6 bis 8, um mehrere SQL-Abfragen hinzuzufügen.
-
Wählen Sie für jede SQL-Abfrage Aktiviert aus, und klicken Sie auf Speichern.
Zugangsdaten für Datenbankentity angeben
-
Melden Sie sich bei dem Host an, auf dem der Management Agent installiert ist.
-
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.
-
Verwenden Sie das Skript
credential_mgmt.sh
mit dem VorgangupsertCredentials
, 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.
- Eingabedatei: Die JSON-Eingabedatei mit den Zugangsdatenparametern, z.B.
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.
-
Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Log Explorer.
-
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. -
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.
-
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.