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'assimiler 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 journal, reportez-vous à Partitionnement de journal.

Une fois le partitionnement de journal activé 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'inclusion, 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 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'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 car elle effectuera une recherche 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 où Oracle Log Analytics est disponible.

Si votre cas d'emploi nécessite la fonctionnalité de partitionnement, enregistrez un fichier Service Request auprès du support technique Oracle pour demander cette fonctionnalité dans Oracle Log Analytics.

Indiquer la valeur de l'ensemble de journaux : Ingestion de journaux via l'agent OMA

Vous pouvez collecter des journaux via un agent OMA 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 OMA. 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 emd.properties de l'agent 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 votre jeu 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, 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 indiquer d'appliquer des extractions d'ensemble de journaux différentes 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. Outre la spécification de 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 journaux via Service Connector Hub

Actuellement, cette fonctionnalité n'est prise en charge que pour les journaux personnalisés collectés à partir du service OCI Logging vers Oracle Log 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 du format de journalisation unifié OCI Logging. Par exemple,

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

Indiquer la valeur de l'ensemble de journaux : Ingestion de journaux via la collecte Object Storage

Lors de la création d'une règle de collecte Object Storage, les mêmes options que celles utilisées pour le remplissage de l'ensemble de journaux dans la collection Management Agent 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 la règle de collecte de stockage d'objet :

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "<Value>",
        ...
    }
  • Vous pouvez indiquer une expression régulière pour analyser l'ensemble 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 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 obtiennent 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 une valeur d'ensemble de journaux : Ingestion de journaux 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>

Spécifier une valeur d'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 (keyname). 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 en fonction de 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.