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 vos 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 seule région.

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

Après avoir activé le partitionnement de journaux pour votre location dans une région spécifique, vous devez vous assurer qu'une valeur de chaîne est définie pour chaque entrée de journal 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 de 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'agit d'une recherche plus coûteuse qui prendra plus de temps à s'exécuter car elle effectuera des recherches dans tous vos journaux. Les interrogations peuvent expirer si vous avez trop de données sur l'intervalle de temps sélectionné lors de l'exécution de recherches avec caractères génériques. Voir Utiliser les filtres de portée.

Activer le partitionnement de journaux

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

Si votre cas d'utilisation nécessite la fonction de partitionnement, soumettez un fichier Service Request avec Oracle Support demandant cette fonction dans Oracle Log 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 les utiliser dans le cadre d'Oracle Cloud Agent.

  1. Il existe plusieurs façons de définir le jeu de journaux 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 dans le 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 Log 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 OCI Logging Unified Logging Format. Par exemple :

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

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

Lors de la création d'une règle de collection du service de stockage d'objets, les mêmes options utilisées pour alimenter le jeu de journaux de la collection de l'agent 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 règle de collection 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 de 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 obtiendront le jeu de journaux Value1, à l'exception des objets correspondant au remplacement contenant db. Ces journaux obtiendront une chaîne de jeu de journaux capturée à partir de l'expression rationnelle sur le chemin de 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 du report des fichiers de données de journal dans le point d'extrémité de l'API REST des événements de journal /actions/uploadLogEventsFile, vous pouvez spécifier le jeu de journaux dans les paramètres d'appel de l'API REST POST. Toutes les données de journal chargées dans cet appel d'API unique 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

Lors de l'utilisation du collecteur fluentd, le jeu de journaux peut être extrait de n'importe quel autre champ (keyname). Spécifiez une expression rationnelle qui définit comment saisir la valeur attendue du jeu de journaux à 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 capture group, (?<oci_la_log_set>) est requis. Sans cela, la chaîne mise en correspondance d'expression rationnelle ne sera pas affectée à oci_la_log_set.