Téléchargement des journaux d'événements à l'aide de l'API LogEvents
Pour utiliser les journaux d'événements avec l'adresse Oracle Logging Analytics via l'API LogEvents, suivez les étapes présentées ci-dessous.
-
Vous pouvez télécharger des événements vers le serveur à l'aide du format de charge utile prédéfini,
JSON
. L'API prend également en charge les formats d'archiveGZIP
etZIP
-
La taille maximale autorisée de chaque fichier JSON est de 2 Mo. Cependant, une demande de téléchargement peut contenir plusieurs fichiers JSON jusqu'à un maximum de 100 sous forme de fichier ZIP.
-
Le groupe de journaux est un paramètre de demande obligatoire qui sera appliqué à la portée de la demande. L'ensemble de journaux est un paramètre facultatif et peut être nécessaire pour de grands ensembles de données de journal, par exemple, des To de données sur une base quotidienne.
Pour connaître les étapes de téléchargement des fichiers journaux bruts à l'aide de l'API REST, reportez-vous à Téléchargement des journaux à la demande.
Prérequis :
- Nom de la nouvelle source de journal ou d'une source de journal définie par Oracle correspondant au format de journal. Reportez-vous à Sources définies par Oracle et à Création d'une source.
Pour effectuer un téléchargement à l'aide de l'API REST, la source doit être du type Messages d'événement système (Syslog), Fichier ou Journaux de diagnostic Oracle (ODL).
- OCID du groupe de journaux qui fournit un contrôle d'accès pour les journaux. Reportez-vous à Création de groupes de journaux pour stocker vos journaux.
- OCID de l'entité si vous voulez mettre en correspondance les journaux que vous téléchargez vers une entité. Reportez-vous à Création d'une entité pour représenter la ressource émettrice de journal.
Droits d'accès requis pour charger les journaux d'événements
Vous pouvez permettre aux utilisateurs d'effectuer une opération de téléchargement en accordant de manière sélective uniquement les droits d'accès requis pour effectuer la tâche de téléchargement, en accordant des droits d'accès individuels de type ressource ou en accordant des droits d'accès de niveau agrégé plus larges. Vous pouvez donc sélectionner l'un des trois ensembles d'instructions de stratégie fournis ci-dessous, en fonction de votre cas d'emploi.
L'instruction de stratégie IAM suivante permet de fournir les droits d'accès spécifiques au groupe d'utilisateurs pour le téléchargement :
allow group <group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment <log_group_compartment>
L'instruction de stratégie IAM suivante permet d'accorder des droits d'accès au niveau des types individuels de ressource pour le téléchargement :
allow group <group_name> to use loganalytics-log-group in compartment <log_group_compartment>
D'autre part, l'instruction de stratégie IAM suivante permet de fournir des droits d'accès au niveau des ressources agrégées Oracle Logging Analytics pour le téléchargement :
allow group <group_name> to use loganalytics-resources-family in tenancy/compartment
Dans toutes les instructions de stratégie ci-dessus, group_name
fait référence au groupe d'utilisateurs auquel les droits d'accès requis doivent être accordés.
API de téléchargement des journaux d'événements
Pour plus d'informations sur l'utilisation de l'API REST et la signature des demandes, reportez-vous à API REST et à Informations d'identification de sécurité.
Pour obtenir la documentation de l'API uploadLogEventsFile
, reportez-vous à API Logging Analytics - uploadLogEventsFile.
Pour effectuer un téléchargement à l'aide de l'API REST, exécutez la commande suivante sur l'hôte :
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>
Dans la commande curl ci-dessus,
-
Json_Event_File_Path : chemin du fichier d'événements JSON. Pour plus de détails sur le format du fichier d'événements JSON et un exemple, reportez-vous à Format de fichier d'événements à télécharger à l'aide de l'API LogEvents.
-
Tenancy_Namespace_Name : espace de noms Oracle Logging Analytics utilisé pour la demande.
-
Log_Group_OCID : OCID du groupe de journaux dans lequel les journaux téléchargés sont stockés dans Oracle Logging Analytics.
-
Payload_Type : la valeur par défaut est
JSON
. Les valeurs autorisées sontJSON
,GZIP
,ZIP
. -
Log_Set : ensemble de journaux associé aux journaux téléchargés. Ce paramètre est facultatif.
Format de fichier d'événement à télécharger à l'aide de l'API LogEvents
Voici le format standard de la charge utile JSON :
{
"metadata":{ ----------------------------------------> Global (file level) metadata section to send additional metadata in field value pair format. The fields should be valid Logging 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>“, -------------------> Logging Analytics Entity OCID
"logSourceName”:”<LogSourceName>”, -----------> Logging 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 section des métadonnées permet d'enrichir les journaux avec les informations qui ne font pas partie des enregistrements de journal réels.
Voici un exemple de charge utile 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."
]
}
]
}