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'archive GZIP et ZIP

  • 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 :

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 sont JSON, 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"
            ]
        },
        {            …            …            …       }
    ]
}
Remarque

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."
            ]
        }
    ]
}