Gestión de partición de logs

Puede definir juegos de logs para particionar físicamente los logs en función de su infraestructura, arquitectura de aplicación o estructura organizativa a fin de optimizar el rendimiento de la búsqueda si espera ingerir de forma persistente más de 6 TB de datos de log por día para un inquilino único en una sola región.

Para obtener más información sobre la partición de logs, consulte Partición de Log.

Después de activar la partición de logs para su arrendamiento en una región específica, debe asegurarse de que cada entrada de log tiene un valor de cadena definido para el campo de juego de logs. En función del método de ingestión, puede seguir los pasos que se comparten a continuación para especificar el valor del juego de logs.

Cuando la partición de log está activada en su arrendamiento, la opción para seleccionar el juego de logs aparece en el filtro de ámbito. Antes de iniciar una consulta, debe seleccionar al menos uno de los juegos de logs o utilizar el comodín *. Se recomienda que utilice el comodín solo en los casos de uso en los que necesite buscar en todos los logs. Esta será una búsqueda más cara que tardará más tiempo en ejecutarse, ya que buscará en todos sus logs. Las consultas pueden sufrir un timeout si tiene demasiados datos en el rango de tiempo seleccionado al realizar búsquedas con comodines. Consulte Uso de filtros de ámbito.

Activar Partición de Log

La partición de logs está disponible en todas las regiones y dominios en los que Oracle Log Analytics está disponible.

Si el caso de uso requiere la función de partición, envíe un archivo Service Request con los Servicios de Soporte Oracle que soliciten esta función en Oracle Log Analytics.

Especificar valor de juego de logs: ingesta de logs a través de Management Agent

Puede recopilar logs a través de Management Agent independiente o utilizarlos como parte de Oracle Cloud Agent.

  1. Existen varias formas de definir el juego de logs mediante la edición del archivo emd.properties para Management Agent. Seleccione una de las siguientes opciones:

    • Puede definir un valor de juego de logs estático para todos los logs recopilados por el agente. Agregue la siguiente propiedad al archivo emd.properties del agente para especificar el juego de logs de todo el agente:

      loganalytics.src.addl_src_ptn_configs=logset=<Value>
    • Defina el valor del juego de logs como parte del nombre del archivo log. Puede especificar en la configuración del agente una expresión regular para definir cómo extraer parte de la ruta del archivo log como la cadena del juego de logs. En el archivo de configuración emd.properties del agente, especifique las propiedades logsetkey y logSetExtRegex:

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

      logorigin es la ruta de acceso del archivo log.

    • Puede especificar que se apliquen diferentes extracciones de juegos de logs para cada origen por separado agregando el ID de origen como una propiedad a la configuración anterior.

      //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. Además de especificar el juego de logs mediante cualquiera de los métodos anteriores, incluya la siguiente propiedad en el archivo de configuración emd.properties:

    loganalytics.src.override_config=true
  3. Reinicie el agente después de editar el archivo de configuración.

Especificar valor de juego de logs: ingesta de logs mediante Service Connector Hub

Actualmente, esta función solo está soportada para los logs personalizados recopilados del servicio OCI Logging en Oracle Log Analytics mediante Service Connector Hub.

Para definir el valor del juego de logs, el log personalizado debe agregar un nuevo campo al bloque data{} de los datos de Formato de registro unificado de registro de OCI. Por ejemplo,

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

Especificar valor de juego de logs: ingesta de logs a través de la recopilación de Object Storage

Al crear una regla de recopilación de Object Storage, se aplican las mismas opciones que se utilizan para rellenar el juego de logs en la recopilación de Management Agent.

  • Puede definir un valor de juego de logs estático para todos los logs recopilados por esta regla de recopilación de almacenamiento de objetos. Agregue la siguiente propiedad al JSON de la regla de recopilación de almacenamiento de objetos:

    {
        "name": "<Object Collection Rule Name>",
        "logSet": "<Value>",
        ...
    }
  • Puede especificar una expresión regular para analizar el juego de logs desde la ruta del objeto. Por ejemplo:

    {
        "name": "<Object Collection Rule Name>",
        "logSetExtRegex": "\\\/o\\\/[^\\\/]*\\\/([^\\\/]*)",
        ...
    }
  • Si utiliza sustituciones en la regla de recopilación de objetos, también puede definir la extracción del juego de logs para la sustitución. En el siguiente ejemplo, todos los logs recopilados del cubo obtendrán el juego de logs Value1, excepto aquellos objetos que coincidan con la sustitución que contiene db. Esos logs obtendrán una cadena de juego de logs capturada de la expresión regular en la ruta de acceso del objeto.

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

Especificar valor de juego de logs: ingesta de logs a través de la API de REST

Al publicar los archivos de datos de log en el punto final de la API de REST de eventos de log /actions/uploadLogEventsFile, puede especificar el juego de logs en los parámetros de llamada de la API de REST POST. Todos los datos de log cargados en esta única llamada de API se almacenarán con el mismo juego de logs.

Por ejemplo:

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

Especificar valor de juego de logs: ingesta de logs mediante Fluentd

Cuando se utiliza el colector fluentd, el conjunto de registros se puede extraer de cualquier otro campo (keyname). Especifique una expresión regular que defina cómo capturar el valor del juego de logs esperado del campo al que hace referencia key_name en el 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>

Cuando el valor de oci_la_log_path es /n/axs4r325r2ct/b/logevents/o/fileType/logSetABC.log, el valor del juego de logs extraído basado en la expresión regular anterior será logSetABC.

Nota

En la expresión denominada grupo de captura, se necesita (?<oci_la_log_set>). Sin esto, la cadena coincidente con la expresión regular no se asignará a oci_la_log_set.