OpenTelemetry-Logs hochladen
Wenn Sie Logs Ihrer Anwendungen oder Infrastruktur aufnehmen möchten, die mit OpenTelemetry in Oracle Log Analytics instrumentiert wurden, laden Sie sie mit der UploadOtlpLogs
-API hoch.
Die API unterstützt derzeit OpenTelemetry-Logs (OTLP) im JSON-Format. Die OTEL-Logs, die mit dieser API im angegebenen Format hochgeladen wurden, werden standardmäßig mit der von Oracle definierten OpenTelemetry-Logquelle verarbeitet. Weitere Informationen zu den OTLP-Logs im JSON-Format finden Sie unter Beispiele.
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden wichtigen Voraussetzungen erfüllt haben, bevor Sie die OTEL-Logs hochladen:
- Identifizieren oder erstellen Sie eine Benutzergruppe, für die Sie die erforderlichen Berechtigungen zum Hochladen bereitstellen können. Siehe Benutzergruppen zur Implementierung der Zugriffskontrolle erstellen.
- Erfassen Sie die OCID der Loggruppe, die Zugriffskontrolle für die Logs bietet. Siehe Loggruppen zum Speichern der Logs erstellen.
- Erfassen Sie den Namespace des Mandanten, für den die Logs hochgeladen werden müssen. Sie können den Namespace-Wert auf der Log Analytics-Seite Servicedetails notieren. Siehe Log Analytics-Servicedetails anzeigen.
Themen:
Upload von OpenTelemetry-Logs durch Benutzer zulassen
Fügen Sie je nach Anforderung eine der folgenden IAM-Policy-Anweisungen hinzu:
-
Mit der folgenden IAM-Policy-Anweisung können Sie der angegebenen Benutzergruppe Berechtigungen zum Hochladen der OTEL-Logs erteilen:
allow group <group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment <log_group_compartment>
-
Mit der folgenden IAM-Policy-Anweisung können Sie Berechtigungen auf der Ebene des individuellen Ressourcentyps
loganalytics-log-group
für die Ausführung des Uploads erteilen:allow group <group_name> to use loganalytics-log-group in compartment <log_group_compartment>
-
Mit der folgenden IAM-Policy-Anweisung können Sie Berechtigungen auf der aggregierten Oracle Log Analytics-Ressourcenebene für die Ausführung des Uploads erteilen:
allow group <group_name> to use loganalytics-resources-family in tenancy/compartment
group_name
in allen oben genannten Policy-Anweisungen bezieht sich auf die Benutzergruppe, der die erforderlichen Berechtigungen erteilt werden müssen.
API zum Hochladen von OpenTelemetry-Logs
Informationen zur Verwendung der REST-API und zu Signieranforderungen finden Sie unter REST-APIs und Sicherheitszugangsdaten.
API-Dokumentation finden Sie unter Log Analytics-API - UploadOtlpLogs.
Im Folgenden finden Sie einen CLI-Beispielbefehl zum Hochladen von OTEL-Logs:
oci log-analytics upload upload-otlp-logs --file <Log_File_Path> --opc-meta-loggrpid <Log_Group_OCID> --namespace-name <Service_Namespace>
Im obigen Befehl gilt Folgendes:
Log_File_Path
: Der Pfad der Logdatei.Service_Namespace
: Der Namespace des Mandanten, für den die Logs hochgeladen werden müssen. Die Schritte zum Abrufen des Wertes finden Sie unter Log Analytics-Servicedetails anzeigen.Log_Group_OCID
: Die OCID der Loggruppe, die Zugriffskontrolle für die Logs bietet.
OTEL-Attribute in Log Analytics behandeln
Attribute können auf drei Ebenen festgelegt werden: Ressource, Geltungsbereich, einzelner Logdatensatz. Die Setattribute werden für jeden Logdatensatz im Feld Attribute von Log Analytics gespeichert. Jedes Attribut kann auch mit dem benutzerdefinierten Attribut oci_la_attribute_mapping
in ein anderes Log Analytics-Feld extrahiert werden.
Themen:
- Szenario 1: Standard-OTLP-Logformat und zugehörige Extraktion
- Szenario 2: Benutzerdefinierte Zuordnung von Attributen mit speziellem Attribut oci_la_attribute_mapping
- Szenario 3: Zuordnung komplexer Attribute bearbeiten
Szenario 1: Standard-OTLP-Logformat und zugehörige Extraktion
Betrachten Sie das folgende Beispiellog im OTLP-Format:
{
"resourceLogs": [
{
"resource": {
"attributes": [
{
"key": "deployment.environment",
"value": {
"stringValue": "development"
}
},
{
"key": "service.name",
"value": {
"stringValue": "SampleLogApp"
}
},
{
"key": "service.version",
"value": {
"stringValue": "0.0.2"
}
}
]
},
"scopeLogs": [
{
"scope": {
"name": "sample-scope-info",
"version": "1.0.0"
},
"logRecords": [
{
"timeUnixNano": "1758112881118549000",
"severityNumber": 10,
"severityText": "INFO",
"body": {
"stringValue": "Processed request successfully"
},
"attributes": [
{
"key": "event_type",
"value": {
"stringValue": "event-info"
}
},
{
"key": "os",
"value": {
"stringValue": "linux"
}
},
{
"key": "custom_attribute",
"value": {
"stringValue": "some_value"
}
},
{
"key": "dropped",
"value": {
"stringValue": "value"
}
},
{
"key": "otel.dropped_attributes_count",
"value": {
"intValue": "5"
}
},
{
"key": "id",
"value": {
"stringValue": "123"
}
}
],
"traceId": "0102030405060708090a0b0c0d0e0f10",
"spanId": "0102030405060708"
}
]
}
]
}
]
}
Die Attribute aus dem obigen Beispiel werden wie folgt in das Feld Attribute in Oracle Log Analytics extrahiert:
{
"service.version":"0.0.2",
"os":"linux",
"dropped":"value",
"id":"123",
"custom_attribute":"some_value",
"otel.dropped_attributes_count":"5"
}
Szenario 2: Benutzerdefinierte Zuordnung von Attributen mit speziellem Attribut oci_la_attribute_mapping
Beispiel: So ordnen Sie die folgenden Attribute Oracle Log Analytics-Feldern zu:
- service.name zum Feld Anwendung
- deployment.environment in das Feld Umgebung
- event_type zu dem Feld Ereignistyp.
oci_la_attribute_mapping
muss wie folgt definiert werden:
[{"attributeName":"service.name","laFieldName":"Application"},{"attributeName":"deployment.environment","laFieldName":"Environment"},{"attributeName":"event_type","laFieldName":"Event Type"}]
Im Folgenden finden Sie ein Beispiel für die obige benutzerdefinierte Zuordnung, die in das OTEL-Log integriert ist:
{
"resourceLogs": [
{
"resource": {
"attributes": [
{
"key": "deployment.environment",
"value": {
"stringValue": "development"
}
},
{
"key": "service.name",
"value": {
"stringValue": "SampleLogApp"
}
},
{
"key": "service.version",
"value": {
"stringValue": "0.0.2"
}
},
{
"key": "oci_la_attribute_mapping",
"value": {
"stringValue": "[{\"attributeName\":\"service.name\",\"laFieldName\":\"Application\"},{\"attributeName\":\"deployment.environment\",\"laFieldName\":\"Environment\"},{\"attributeName\":\"event_type\",\"laFieldName\":\"Event Type\"}]"
}
}
]
},
"scopeLogs": [
{
"scope": {
"name": "sample-scope-info",
"version": "1.0.0"
},
"logRecords": [
{
"timeUnixNano": "1758112881118549000",
"severityNumber": 10,
"severityText": "INFO",
"body": {
"stringValue": "Processed request successfully"
},
"attributes": [
{
"key": "event_type",
"value": {
"stringValue": "event-info"
}
},
{
"key": "os",
"value": {
"stringValue": "linux"
}
},
{
"key": "custom_attribute",
"value": {
"stringValue": "value"
}
},
{
"key": "dropped",
"value": {
"stringValue": "value"
}
},
{
"key": "otel.dropped_attributes_count",
"value": {
"intValue": "5"
}
},
{
"key": "id",
"value": {
"stringValue": "123"
}
}
],
"traceId": "0102030405060708090a0b0c0d0e0f10",
"spanId": "0102030405060708"
}
]
}
]
}
]
}
Szenario 3: Zuordnung komplexer Attribute bearbeiten
Arrayattribute (Mehrwert):
Stellen Sie bei einem Attribut mit einem Array-(Listen-)Wert sicher, dass das zugeordnete Oracle Log Analytics-Feld mehrwertige Datentypen unterstützt. Beispiel:
{"key": "teams", "value": {"arrayValue": {"values": [{"stringValue": "Alpha"}, {"stringValue": "Beta"}]}}}
Attribute zuordnen (verschachtelter Schlüsselwert):
Geben Sie für ein Map-(Objekt-)Attribut den untergeordneten Schlüssel an, um ihn dem Oracle Log Analytics-Feld zuzuordnen.
Beispiel für ein Listenattribut:
{
"key": "system",
"value": {
"kvlistValue": {
"values": [
{
"key": "version",
"value": {
"stringValue": "1.0"
}
},
{
"key": "build",
"value": {
"stringValue": "2.0"
}
},
{
"key": "env",
"value": {
"stringValue": "test"
}
}
]
}
}
}
Beispielmapping in oci_la_attribute_mapping
für das obige Listenattribut:
[{"attributeName":"system","childAttributeName":"env","laFieldName":"Environment"}]