Carga de logs de eventos con la API LogEvents
Si desea transferir los logs de eventos al punto final de Oracle Log Analytics mediante la API LogEvents, siga los pasos que se muestran a continuación.
-
Puede cargar uno o más eventos mediante el formato de carga útil predefinido, que está en
JSON. Además, la API soporta los formatos de archivoGZIPyZIP -
El tamaño máximo permitido de cada JSON es de 2 MB. Sin embargo, una solicitud de carga puede contener varios archivos JSON hasta un máximo de 100 en formato ZIP.
-
El grupo de logs es un parámetro de solicitud obligatorio que se aplicará en el ámbito de la solicitud. El juego de logs es un parámetro opcional y puede ser necesario para grandes juegos de datos de log, por ejemplo, TB de datos a diario.
Para conocer los pasos para realizar la carga de archivos log sin formato mediante la API de REST, consulte Carga de logs en Demand.
Requisitos:
Antes de empezar a cargar los logs de eventos, asegúrese de recopilar la siguiente información
- El nombre de origen del log de un nuevo origen del log o de un origen del log definido por Oracle que coincida con su formato de log. Consulte Orígenes definidos por Oracle y Creación de un origen.
Para realizar la carga mediante la API de REST, el origen debe ser del tipo Mensajes de evento del sistema (Syslog), Archivo o Logs de diagnóstico de Oracle (ODL).
- OCID del grupo de logs que proporciona control de acceso para los logs. Consulte Creación de grupos de logs para almacenar los logs.
- Opcionalmente, el OCID de la entidad, si desea asignar los logs que está cargando a una entidad. Consulte Creación de una entidad para representar el recurso que emite logs.
Permitir a los usuarios cargar logs de eventos
Puede permitir que los usuarios realicen la operación de carga proporcionando de forma selectiva solo los permisos necesarios para realizar la tarea de carga, otorgando permisos de tipo de recurso individual o otorgando permisos de nivel agregado más amplios. Por lo tanto, puede seleccionar cualquiera de los tres juegos de sentencias de política que se proporcionan a continuación, según sea adecuado para su caso de uso.
La siguiente sentencia de política de IAM sirve para proporcionar los permisos específicos al grupo de usuarios para la carga:
allow group <group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment <log_group_compartment>La siguiente sentencia de política de IAM sirve para proporcionar permisos en el nivel de tipos de recursos individuales para la carga:
allow group <group_name> to use loganalytics-log-group in compartment <log_group_compartment>Por otro lado, la siguiente sentencia de política de IAM sirve para proporcionar permisos en el nivel de recursos agregados de Oracle Log Analytics para la carga:
allow group <group_name> to use loganalytics-resources-family in tenancy/compartmentgroup_name en todas las sentencias de política anteriores hace referencia al grupo de usuarios al que se deben otorgar los permisos necesarios.
API para cargar logs de eventos
Para obtener información sobre el uso de la API de REST y las solicitudes de firma, consulte API de REST y Credenciales de seguridad.
Para obtener la documentación de la API uploadLogEventsFile, consulte API de Log Analytics - uploadLogEventsFile.
Para realizar la carga mediante la API de REST, ejecute el siguiente comando en el 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>En el comando curl anterior,
-
Json_Event_File_Path: ruta del archivo de eventos JSON. Para obtener detalles sobre el formato del archivo JSON Events y un ejemplo, consulte Formato de archivo de evento para cargar mediante la API LogEvents.
-
Tenancy_Namespace_Name: espacio de nombres de Oracle Log Analytics utilizado para la solicitud.
-
Log_Group_OCID: OCID del grupo de logs en el que los logs cargados se almacenan en Oracle Log Analytics.
-
Payload_Type: el valor por defecto es
JSON. Los valores permitidos sonJSON,GZIP,ZIP. -
Log_Set: juego de logs que se asocia a los logs cargados. Este parámetro es opcional.
Formato de archivo de evento para cargar mediante la API LogEvents
Este es el formato típico de la carga útil de 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 sección de metadatos sirve para enriquecer los logs con la información que no forma parte de los registros de log reales.
A continuación se muestra un ejemplo de carga útil de 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."
]
}
]
}