Gestión de consultas

Con Oracle Log Analytics, puede enriquecer la información de eventos agregando combinaciones de campo-valor de consultas. Oracle Log Analytics utiliza consultas para hacer coincidir combinaciones de campo-valor de eventos con una tabla de consulta externa y, si coinciden, Oracle Log Analytics agrega las combinaciones de campo-valor a los eventos.

Tipos de consultas:
  • Simple: esta tabla contendría un listado simple de elementos donde las filas se corresponden con una única relación. Por ejemplo, si crea una tabla de consulta de errores, cada fila puede tener la información de un único error, como ID de error, mensaje de error, causa y acción correctiva. Consulte Creación de una consulta simple.
  • Diccionario: esta es una opción más inteligente para hacer una lista de las relaciones lógicas entre los campos y sus valores mediante operadores como CONTAINS, CONTAINS IGNORE CASE MULTILINE REGEX y EQUAL. Para obtener una lista exhaustiva de operadores, ejemplos y pasos para crear este tipo de consulta, vea Creación de una consulta de diccionario.
A continuación se muestran algunas de las tablas de consulta simples definidas por Oracle que están disponibles actualmente en Oracle Log Analytics:
  • Mensajes de error de BEA
  • Mensajes de error de CRS
  • Mensajes de error de OGC
  • Mensajes de error ORA
  • Mensajes de error de TNS

Para conocer los permisos para realizar todas las operaciones en consultas, consulte Permitir a los usuarios realizar todas las operaciones en consultas.

Nota

El tamaño de un único archivo de consulta no debe superar los 10 MB. Sin embargo, no hay ningún límite en el número de filas de la consulta.

Nota

Si desea impedir que un usuario vea el contenido de una consulta, incluso indirectamente, se le NO DEBE otorgar permiso para:

  • Cargar logs
  • Ver los logs que contienen los campos enriquecidos mediante dichas consultas restringidas

Cómo las consultas enriquecen los logs

A menudo, los logs no contendrán toda la información necesaria para consolidar el análisis. En estos casos, puede crear una tabla de consulta para recopilar la información que ya ha recopilado para poder sacar más partido de los datos de los logs. Por ejemplo, en el campo ID de error de los eventos de log no se proporciona una descripción de los errores. Puede crear una consulta que asigne ID de error a descripciones y, a continuación, utilizar las opciones de Enriquecimiento de campo para que las descripciones estén disponibles para buscar en los registros de log. Algunos escenarios de ejemplo en los que podría crear consultas:

  • Inventario de productos: ID de producto, especificaciones técnicas, precio, stock disponible, número de rack
  • Información de empleado: ID de empleado, información personal, organización, rol, escala, salario, mánager
  • Referencia de biblioteca: título, autor, resumen, edición, ediciones anteriores, precio

Cómo usar consultas

Puede utilizar principalmente las consultas simples en el momento de la ingesta mediante la función Búsqueda de origen. Consulte Uso de consultas de tiempo de ingesta en el origen.

También puede utilizar consultas simples en tiempo de consulta, como se muestra a continuación:

En la siguiente consulta lookup, el mensaje de error se selecciona de la tabla de consulta ORA Error Messages mediante la asignación del campo ID de error y se muestra en una tabla de resumen junto con otros campos como origen de log y entidad:

'Error ID' like 'ORA%' | lookup table = 'ORA Error Messages' select errmsg using 'Error ID' = errid | fields -*, 'Log Source', Entity, errmg
  • Información de los logs:
    • Error ID: ID de error como se menciona en los logs especificados con el formato ORA%
    • Log Source: origen de log de los logs
    • Entity: entidad de los logs
  • Información de ORA Error Messages de la tabla de consulta definida por Oracle:
    • errid: ID de error especificado con el formato ORA%
    • errmsg: mensaje de error para el ID de error

    Los demás detalles disponibles en los ORA Error Messages de la tabla de consulta son errcause (causa de error) y erraction (acción de error) para cada ID de error. Para ver el contenido de la tabla de consulta, utilice el comando searchlookup de la siguiente manera:

    * | searchlookup table = 'ORA Error Messages'

Visualización de los detalles de la consulta

  1. Abra el menú de navegación y haga clic en Observación y gestión. En Log Analytics, haga clic en Administración.

  2. Los recursos de administración se muestran en el panel en Administración en la izquierda. Haga clic en Consultas.

  3. En Consultas, haga clic en la consulta cuyos detalles desea ver.

    En la página Detalle de consulta se muestran los detalles que haya proporcionado al crearla, así como el contenido de la tabla de consulta. También puede realizar acciones como Mover recurso, Agregar etiquetas y Suprimir. Para obtener más información sobre estas acciones, consulte la siguiente sección.

Para realizar otras acciones en la consulta, en la página de lista Consultas, seleccione el compartimento, el tipo y el tipo de creación de la consulta y reduzca la búsqueda de la consulta en la barra de búsqueda. También puede incluir Filtros de etiquetas para filtrar consultas por etiquetas. Después de identificar la consulta, haga clic en el icono Icono Acciones Acciones en la fila de la consulta:

  • Volver a cargar archivo: en el caso de las consultas creadas por el usuario, si tiene una nueva versión de la tabla de consulta o si ha fallado una carga anterior, puede volver a cargarla.

  • Suprimir: puede que tenga que suprimir algunas de las consultas antiguas o no utilizadas. Para suprimir la consulta, confirme en el cuadro de diálogo Suprimir consulta. Puede suprimir una consulta solo si está creada por el usuario.

  • Copiar OCID: se copia el OCID del recursos de consulta. Puede utilizarlo para hacer referencia a este recurso en cualquier lugar de Oracle Cloud Infrastructure.
  • Mover recursos: se muestra la pantalla de diálogo Mover recursos a un compartimento diferente. En las opciones, seleccione el compartimento al que desea mover la consulta y haga clic en Mover recurso.
  • Agregar etiquetas: consulte Agregar etiquetas a los recursos de Log Analytics.

Actualización de una consulta existente

  1. Actualice el archivo CSV con las combinaciones de campo y valor.

  2. Abra el menú de navegación y haga clic en Observación y gestión. En Log Analytics, haga clic en Administración.

  3. Los recursos de administración se muestran en el panel en Administración en la izquierda. Haga clic en Consultas.

  4. En Consultas, haga clic en el icono Acciones Menú Acciones de la fila que corresponda a la consulta que desea actualizar, haga clic en Volver a cargar archivo.

    Se abre el cuadro de diálogo Volver a cargar archivo.

  5. Seleccione el archivo CSV de consulta actualizado que haya creado anteriormente y haga clic en Cargar.

Creación de una consulta simple

Después de crear la consulta simple, ejecute una consulta con el comando searchlookup para mostrar los valores en la consulta y utilice el comando lookup en una consulta para asignar los campos de salida a esos valores.

  1. Cree un archivo CSV de consulta con las combinaciones de campo y valor. Por ejemplo, para crear una consulta que asigne el ID de error a las descripciones:

    errid,description
    02323,Network Not Reachable
    09912,User Activity
    12322,Out of Memory

    Tenga en cuenta que la primera fila es la cabecera con títulos errid y description para los valores de las filas siguientes.

  2. Abra el menú de navegación y haga clic en Observación y gestión. En Log Analytics, haga clic en Administración.

  3. Los recursos de administración se muestran en el panel en Administración en la izquierda. Haga clic en Consultas.

    Se muestra la página de lista de consultas. En el panel de navegación de la izquierda, seleccione el compartimento en el que se debe crear la consulta.

  4. En Consultas, haga clic en Crear consulta.

  5. En la página Crear consulta, introduzca el nombre de la consulta, como server error code lookups y una descripción opcional.

  6. En Tipo, seleccione Simple.

  7. Seleccione el archivo CSV de consulta que haya creado anteriormente.

  8. Opcionalmente, amplíe la sección Mostrar opciones avanzadas y agregue etiquetas a la consulta. Haga clic en Crear.

Creación de una consulta de diccionario

Después de crear la consulta de tipo Diccionario, utilice el comando searchlookup para mostrar las consultas. Utilice el comando lookup para asignar a los campos cualquier consulta solo cuando haya utilizado los comandos link o cluster en la consulta.

Más temas:

Tenga en cuenta que solo puede utilizar consultas de tipo diccionario en tiempo de consulta y no en tiempo de ingestión en la función de origen.

Para ver ejemplos del uso de la consulta de diccionario en Cluster y Link, consulte Uso de la consulta de diccionario en cluster y Uso de la consulta de diccionario en enlace.

Para ver un ejemplo del uso de la consulta de diccionario para proporcionar la ubicación geográfica, consulte Especificación de la ubicación geográfica mediante una consulta.

  1. Cree un archivo CSV de consulta con las combinaciones de campo y valor.

    Por ejemplo:

    Operator,Condition,Issue,Area
    CONTAINS,message header or abbreviation processing failed,Processing Error,Messaging
    CONTAINS,Failed to associate the transaction context with the response while marshalling,Marshalling Error,Response
    CONTAINS,A RuntimeException was generated by the RMI server,Exception,RMI

    Tenga en cuenta que la primera fila es la cabecera donde Operator y Condition son los campos obligatorios especificados en el mismo orden. Los parámetros posteriores se muestran en la fila de cabecera después de los parámetros obligatorios. Las filas siguientes son los valores de los parámetros mostrados en la fila de cabecera en el mismo orden.

    Consulte la siguiente tabla para obtener la lista de operadores válidos y ejemplos de uso.

    Nota:

    • Si un campo contiene una coma, incluya todo el campo entre comillas dobles.

    • Si un campo contiene comillas dobles, escape las comillas dobles mediante dos comillas dobles.

  2. Abra el menú de navegación y haga clic en Observación y gestión. En Log Analytics, haga clic en Administración.

  3. Los recursos de administración se muestran en el panel en Administración en la izquierda. Haga clic en Consultas.

    Se muestra la página de lista de consultas. En la barra de búsqueda, seleccione el compartimento en el que se debe crear la consulta.

  4. En Consultas, haga clic en el enlace Crear consulta.

  5. En la página Crear consulta, introduzca el nombre de la consulta, como cluster dictionary lookups y una descripción opcional.

  6. En Tipo, seleccione Diccionario.

  7. Seleccione el archivo CSV de consulta que haya creado anteriormente.

  8. Opcionalmente, amplíe la sección Mostrar opciones avanzadas y agregue etiquetas a la consulta. Haga clic en Crear.

Operador CIDRMATCH

El operador CIDRMATCH soporta la regla de operación de coincidencia CIDR (enrutamiento entre dominios sin clase) dentro de una consulta de diccionario. Por ejemplo, el siguiente diccionario devuelve Network Name como Database Network si la dirección IP de entrada está en el rango entre 192.0.2.0 y 192.0.2.255:

Operator,Condition,Network Name
CIDRMATCH,192.0.2.10/24,Database Network

Lista de operadores válidos y ejemplos para utilizarlos

Operador Descripción Ejemplo

CONTAINS

True si el valor contiene la cadena especificada en el campo Condición. Sensible a mayúsculas/minúsculas

CONTAINS,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE

Igual que antes, excepto porque se ignoran las mayúsculas/minúsculas

CONTAINS IGNORE CASE,request 'getresponse' timed out,Timeout Error

CONTAINS REGEX

True si el valor coincide con la expresión regular especificada

CONTAINS REGEX,Request '\S+' Timed out,Timeout Error

CONTAINS IGNORE CASE REGEX

Igual que antes, pero ignora las mayúsculas/minúsculas

CONTAINS IGNORE CASE REGEX,request '\S+' timed out,Timeout Error

CONTAINS MULTILINE REGEX

Utilice esta opción para hacer coincidir una cadena de varias líneas

CONTAINS MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE MULTILINE REGEX

Igual que antes, excepto porque se ignoran las mayúsculas/minúsculas

CONTAINS IGNORE CASE MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS ONE OF REGEXES

Especifique más de una expresión regular. True si al menos una coincide.

Muestre las expresiones regulares entre [] y sepárelas con comas. Las expresiones regulares no pueden contener una coma.

Si necesita usar comillas dobles dentro de la expresión regular, escape cada comilla doble utilizando otra comilla doble.

CONTAINS ONE OF REGEXES,"[Request '\S+' Timed out,Server\S+Timed out]",Timeout Error

NOT CONTAINS

No contiene la cadena especificada

NOT CONTAINS,Request 'GetResponse' Timed out,Success

EQUAL

El contenido es igual al valor especificado

EQUAL,500,HTTP Server Error

EQUAL IGNORE CASE

Igual que antes, excepto porque se ignoran las mayúsculas/minúsculas

EQUAL,In-Progress,Request In Progress

NOT EQUAL

True si el contenido es distinto del valor especificado

NOT EQUAL,200,HTTP Request Failed

STARTS WITH

Se compara con el principio del contenido

STARTS WITH,Request failed with,Fail

ENDS WITH

Se compara con el final del contenido

ENDS WITH,timed out,Timeout

IN

True si al menos uno de los valores es igual

IN,"[500,501,502,503]",HTTP Server Error

IN IGNORE CASE

Igual que antes, excepto porque se ignoran las mayúsculas/minúsculas

IN IGNORE CASE,[fail,timeout,error,fatal],Request Failed

NOT IN

True si el contenido no es igual a ningún otro valor de la lista

NOT IN,"[500,501,503,400,401,404]",HTTP Request Successful

NULL

True si el contenido del campo es nulo

NULL,,No Value

NOT NULL

True si el contenido del campo no es nulo

NOT NULL,,Value Present

CIDRMATCH

Regla de operación de coincidencia CIDR (enrutamiento entre los dominios sin clase) en una consulta de diccionario

Consulte Operador CIDRMATCH.

Lista de operadores numéricos y lógicos y ejemplos

Nota

Asegúrese de que los operadores numéricos no se mezclen con los operadores de cadena en el mismo diccionario. Si los operadores se mezclan en el mismo diccionario y se transfiere un valor de cadena en la consulta, se devuelve un mensaje de error sobre el tipo mientras se compara con los operadores numéricos.
Operador Descripción Ejemplo

=

Numérico igual a

=,1,Value is 1

!=

Numérico distinto de

!=,1,Value is Not 1

>

Por encima del valor especificado

>,1,Value is above 1

<

Por debajo del valor especificado

<,1,Value is below 1

>=

Por encima o igual al valor especificado

>=,1,Value is equal or above 1

<=

Inferior o igual al valor especificado

<=,1,Value is equal or below 1

BETWEEN

Entre los dos valores especificados, ambos incluidos

BETWEEN,1-10,Value is equal or above 1 and equal or below 10

> AND <

Por encima de N1 y por debajo de N2

> AND <,1-10,Above 1 and below 10

>= AND <=

Igual que Entre. Superior o igual a N1 e inferior o igual a N2

>= AND <=,1-10,Above or equal to 1 and below or equal to 10

>= AND <

Superior o igual a N1 e inferior a N2

>= AND <,1-10,Above or equal to 1 and below 10

> AND <=

Superior a N1 e inferior o igual a N2

> AND <=,1-10,Above 1 and below or equal to 10

> OR <

Superior a N1 o inferior a N2

> OR <,1-10

Superior a 1 o inferior a 10

>= OR <=

Superior o igual a N1 o inferior o igual a N2

>= OR <=,100-10,Above or equal to 100 or below or equal to 10

>= OR <

Superior o igual a N1 o inferior a N2

>= OR <,10-1,Above or equal to 10 or below 1

> OR <=

Superior a N1 o inferior o igual a N2

> OR <=,100-10,Above 100 or below or equal to 10

>= OR !=

Superior o igual a N1 o distinto de N2

>= OR !=,10-1,Above or equal to 10 or not equal to 1

<= OR !=

Inferior o igual a N1 o distinto de N2

<= OR !=,10-100,Below or equal to 10 or not equal to 100

>= OR =

Superior o igual a N1 o igual a N2

>= OR =,10-1,Above or equal to 1 or equal to 1

<= OR =

Inferior o igual a N1 o igual a N2

<= OR =,10-100,Below or equal to 10 or equal to 100

> AND !=

Superior a N1 y distinto de N2

> AND !=,10-100,Above 10 and not equal to 100

< AND !=

Inferior a N1 y distinto de N2

< AND !=,10-1,Below 10 and not equal to 1

Uso de comentarios al definir consultas de diccionario

Utilice # como primer campo para agregar comentarios a una consulta de diccionario. A continuación, se muestra un ejemplo de una consulta de ejemplo con comentarios:

Operator,Condition,Label,Module
# ----------------------------------
# Startup/Shutdown and Terminations
# ----------------------------------
CONTAINS,Server started in RUNNING mode,Server Started,WebLogic Server
CONTAINS,A critical service failed. The server will shut itself down,Server Shutdown,WebLogic Server
CONTAINS,state changed to FAILED,Server Failed,
CONTAINS,Removing .* from cluster view due to PeerGone,Cluster Removed,WebLogic Server
# ----------------------
# Connection Error / Timeouts and Slowness
# ----------------------
CONTAINS,Unable to connect to WSM policy manager,WSM Policy Manager Connection Error,
CONTAINS REGEX,java.sql.SQLTimeoutException: \S+: user requested cancel of current operation,SQL Timeout,Database
CONTAINS,This member is running extremely slowly and may endanger the rest of the cluster,WebLogic Cluster Slowness,WebLogic Server

Uso de la consulta de diccionario en una consulta

Puede utilizar el mismo diccionario en varias consultas. Por ejemplo, la siguiente consulta aplica el mismo diccionario al campo Message y muestra los resultados acumulados mediante la visualización de gráfico circular:

'Log Source' = 'Linux Syslog Logs'
| lookup table = 'Linux Error Categories' select Issue, Area using Message
| stats count by Area

Uso de la consulta de diccionario en una consulta

Permitir a los usuarios realizar todas las operaciones en las consultas

Tipo de recurso individual: loganalytics-lookup

Parte del tipo de recurso agregado: loganalytics-features-family

Sentencia de política de recursos si no se ha definido la política de familia:

Caso de uso Políticas de IAM

La consulta puede estar en el arrendamiento

allow group <user_group> to READ loganalytics-lookup in tenancy

Restrinja el permiso para la consulta a un compartimento específico.

allow group <user_group> to READ loganalytics-lookup in compartment <compartment_name>

Tenga en cuenta que para que la sentencia de política anterior restrinja el permiso al recurso de consulta con el ámbito necesario (arrendamiento o compartimento) para que funcione, no debe haber ninguna otra sentencia de política que cubra la familia de tipos de recursos y un ámbito más amplio.

Nota

Si desea impedir que un usuario vea el contenido de una consulta, incluso indirectamente, se le NO DEBE otorgar permiso para:

  • Cargar logs
  • Ver los logs que contienen los campos enriquecidos mediante dichas consultas restringidas

Las siguientes operaciones se pueden realizar con cada verbo al crear la política de IAM para loganalytics-lookup:

Inspect Read Use Manage

N/D

N/D

Registrar una consulta

Gestionar tiene el mismo nivel de permisos y operaciones de API que Usar.

Normalmente, solo los administradores tienen permisos USE y MANAGE para crear o suprimir consultas. Si desea que los privilegios ejecuten consultas de consulta, necesita el permiso READ.

Declaración de política de familia agregada que abarca el permiso para el recurso de consulta:

Caso de uso Políticas de IAM

La consulta puede estar en el arrendamiento

allow group <user_group> to read loganalytics-features-family in tenancy
Nota

Si ha activado Oracle Log Analytics mediante la interfaz de usuario de vinculación, que está disponible al navegar al servicio por primera vez, algunas políticas ya se han creado. Consulte Políticas creadas durante la incorporación de Log Analytics.

Permisos para utilizar recursos de consulta

Normalmente, solo los administradores tienen permisos USE y MANAGE para crear o suprimir consultas. Si desea que los privilegios ejecuten consultas de consulta, necesita el permiso READ.

Si ya utiliza el explorador de logs, los SDK o la CLI para ejecutar las consultas, ya tiene los permisos necesarios para ejecutar comandos de consulta searchlookup o lookup en las consultas existentes creadas por el usuario y definidas por Oracle.

Si utiliza el principal de instancia para ejecutar las consultas, proporcione el siguiente permiso si aún no ha proporcionado acceso loganalytics-features-family al grupo dinámico:

Allow dynamic-group <dynamic-group-name> to {LOG_ANALYTICS_LOOKUP_READ} in tenancy

OR

Allow dynamic-group <dynamic-group-name> to {LOG_ANALYTICS_LOOKUP_READ} in compartment <compartment_name>