Gestion du partitionnement de journal

Vous pouvez définir des ensembles 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 seule région.

Pour plus d'informations sur le partitionnement des journaux, reportez-vous à la section Log Partitioning.

Après avoir activé le partitionnement de journal 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 d'ensemble de journaux. En fonction de votre méthode d'ingestion, vous pouvez suivre les étapes partagées ci-dessous pour indiquer la valeur de l'ensemble de journaux.

Lorsque le partitionnement de journal est activé dans votre location, l'option permettant de sélectionner l'ensemble de journaux apparaît dans le filtre de portée. Avant de lancer une requête, vous devez sélectionner au moins l'un de vos ensembles 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'emploi où vous devez effectuer des recherches dans tous les journaux. Il s'agira d'une recherche plus coûteuse qui prendra plus de temps à s'exécuter car elle effectuera des recherches dans tous vos journaux. Les requêtes peuvent expirer si vous avez trop de données sur la période choisie lors des recherches avec caractères génériques. Reportez-vous à Utilisation de filtres de portée.

Activer le partitionnement de journal

Le partitionnement de journal est disponible dans toutes les régions et tous les domaines dans lesquels Oracle Logging Analytics est disponible.

Si votre cas d'emploi nécessite la fonctionnalité de partitionnement, enregistrez un fichier Service Request avec le support technique Oracle qui demande cette fonctionnalité dans Oracle Logging Analytics.

Indiquer la valeur de l'ensemble de journaux : ingestion de journaux via l'agent de gestion

Vous pouvez collecter des journaux via l'agent de gestion autonome ou l'utiliser dans le cadre de l'agent Oracle Cloud.

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

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

      loganalytics.src.addl_src_ptn_configs=logset=<Value>
    • Définissez la valeur de l'ensemble de journaux dans le nom du fichier journal. Vous pouvez spécifier dans la configuration de l'agent une expression régulière pour définir comment extraire une partie du chemin du fichier journal en tant que chaîne d'ensemble de journaux. Dans le fichier de configuration de l'agent emd.properties, indiquez 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 du fichier journal.

    • Vous pouvez indiquer d'appliquer différentes extractions d'ensembles 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 l'ensemble 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.

Indiquer la valeur de l'ensemble de journaux : Ingestion de journal via Service Connector Hub

Actuellement, cette fonctionnalité est prise en charge uniquement pour les journaux personnalisés collectés à partir du service OCI Logging dans Oracle Logging Analytics à l'aide de Service Connector Hub.

Pour définir la valeur de l'ensemble de journaux, le journal personnalisé doit ajouter un nouveau champ au bloc data{} des données Format de journalisation unifié OCI Logging. Exemple :

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

Indiquer la valeur de l'ensemble de journaux : ingestion de journal via la collection Object Storage

Lors de la création d'une règle de collecte Object Storage, les mêmes options que celles utilisées pour renseigner l'ensemble de journaux dans la collecte d'agent de gestion sont applicables.

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

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "<Value>",
        ...
    }
  • Vous pouvez indiquer une expression régulière pour analyser l'ensemble de journaux à partir du chemin d'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 de l'ensemble de journaux pour le remplacement. Dans l'exemple suivant, tous les journaux collectés à partir du bucket obtiendront l'ensemble de journaux Value1, à l'exception des objets qui correspondent au remplacement contenant db. Ces journaux obtiendront une chaîne d'ensemble de journaux capturée à partir de l'expression régulière sur le chemin de l'objet.

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

Indiquer la valeur de l'ensemble de journaux : Ingestion de journal via l'API REST

Lors de la publication des fichiers de données de journal vers l'adresse d'API REST des événements de journal /actions/uploadLogEventsFile, vous pouvez indiquer l'ensemble de journaux dans les paramètres d'appel d'API REST POST. Toutes les données de journal téléchargées dans cet appel d'API unique seront stockées avec le même ensemble de journaux.

Par exemple :

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

Indiquer la valeur de l'ensemble de journaux : Ingestion de journaux via Fluentd

Lorsque vous utilisez le collecteur fluentd, l'ensemble de journaux peut être extrait de n'importe quel autre champ (nom). Indiquez une expression régulière qui définit comment capturer la valeur d'ensemble 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 de l'ensemble de journaux extrait basé sur l'expression régulière ci-dessus est logSetABC.

Remarque

Dans l'expression nommée groupe de capture, (?<oci_la_log_set>) est requis. Sans cela, la chaîne correspondant à l'expression régulière ne sera pas affectée à oci_la_log_set.