Logpartitionierung verwalten

Sie können Logsets für die physische Partitionierung der Logs basierend auf Ihrer Infrastruktur, Anwendungsarchitektur oder Organisationsstruktur definieren, um die Suchperformance zu optimieren, wenn Sie erwarten, dass Sie dauerhaft mehr als 6 TB Logdaten pro Tag für einen einzelnen Mandanten in einer einzelnen Region aufnehmen.

Weitere Informationen zur Logpartitionierung finden Sie unter Logpartitioning.

Nachdem Sie die Logpartitionierung für Ihren Mandanten in einer bestimmten Region aktiviert haben, müssen Sie sicherstellen, dass für jeden Logeintrag ein Zeichenfolgenwert für das Logsetfeld definiert ist. Je nach Aufnahmemethode können Sie die folgenden Schritte ausführen, um den Logsetwert anzugeben.

Wenn die Logpartitionierung in Ihrem Mandanten aktiviert ist, wird die Option zur Auswahl des Logsets im Geltungsbereichsfilter angezeigt. Bevor Sie eine Abfrage initiieren, müssen Sie mindestens eines Ihrer Logsets auswählen oder den Platzhalter * verwenden. Es wird empfohlen, den Platzhalter nur in Anwendungsfällen zu verwenden, in denen Sie alle Logs durchsuchen müssen. Dies ist eine teurere Suche, die länger dauert, da sie in allen Logs durchsucht wird. Bei Abfragen kann eine Zeitüberschreitung auftreten, wenn Sie zu viele Daten über den ausgewählten Zeitraum haben, wenn Sie Platzhalter suchen. Weitere Informationen finden Sie unter Geltungsbereichsfilter verwenden.

Logpartitionierung aktivieren

Die Logpartitionierung ist in allen Regionen und Realms verfügbar, in denen Oracle Logging Analytics verfügbar ist.

Wenn für Ihren Anwendungsfall das Partitionierungsfeature erforderlich ist, erstellen Sie eine Service Request mit Oracle Support, um dieses Feature in Oracle Logging Analytics anzufordern.

Logsetwert angeben: Logaufnahme über Management Agent

Sie können Logs entweder über einen Standalone-Management-Agent oder als Teil des Oracle Cloud-Agent erfassen.

  1. Sie können das Logset auf mehrere Arten definieren, indem Sie die Datei emd.properties für den Management Agent bearbeiten. Wählen Sie eine der folgenden Optionen:

    • Sie können einen statischen Logsetwert für alle vom Agent erfassten Logs festlegen. Fügen Sie der Agent-Datei emd.properties die folgende Eigenschaft hinzu, um das gesamte Agent-Logset anzugeben:

      loganalytics.src.addl_src_ptn_configs=logset=<Value>
    • Legen Sie den Logsetwert als Teil des Logdateinamens fest. Sie können in der Agent-Konfiguration einen regulären Ausdruck angeben, um zu definieren, wie ein Teil des Protokolldateipfads als Logsetzeichenfolge extrahiert wird. Geben Sie in der Agent-Konfigurationsdatei emd.properties die Eigenschaften logsetkey und logSetExtRegex an:

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

      logorigin ist der Logdateipfad.

    • Sie können angeben, dass unterschiedliche Logsetextraktionen für jede Quelle separat angewendet werden sollen, indem Sie die Quell-ID als Eigenschaft zu den oben genannten Einstellungen hinzufügen.

      //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. Fügen Sie neben der Angabe des Logsets mit einer der oben genannten Methoden die folgende Eigenschaft in die Konfigurationsdatei emd.properties ein:

    loganalytics.src.override_config=true
  3. Starten Sie den Agent nach dem Bearbeiten der Konfigurationsdatei neu.

Logsetwert angeben: Erfassung über Service Connector Hub anmelden

Derzeit wird dieses Feature nur für benutzerdefinierte Logs unterstützt, die vom OCI Logging-Service mit Service Connector Hub in Oracle Logging Analytics erfasst werden.

Um den Logsetwert festzulegen, muss das benutzerdefinierte Log dem data{}-Block der OCI Logging Unified Logging Format-Daten ein neues Feld hinzufügen. Beispiel:

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

Logsetwert angeben: Erfassung über Object Storage-Collection anmelden

Beim Erstellen einer Object Storage-Erfassungsregel gelten dieselben Optionen, die zum Auffüllen des Logsets in der Management Agent-Erfassung verwendet werden.

  • Sie können einen statischen Logsetwert für alle Logs festlegen, die von dieser Objektspeichererfassungsregel erfasst werden. Fügen Sie die folgende Eigenschaft zur JSON-Objektspeicher-Collection-Regel hinzu:

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "<Value>",
        ...
    }
  • Sie können einen regulären Ausdruck angeben, um das Logset aus dem Objektpfad zu parsen. Beispiel:

    {
        "name": "<Object Collection Rule Name>",
        "logSetExtRegex": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)",
        ...
    }
  • Wenn Sie Überschreibungen in der Objekterfassungsregel verwenden, können Sie auch die Logsetextraktion für die Überschreibung festlegen. Im folgenden Beispiel erhalten alle aus dem Bucket erfassten Logs das Logset Value1 mit Ausnahme der Objekte, die mit dem Override übereinstimmen, der db enthält. Diese Logs erhalten eine Logsetzeichenfolge, die aus dem regulären Ausdruck im Objektpfad erfasst wird.

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

Logsetwert angeben: Logaufnahme über REST-API

Wenn Sie die Logdatendateien an den REST-API-Endpunkt /actions/uploadLogEventsFile für Logereignisse posten, können Sie das Logset in den POST-REST-API-Aufrufparametern angeben. Alle in diesem API-Aufruf hochgeladenen Logdaten werden mit demselben Logset gespeichert.

Beispiel:

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

Logsetwert angeben: Erfassung über Fluentd erfassen

Bei Verwendung des Fluentd-Collectors kann das Log-Set aus jedem anderen Feld (Keyname) extrahiert werden. Geben Sie einen regulären Ausdruck an, der definiert, wie der erwartete Logsetwert aus dem Feld erfasst wird, das von key_name im Feld oci_la_log_set referenziert wird.

<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>

Wenn der Wert von oci_la_log_path /n/axs4r325r2ct/b/logevents/o/fileType/logSetABC.log lautet, lautet der extrahierte Logsetwert basierend auf dem oben genannten regulären Ausdruck logSetABC.

Hinweis

In dem Ausdruck namens Capture-Gruppe ist (?<oci_la_log_set>) erforderlich. Andernfalls wird die mit dem regulären Ausdruck übereinstimmende Zeichenfolge nicht oci_la_log_set zugewiesen.