Gérer le partitionnement des journaux

Vous pouvez définir des jeux de journaux pour partitionner physiquement les journaux en fonction de votre infrastructure, de votre architecture d'application ou de votre structure organisationnelle afin d'optimiser les performances de recherche si vous prévoyez d'ingérer de manière persistante plus de 6 To de données de journal par jour pour un seul locataire dans une même région.

Pour plus d'informations sur le partitionnement des journaux, voir Partitionnement des journaux.

Après avoir activé le partitionnement des journaux pour votre location dans une région spécifique, vous devez vous assurer que chaque entrée de journal comporte une valeur de chaîne définie pour le champ de jeu de journaux. Selon votre méthode d'ingestion, vous pouvez suivre les étapes partagées ci-dessous pour spécifier la valeur du jeu de journaux.

Lorsque le partitionnement des journaux est activé dans votre location, l'option de sélection du jeu de journaux s'affiche dans le filtre de portée. Avant de lancer une interrogation, vous devez sélectionner au moins un de vos jeux de journaux ou utiliser le caractère générique *. Il est recommandé d'utiliser le caractère générique uniquement dans les cas d'utilisation où vous devez effectuer une recherche dans tous les journaux. Il s'agira d'une recherche plus coûteuse qui prendra plus de temps à s'exécuter car elle effectuera une recherche dans tous vos journaux. Les interrogations peuvent expirer si vous avez trop de données sur l'intervalle de temps sélectionné lors d'une recherche avec des caractères génériques. Voir Utiliser les filtres de portée.

Activer le partitionnement des journaux

Le partitionnement des journaux est disponible dans toutes les régions et tous les domaines où Oracle Logging Analytics est disponible.

Si votre cas d'utilisation nécessite la fonction de partitionnement, soumettez un fichier Service Request à Oracle Support pour demander cette fonction dans Oracle Logging Analytics.

Spécifier la valeur du jeu de journaux : Ingestion de journaux au moyen de l'agent de gestion

Vous pouvez collecter des journaux au moyen d'un agent de gestion autonome ou l'utiliser dans le cadre d'Oracle Cloud Agent.

  1. Vous pouvez définir le jeu de journaux de plusieurs façons en modifiant le fichier emd.properties pour l'agent de gestion. Sélectionnez l'une des options suivantes :

    • Vous pouvez définir une valeur de jeu de journaux statique pour tous les journaux collectés par l'agent. Ajoutez la propriété suivante au fichier emd.properties de l'agent pour spécifier le jeu de journaux à l'échelle de l'agent :

      loganalytics.src.addl_src_ptn_configs=logset=<Value>
    • Définissez la valeur du jeu de journaux comme faisant partie du nom du fichier journal. Vous pouvez spécifier dans la configuration de l'agent une expression rationnelle pour définir comment extraire une partie du chemin du fichier journal en tant que chaîne de jeu de journaux. Dans le fichier de configuration emd.properties de l'agent, spécifiez les propriétés logsetkey et logSetExtRegex :

      loganalytics.src.addl_src_ptn_configs=logsetkey=logorigin,logSetExtRegex=<regex with a capture group>

      logorigin est le chemin d'accès au fichier journal.

    • Vous pouvez spécifier d'appliquer différentes extractions de jeu de journaux pour chaque source séparément en ajoutant l'ID source en tant que propriété aux paramètres ci-dessus.

      //sets this log set value only for source 201904301
      loganalytics.src.addl_src_ptn_configs=srcid=201904301,logset=<Value>
      //sets this log set value based on regular expression extraction only for source 201904301
      loganalytics.src.addl_src_ptn_configs=srcid=201904301,logsetkey=logorigin,logSetExtRegex=<regex with a capture group>
  2. En plus de spécifier le jeu de journaux à l'aide de l'une des méthodes ci-dessus, incluez la propriété suivante dans le fichier de configuration emd.properties :

    loganalytics.src.override_config=true
  3. Redémarrez l'agent après avoir modifié le fichier de configuration.

Spécifier la valeur du jeu de journaux : Ingestion de journaux au moyen du centre de connecteurs de service

Actuellement, cette fonction n'est prise en charge que pour les journaux personnalisés collectés à partir du service de journalisation OCI dans Oracle Logging Analytics à l'aide du centre de connecteurs de service.

Pour définir la valeur du jeu de journaux, le journal personnalisé doit ajouter un nouveau champ au bloc data{} des données du format de journalisation unifié du service de journalisation pour OCI. Par exemple :

{
  "data": {
    "logSet": "<Value>",
    ...
  },
  "oracle": {
    ...
  },
    ...
}

Spécifier la valeur du jeu de journaux : Ingestion de journaux au moyen de la collecte de stockage d'objets

Lors de la création d'une règle de collecte de stockage d'objets, les options utilisées pour alimenter le jeu de journaux dans la collection d'agents de gestion sont applicables.

  • Vous pouvez définir une valeur de jeu de journaux statique pour tous les journaux collectés par cette règle de collecte de stockage d'objets. Ajoutez la propriété suivante au JSON de la règle de collecte de stockage d'objets :

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "<Value>",
        ...
    }
  • Vous pouvez spécifier une expression rationnelle pour analyser le jeu de journaux à partir du chemin d'accès à l'objet. Par exemple :

    {
        "name": "<Object Collection Rule Name>",
        "logSetExtRegex": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)",
        ...
    }
  • Si vous utilisez des remplacements dans la règle de collecte d'objets, vous pouvez également définir l'extraction du jeu de journaux pour le remplacement. Dans l'exemple suivant, tous les journaux collectés à partir du seau recevront le jeu de journaux Value1, à l'exception des objets qui correspondent au remplacement contenant db. Ces journaux obtiendront une chaîne de jeu de journaux capturée à partir de l'expression rationnelle dans le chemin d'accès à l'objet.

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "Value1",
        "overrides": {
            "items": [{
                "matchType": "contains",
                "matchValue": "db",
                "propertyName": "logSetExtRegex",
                "propertyValue": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)"
            }]
        }
    }

Spécifier la valeur du jeu de journaux : Ingestion de journaux au moyen de l'API REST

Lors de la publication des fichiers de données journaux vers le point d'extrémité d'API REST des événements de journal /actions/uploadLogEventsFile, vous pouvez spécifier le jeu de journaux dans les paramètres d'appel d'API REST POST. Toutes les données de journal chargées dans ce seul appel d'API seront stockées avec le même jeu de journaux.

Par exemple :

POST /20200601/namespaces/<namespaceName>/actions/uploadLogEventsFile?logGroupId=<logGroup_OCID>&payloadType=JSON&logSet=<Value>

Spécifier la valeur du jeu de journaux : Ingestion de journaux par Fluentd

Lorsque vous utilisez le collecteur fluentd, l'ensemble de journaux peut être extrait de n'importe quel autre champ (keyname). Spécifiez une expression rationnelle qui définit comment saisir la valeur de jeu de journaux attendue à partir du champ référencé par key_name dans le champ oci_la_log_set.

<filter oci.source>                  
  @type parser
  key_name oci_la_log_path      # The expression will be applied on the key "oci_la_log_path". You can pick any field that fluentd has parsed here.
  <parse>
    @type regexp
    expression '.*\/(?<oci_la_log_set>[^\.]{1,40}).*'   # Valid reg-ex for extraction
  </parse>
</filter>

Lorsque la valeur de oci_la_log_path est /n/axs4r325r2ct/b/logevents/o/fileType/logSetABC.log, la valeur du jeu de journaux extrait basée sur l'expression rationnelle ci-dessus est logSetABC.

Note

Dans l'expression nommée groupe de saisie, (?<oci_la_log_set>) est requis. Sans cela, la chaîne mise en correspondance par l'expression rationnelle ne sera pas affectée à oci_la_log_set.