Gestione del partizionamento dei 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 Partizionamento dei log.
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.
argomenti:
-
Specifica valore set di log: inclusione di log tramite Management Agent
-
Specifica valore set di log: inclusione di log tramite hub connettore servizio
-
Specifica valore set di log: inclusione di log tramite la raccolta di storage degli oggetti
-
Specifica valore set di log: inclusione di log tramite API REST
Quando il partizionamento dei 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 impiegherà più tempo per essere eseguita poiché eseguirà la ricerca in tutti i log. Le query potrebbero scadere se si dispone di troppi dati nell'intervallo di tempo scelto durante l'esecuzione delle ricerche con caratteri jolly. Fare riferimento alla sezione Utilizzo dei filtri di ambito.
Abilitazione del partizionamento del log
Il partizionamento dei log è disponibile in tutte le aree e i realm in cui è disponibile Oracle Logging Analytics.
Se il caso d'uso in uso richiede la funzione di partizionamento, inviare un file Service Request
con il Supporto Oracle che richiede questa funzione in Oracle Logging Analytics.
Specifica valore set di log: inclusione di log tramite Management Agent
È possibile raccogliere i log tramite Management Agent standalone o utilizzarli come parte dell'agente Oracle Cloud.
-
Esistono diversi modi per definire il set di log modificando il file emd.properties per il Management Agent. 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. Nella configurazione dell'agente è possibile specificare un'espressione regolare per definire come estrarre parte del percorso del file di log la stringa del set di log. Nel file di configurazione emd.properties dell'agente, specificare le proprietà
logsetkey
elogSetExtRegex
: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 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>
-
-
Oltre a specificare il set di log utilizzando uno dei metodi descritti in precedenza, includere la proprietà seguente nel file di configurazione emd.properties:
loganalytics.src.override_config=true
-
Riavviare l'agente dopo aver modificato il file di configurazione.
Specifica valore set di log: inclusione di log tramite hub connettore servizio
Al momento, questa funzione è supportata solo per i log personalizzati raccolti dal servizio di log OCI in Oracle Logging Analytics utilizzando 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 registrazione OCI. Ad esempio:
{
"data": {
"logSet": "<Value>",
...
},
"oracle": {
...
},
...
}
Specifica valore set di log: inclusione di log tramite la raccolta di 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 di 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 alla notazione 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 override nella regola di raccolta oggetti, è inoltre possibile impostare l'estrazione del set di log per l'override. Nell'esempio seguente, tutti i log raccolti dal bucket riceveranno il set di log
Value1
ad eccezione degli oggetti che corrispondono all'override contenentedb
. Tali log riceveranno 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: inclusione di log tramite API REST
Durante la contabilizzazione dei file di dati di log nell'endpoint API REST Eventi di log /actions/uploadLogEventsFile, è possibile specificare il set di log nei parametri di chiamata 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: inclusione log tramite Fluentd
Quando si utilizza il raccoglitore fluentd, il set di log può essere estratto da qualsiasi altro campo (chiamata). 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
.
Nell'espressione denominata gruppo di acquisizione, è necessario specificare (?<oci_la_log_set>)
. Senza questo, la stringa corrispondente all'espressione regolare non verrà assegnata a oci_la_log_set
.