Carica log OpenTelemetry
Se si desidera includere i log delle applicazioni o dell'infrastruttura con strumenti che utilizzano OpenTelemetry in Oracle Log Analytics, utilizzare l'API UploadOtlpLogs per caricarli.
L'API attualmente supporta i log OpenTelemetry (OTLP) in formato JSON. I log OTEL caricati utilizzando questa API nel formato specificato vengono elaborati utilizzando l'origine log OpenTelemetry Log definita da Oracle, per impostazione predefinita. Per ulteriori informazioni sui log OTLP in formato JSON, vedere Esempi.
Requisiti indispensabili
Assicurarsi di aver completato i prerequisiti essenziali riportati di seguito prima di caricare i log OTEL.
- Identificare o creare un gruppo di utenti a cui è possibile fornire le autorizzazioni necessarie per eseguire il caricamento. Vedere Creazione di gruppi di utenti per implementare il controllo dell'accesso.
- Raccoglie l'OCID del gruppo di log che fornisce il controllo dell'accesso per i log. Vedere Creazione di gruppi di log per memorizzare i log.
- Raccoglie lo spazio di nomi della tenancy in base al quale devono essere caricati i log. È possibile prendere nota del valore dello spazio di nomi dalla pagina Dettagli servizio di Log Analytics. Vedere Visualizza dettagli servizio Log Analytics.
Argomenti:
Consenti agli utenti di caricare i log OpenTelemetry
Aggiungere una qualsiasi delle istruzioni dei criteri IAM riportate di seguito in base alle proprie esigenze.
-
L'istruzione dei criteri IAM riportata di seguito consente di fornire l'autorizzazione al gruppo di utenti specificato per il caricamento dei log OTEL.
allow group <group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment <log_group_compartment> -
L'istruzione dei criteri IAM riportata di seguito consente di fornire l'autorizzazione a livello di singolo tipo di risorsa
loganalytics-log-groupper l'esecuzione del caricamento.allow group <group_name> to use loganalytics-log-group in compartment <log_group_compartment> -
L'istruzione del criterio IAM seguente consente di fornire l'autorizzazione a livello di risorse di aggregazione Oracle Log Analytics per l'esecuzione del caricamento.
allow group <group_name> to use loganalytics-resources-family in tenancy/compartment
group_name in tutte le istruzioni dei criteri sopra riportate fa riferimento al gruppo di utenti a cui devono essere assegnate le autorizzazioni necessarie.
API per il caricamento dei log OpenTelemetry
Per informazioni sull'utilizzo dell'API REST e sulle richieste di firma, vedere API REST e Credenziali di sicurezza.
Per la documentazione relativa alle API, vedere Log Analytics API- UploadOtlpLogs.
Di seguito è riportato un comando CLI di esempio per caricare i log OTEL.
oci log-analytics upload upload-otlp-logs --file <Log_File_Path> --opc-meta-loggrpid <Log_Group_OCID> --namespace-name <Service_Namespace>Nel comando precedente:
Log_File_Path: il percorso del file di registro.Service_Namespace: lo spazio di nomi della tenancy su cui devono essere caricati i log. Per i passi da eseguire per ottenere il valore, vedere Visualizza dettagli servizio Log Analytics.Log_Group_OCID: l'OCID del gruppo di log che fornisce il controllo dell'accesso per i log.
Gestione degli attributi OTEL in Log Analytics
Gli attributi possono essere impostati su tre livelli: risorsa, ambito, singolo record di log. Gli attributi impostati vengono memorizzati per ogni record di log rispetto al campo Attributi di Log Analytics. Ogni attributo può essere estratto anche in un campo Log Analytics diverso utilizzando l'attributo personalizzato oci_la_attribute_mapping.
Argomenti:
- Scenario 1: formato di log OTLP predefinito e relativa estrazione
- Scenario 2: mapping personalizzato di attributi mediante attributo speciale oci_la_attribute_mapping
- Scenario 3: gestione mapping attributi complessi
Scenario 1: formato di log OTLP predefinito e relativa estrazione
Si consideri il seguente esempio di log in formato OTLP:
{
"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"
}
]
}
]
}
]
}Gli attributi dell'esempio precedente vengono estratti nel campo Attributi di Oracle Log Analytics come indicato di seguito.
{
"service.version":"0.0.2",
"os":"linux",
"dropped":"value",
"id":"123",
"custom_attribute":"some_value",
"otel.dropped_attributes_count":"5"
}Scenario 2: mapping personalizzato di attributi mediante attributo speciale oci_la_attribute_mapping
Ad esempio, per mappare i seguenti attributi ai campi di Oracle Log Analytics:
- service.name nel campo Applicazione
- deployment.environment nel campo Ambiente
- event_type al campo Tipo di evento.
oci_la_attribute_mapping deve essere definito come segue:
[{"attributeName":"service.name","laFieldName":"Application"},{"attributeName":"deployment.environment","laFieldName":"Environment"},{"attributeName":"event_type","laFieldName":"Event Type"}]Di seguito è riportato un esempio della mappatura personalizzata sopra incorporata nel log OTEL.
{
"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"
}
]
}
]
}
]
}Scenario 3: gestione mapping attributi complessi
Attributi array (multivalore):
Per un attributo con un valore di array (elenco), assicurarsi che il campo Oracle Log Analytics mappato supporti tipi di dati con più valori, ad esempio:
{"key": "teams", "value": {"arrayValue": {"values": [{"stringValue": "Alpha"}, {"stringValue": "Beta"}]}}}Attributi mappa (valore chiave nidificato):
Per un attributo mappa (oggetto), specificare la chiave figlio da mappare al campo Oracle Log Analytics.
Attributo lista di esempio:
{
"key": "system",
"value": {
"kvlistValue": {
"values": [
{
"key": "version",
"value": {
"stringValue": "1.0"
}
},
{
"key": "build",
"value": {
"stringValue": "2.0"
}
},
{
"key": "env",
"value": {
"stringValue": "test"
}
}
]
}
}
}Mapping di esempio in oci_la_attribute_mapping per l'attributo della lista precedente:
[{"attributeName":"system","childAttributeName":"env","laFieldName":"Environment"}]