Benutzerdefinierte Logs

Benutzerdefinierte Logs sind Logs, die Diagnoseinformationen von benutzerdefinierten Anwendungen, anderen Cloud-Providern oder einer On-Premise-Umgebung enthalten.

Benutzerdefinierte Logs können wie folgt aufgenommen werden:
  • Mit PutLogs können Sie benutzerdefinierte Logs direkt aufnehmen. Weitere Informationen finden Sie unter API für Logging-Aufnahme und REST-APIs. Unter Benutzerdefinierte Logs aufnehmen finden Sie eine Beispieleintrags-Payload, die mit PutLogs verwendet werden kann.

  • Sie können den Unified Monitoring Agent konfigurieren. Weitere Anweisungen finden Sie unter Agent installieren.

    Hinweis

    Beim Verwalten von Oracle Cloud Agent-Plug-ins wird der Unified Monitoring Agent als "Custom Logs Monitoring" bezeichnet.

Benutzerdefinierte Logs können auf der Seite der Oracle Cloud Infrastructure Compute-Instanz angezeigt werden und verfügen über eine verknüpfte Logressource. Sie können auch auf der Seite Suchen von Logging, der Seite Logs oder auf einer verknüpften Detailseite für Loggruppen angezeigt werden. Benutzerdefinierte Logs werden auch in Bare-Metal-Instanzen unterstützt.

Hinweis

Sie können auch die Rate anzeigen, mit der benutzerdefinierte Logs mit dem Oracle Cloud Infrastructure Monitoring-Service akzeptiert und aufgenommen werden. Weitere Informationen finden Sie unter Akzeptanzrate für benutzerdefinierte Logs anzeigen.

Der Unified Monitoring Agent kann auf vielen Rechnern installiert werden. Dabei werden Logs aus lokalen Verzeichnissen abgerufen, in die Ihre Anwendungen oder Systeme Logs ausgeben. Der Agent kann Ihre Logs auch für Sie parsen. All dies wird unter Agent-Konfigurationen konfiguriert. Sie können eine Agent-Konfiguration separat erstellen und ihr dann ein benutzerdefiniertes Log zuordnen. Alternativ können Sie auch ein benutzerdefiniertes Log generieren und anschließend die dazugehörige Agent-Konfiguration erstellen.

Mit einer Agent-Konfiguration können Sie Folgendes definieren:
  • Von welchen Hosts Sie Logs erfassen möchten.
  • Welche spezifischen Logs Sie von den Hosts erfassen möchten.
  • Zusätzliche Parser.
  • Das benutzerdefinierte Logziel.

Die Erstellung eines benutzerdefinierten Logs ist ein zweistufiger Prozess, bei dem Sie zuerst das benutzerdefinierte Logobjekt und dann die zugehörige Agent-Konfiguration erstellen. Weitere Informationen zum Erstellen von benutzerdefinierten Logs und Agent-Konfigurationen finden Sie unter Logs erstellen, und Überblick über das Agent-Management.

Hinweis

Damit der Agent ordnungsgemäß ausgeführt wird, müssen Ihre Firewalleinstellungen die folgenden URI-Endpunkte zulassen:
  • https://auth.<Ihre Region>.oraclecloud.com
  • https://ingestion.logging.<Ihre Region>.oci.oraclecloud.com.

Benutzerdefinierte Logmetadaten und Speichergebühren

Benutzerdefinierte Logmetadaten werden bei der Aufnahme an zwei Stellen hinzugefügt, um die Speicherkosten zu optimieren:

  • Auf Ebene der Anforderung
  • Auf Ebene der Logzeile

Eine Anforderung ist eine Zusammenstellung von Logzeilen. Die Anforderung kann eine oder mehrere Logzeilen enthalten. Diese Anforderungen können einen Batch von Logzeilen enthalten, die aufgenommen wurden. Anschließend können weitere Aufrufe zur Aufnahme zusätzlicher Logzeilen auftreten. Eine Anforderung kann auch eine andere Anzahl von Logzeilen haben, je nachdem, wie Kunden Daten senden. Kunden werden die Metadaten nur einmal auf Anforderungsebene berechnet. Da zusätzliche Logzeilen in einer Anforderung aufgenommen werden, fallen auf dieser Ebene keine zusätzlichen Gebühren an. Die Anforderungsmetadaten gelten für alle Logzeilen in einer Anforderung auf Anforderungsebene, anstatt jeder Logzeile zusätzliche Metadaten hinzuzufügen, wodurch Speicherkosten gespart werden.

Im Folgenden finden Sie Beispielmetadaten auf Anforderungsebene:

{
"oracle":{
"compartmentid":"ocid1.compartment.oc1..<unique_id>",
"ingestedtime":"2022-05-23T18:00:04.073Z",
"loggroupid":"ocid1.loggroup.oc1.iad.<unique_id>",
"logid":"ocid1.log.oc1.iad.<unique_id>",
"tenantid":"ocid1.tenancy.oc1..<unique_id>"
},
"source":"<customer_data>",
"specversion":"1.0",
"subject":"<customer_data>",
"type":"<customer_data>"
}

Die Mindestgröße für Anforderungsmetadaten beträgt 500 Byte. Die Menge kann jedoch je nach Größe der Kundendaten in den Feldern source, subject und type variieren. Die Gesamtgröße der Metadaten kann je nach den spezifischen Daten des Kunden in diesen Feldern variieren.

Auf der Ebene der Logzeile, die die tatsächliche Log-Payload enthält, werden die folgenden 100-Byte-Metadaten für jede Logzeile hinzugefügt:

{
"data":{
<log payload>
},
"id":"fb1f6b06-4ed5-4133-a1d0-ad2ffc3addc6",
"time":"2022-05-23T11:54:30.532Z",
}

id und time sind obligatorisch und geben das entsprechende Logereignis zusammen mit der Erstellungszeit an.

Beispiel: (Angenommen, leere Daten in den Feldern source, subject und type) Wenn der Oracle Cloud Infrastructure Logging Unified Monitoring Agent eine Anforderung mit 100 Logzeilen erhalten hat, wobei jede Logzeile eine Größe von 1 KB aufweist, beträgt die hinzugefügte Metadatengesamtgröße für die folgende Berechnung etwa 10,5 KB:
  • Anforderungsebene: 500 Byte
  • Logzebene: 100 (Anzahl der Logzeilen in einer Anforderung) * 100 Byte (alle Logzeilenmetadaten) = 10 KB

Die Gesamtmenge der in diesem Anforderungsbeispiel gesendeten Logzeilen beträgt 100 * 1 KB = 100 KB. Nach dem Hinzufügen der Metadaten beträgt die resultierende Logspeichergröße 110,5 KB.