Carica log eventi mediante l'API LogEvents
Se si desidera eseguire il PUSH dei log degli eventi sull'endpoint di Oracle Log Analytics tramite l'API LogEvents, attenersi alla procedura riportata di seguito.
-
È possibile caricare uno o più eventi utilizzando il formato di payload predefinito disponibile in
JSON. Inoltre, l'API supporta i formati di archivioGZIPeZIP -
La dimensione massima consentita di ogni JSON è 2 MB. Tuttavia, una richiesta di caricamento può contenere più file JSON fino a un massimo di 100 sotto forma di ZIP.
-
Il gruppo di log è un parametro di richiesta obbligatorio che verrà applicato nell'ambito della richiesta. Il set di log è un parametro facoltativo e può essere necessario per set di dati di log di grandi dimensioni, ad esempio TB di dati su base giornaliera.
Per i passi per eseguire il caricamento di file di log raw mediante l'API REST, vedere Carica log su richiesta.
Prerequisiti:
Prima di iniziare a caricare i log degli eventi, assicurarsi di raccogliere le seguenti informazioni
- Nome origine log di una nuova origine log o di un'origine log definita da Oracle che corrisponde al formato di log. Vedere Origini definite da Oracle e Crea un'origine.
Per eseguire il caricamento utilizzando l'API REST, l'origine deve essere di tipo Messaggi evento di sistema (Syslog), File o Log di diagnostica Oracle (ODL).
- OCID del gruppo di log che fornisce il controllo dell'accesso per i log. Vedere Creazione di gruppi di log per memorizzare i log.
- Facoltativamente, OCID dell'entità, se si desidera mappare i log che si stanno caricando a un'entità. Vedere Creare un'entità per rappresentare la risorsa che invia il log.
Consenti agli utenti di caricare i log eventi
È possibile consentire agli utenti di eseguire l'operazione di caricamento assegnando in modo selettivo solo le autorizzazioni necessarie per eseguire il task di caricamento, concedendo singole autorizzazioni di tipo risorsa o concedendo autorizzazioni di livello aggregato più ampie. Quindi puoi selezionare uno dei tre set di istruzioni dei criteri forniti di seguito, come adatto al tuo caso d'uso.
L'istruzione del criterio IAM riportata di seguito consente di fornire le autorizzazioni specifiche al gruppo di utenti per il caricamento.
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 le autorizzazioni a livello di singoli tipi di risorse per il caricamento.
allow group <group_name> to use loganalytics-log-group in compartment <log_group_compartment>D'altra parte, l'istruzione del criterio IAM riportata di seguito consente di fornire le autorizzazioni a livello di risorse di aggregazione Oracle Log Analytics per il caricamento.
allow group <group_name> to use loganalytics-resources-family in tenancy/compartmentgroup_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 degli eventi
Per informazioni sull'utilizzo dell'API REST e sulle richieste di firma, vedere API REST e Credenziali di sicurezza.
Per la documentazione sull'API uploadLogEventsFile, vedere Log Analytics API - uploadLogEventsFile.
Per eseguire il caricamento utilizzando l'API REST, eseguire il comando seguente sull'host:
oci log-analytics upload upload-log-events-file --file <Json_Event_File_Path> --log-group-id <Log_Group_OCID> --namespace-name <Tenancy_Namespace_Name> --payload-type <Payload_Type>Nel precedente comando curl,
-
Json_Event_File_Path: il percorso del file degli eventi JSON. Per informazioni dettagliate sul formato del file Eventi JSON e un esempio, vedere Formato file evento da caricare mediante l'API LogEvents.
-
Tenancy_Namespace_Name: lo spazio di nomi Oracle Log Analytics utilizzato per la richiesta.
-
Log_Group_OCID: l'OCID del gruppo di log in cui i log caricati vengono memorizzati in Oracle Log Analytics.
-
Payload_Type: il valore predefinito è
JSON. I valori consentiti sonoJSON,GZIP,ZIP. -
Log_Set: il set di log associato ai log caricati. Si tratta di un parametro facoltativo.
Formato file evento da caricare mediante l'API LogEvents
Ecco il formato tipico del payload JSON:
{
"metadata":{ ----------------------------------------> Global (file level) metadata section to send additional metadata in field value pair format. The fields should be valid Log Analytics Fields
"Field1":"Value1",
"Field2":"Value2",
"FieldN":"ValueN"
},
"logEvents":
[ ---------------------------------------------------> Group the events (logRecords) that belong to the same logSourceName, entityId, logPath and metadata
{
"metadata":{ --------------------------------> Group level metadata section
"FieldA”:”ValueA”,
"FieldB”:”ValueB”,
"FieldN":"ValueN"
},
"entityId”:”<EntityOCID>“, -------------------> Log Analytics Entity OCID
"logSourceName”:”<LogSourceName>”, -----------> Log Analytics LogSource Name (Mandatory)
"logPath”:”<LogPath>”, -----------------------> logPath or logFileName to associate the log records with.
"logRecords": -------------------------------> Array of logRecords/logEntries (Mandatory)
[
"logRecord1", ---------------------------> String representation of logRecord. In case the logRecord is of JSON type, it has to be encoded.
"logRecord2",
"logRecordN"
]
},
{ … … … }
]
}La sezione metadati consente di arricchire i log con le informazioni che non fanno parte dei record di log effettivi.
Ecco un esempio di payload JSON:
{
"metadata":{
"Error ID":"0",
"Environment":"dev",
"Client Host Region":"IST"
},
"logEvents":
[
{
"metadata":{
"Error ID":"1",
"Environment":"prod",
"Client Host Region":"PST"
},
"entityId":"ocid1.loganalyticsentity.oc1.iad.amaaaaa...........",
"logSourceName":"Linux Syslog Logs",
"logPath":"/var/log/messages",
"logRecords":
[
“Oct 20 2023 04:02:37 hostA syslogd 1.4.1: restart.",
“Oct 20 2023 04:02:38 hostB syslogd 1.4.1: shutdown."
]
}
]
}