Gestisci partizionamento log

Puoi definire set di log per il partizionamento fisico dei log in base all'infrastruttura, all'architettura dell'applicazione o alla struttura organizzativa per ottimizzare le prestazioni di ricerca se prevedi di includere in modo persistente più di 6 TB di dati di log al giorno per un singolo tenant in una singola area.

Per ulteriori informazioni sul partizionamento dei log, vedere Log Partitioning.

Dopo aver abilitato il partizionamento dei log per la tenancy in un'area specifica, è necessario assicurarsi che per ogni voce di log sia definito un valore stringa per il campo del set di log. A seconda del metodo di inclusione, è possibile seguire i passi condivisi di seguito per specificare il valore del set di log.

Quando il partizionamento del log è abilitato nella tenancy, l'opzione per selezionare il set di log viene visualizzata nel filtro dell'ambito. Prima di avviare una query, è necessario selezionare almeno uno dei set di log o utilizzare il carattere jolly *. Si consiglia di utilizzare il carattere jolly solo nei casi d'uso in cui è necessario eseguire ricerche in tutti i log. Questa sarà una ricerca più costosa che richiederà più tempo per essere eseguita in quanto eseguirà la ricerca in tutti i log. Il timeout delle query può verificarsi se si dispone di troppi dati nell'intervallo di tempo scelto durante l'esecuzione di ricerche con caratteri jolly. Vedere Usa filtri di ambito.

Abilita partizionamento log

Il partizionamento dei log è disponibile in tutte le aree e i realm in cui è disponibile Oracle Log Analytics.

Se il caso d'uso richiede la funzione di partizionamento, inviare un file Service Request al Supporto Oracle che richiede questa funzione in Oracle Log Analytics.

Specifica valore set di log: Login tramite Management Agent

Potete raccogliere i log tramite Management Agent standalone o utilizzarli come parte dell'Agente Oracle Cloud.

  1. Per definire il set di log, è possibile modificare il file emd.properties per il Management Agent in diversi modi. Selezionare una delle opzioni riportate di seguito.

    • È possibile impostare un valore di set di log statico per tutti i log raccolti dall'agente. Aggiungere la proprietà seguente al file emd.properties dell'agente per specificare il set di log a livello di agente.

      loganalytics.src.addl_src_ptn_configs=logset=<Value>
    • Impostare il valore del set di log come parte del nome del file di log. È possibile specificare nella configurazione dell'agente un'espressione regolare per definire come estrarre parte del percorso del file di log come stringa del set di log. Nel file di configurazione dell'agente emd.properties, specificare le proprietà logsetkey e logSetExtRegex:

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

      logorigin è il percorso del file di log.

    • È possibile specificare di applicare diverse estrazioni di set di log per ogni origine separatamente aggiungendo l'ID di origine come proprietà alle impostazioni precedenti.

      //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. Oltre a specificare il set di log utilizzando uno dei metodi descritti sopra, includere la proprietà seguente nel file di configurazione emd.properties:

    loganalytics.src.override_config=true
  3. Riavviare l'agente dopo aver modificato il file di configurazione.

Specifica valore set di log: login tramite hub connettore servizio

Al momento, questa funzione è supportata solo per i log personalizzati raccolti dal servizio di log OCI in Oracle Log Analytics mediante l'hub connettore servizio.

Per impostare il valore del set di log, il log personalizzato deve aggiungere un nuovo campo al blocco data{} dei dati del formato di log unificato di log OCI. Ad esempio:

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

Specifica valore set di log: login tramite raccolta storage degli oggetti

Quando si crea una regola di raccolta dello storage degli oggetti, sono applicabili le stesse opzioni utilizzate per popolare il set di log nella raccolta Management Agent.

  • È possibile impostare un valore di set di log statico per tutti i log raccolti da questa regola di raccolta dello storage degli oggetti. Aggiungere la proprietà seguente al file JSON della regola di raccolta dello storage degli oggetti:

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "<Value>",
        ...
    }
  • È possibile specificare un'espressione regolare per analizzare il set di log dal percorso dell'oggetto. Ad esempio:

    {
        "name": "<Object Collection Rule Name>",
        "logSetExtRegex": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)",
        ...
    }
  • Se si utilizzano gli override nella regola di raccolta oggetti, è anche possibile impostare l'estrazione del set di log per l'override. Nell'esempio seguente, tutti i log raccolti dal bucket otterranno il set di log Value1 ad eccezione degli oggetti che corrispondono all'override contenente db. Questi log otterranno una stringa del set di log acquisita dall'espressione regolare nel percorso dell'oggetto.

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

Specifica valore set di log: Registra inclusione tramite API REST

Quando si pubblicano i file di dati di log nell'endpoint API REST Eventi di log /actions/uploadLogEventsFile, è possibile specificare il set di log nei parametri di chiamata dell'API REST POST. Tutti i dati di log caricati in questa singola chiamata API verranno memorizzati con lo stesso set di log.

Ad esempio:

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

Specifica valore set di log: Registra inclusione tramite Fluentd

Quando si utilizza il collettore fluentd, il set di log può essere estratto da qualsiasi altro campo (keyname). Specificare un'espressione regolare che definisca come acquisire il valore del set di log previsto dal campo a cui fa riferimento key_name nel campo 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>

Se il valore di oci_la_log_path è /n/axs4r325r2ct/b/logevents/o/fileType/logSetABC.log, il valore del set di log estratto in base all'espressione regolare precedente sarà logSetABC.

Nota

Nell'espressione denominata gruppo di acquisizione, (?<oci_la_log_set>) è obbligatorio. In caso contrario, la stringa corrispondente all'espressione regolare non verrà assegnata a oci_la_log_set.