Visualización de clusters
Los clusters utilizan el Machine Learning para identificar el patrón de los registros de log y, a continuación, para agrupar los logs que tengan un patrón similar.
La vista Cluster muestra un banner de resumen en la parte superior con los siguientes separadores:
-
Total de clusters: número total de clusters para los registros de log seleccionados.
Nota
Si coloca el cursor sobre este panel, también puede ver el número de registros de log (por ejemplo, 260 clusters de 1.413.036 registros de log).
-
Posibles incidencias: número de clusters que pueden tener incidencias basados en registros de log que contengan palabras como error, fatal, excepción, etc.
-
Valores atípicos: número de clusters que han tenido lugar solo una vez durante un período de tiempo determinado.
-
Tendencias: número de tendencias únicas durante el período. Muchos clusters pueden tener la misma tendencia. Por lo tanto, al hacer clic en este panel, se muestra un cluster de cada una de las tendencias.
Al hacer clic en cualquiera de los separadores, la vista de histograma del cluster cambia para mostrar los registros del separador seleccionado.
Cada patrón de cluster muestra lo siguiente:
-
Tendencia: en esta columna se muestra una representación en minigráfico de la tendencia (denominada forma de tendencia) de la generación de mensajes de log (de un cluster) en función del rango de tiempo seleccionado al agrupar los registros en cluster. Cada forma de tendencia se identifica mediante un ID de unidad, como 1, 2, 3, etc. Esto le ayuda a ordenar los registros agrupados en función de las formas de tendencia.
Al hacer clic en la flecha situada a la izquierda de una entrada de tendencia, se muestra la visualización de serie de tiempo de los resultados del cluster. En esta visualización se muestra cómo se han distribuido los registros de log de un cluster en función del rango de tiempo seleccionado en la consulta. La forma de la tendencia es una representación de minigráfico de la serie de tiempo.
-
ID: en esta columna se muestra el ID de cluster. El ID es único en la recopilación.
-
Recuento: en esta columna se muestra el número de registros de log que tengan la misma firma de mensaje.
-
Mensaje de ejemplo: en esta columna se muestra un registro de log de ejemplo de la firma del mensaje.
-
Origen de log: en esta columna se muestran los orígenes de log que han generado los mensajes del cluster.
Puede hacer clic en Mostrar tendencias similares para ordenar los clusters en orden ascendente de formas de tendencia. También puede seleccionar un ID de cluster o varios ID de cluster y hacer clic en Mostrar registros para mostrar todos los registros de los ID seleccionados.
También puede ocultar un mensaje de cluster o varios clusters de los resultados del cluster si la salida parece saturada. Haga clic con el botón derecho en el cluster necesario y seleccione Ocultar cluster.
En cada registro, se resaltan los valores de las variables. Puede ver todas las variables similares de cada cluster haciendo clic en una variable en la sección Mensaje de ejemplo. Al hacer clic en las variables, se muestran todos los valores (en todo el juego de registros) de esa variable en particular.
En la sección Mensaje de ejemplo, algunos patrones de cluster muestran un enlace <n> más ejemplos.... Al hacer clic en este enlace, se muestran más clusters que se parezcan al patrón de cluster seleccionado.
Al hacer clic en Volver a las tendencias, volverá a la página anterior con contexto (se desplaza a la ubicación en la que haya seleccionado la variable para aumentar el detalle). El botón de retroceso del explorador también le lleva a la página anterior; sin embargo, el contexto no se mantendrá, porque el comando cluster se vuelve a ejecutar en ese caso.
Agrupación en clusters de los datos del log mediante campos SQL
El gran volumen de registros de log se reduce a 89 clusters, lo que le ofrece menos grupos de datos de log que analizar.
Puede aumentar el detalle de los clusters seleccionando las variables. Por ejemplo, en el juego de clusters anterior, seleccione el cluster que tenga el mensaje de ejemplo SELECT version FROM V$INSTANCE
:
De esta forma se muestra la visualización de histograma de los registros de log que contengan el mensaje de ejemplo especificado. Ahora puede analizar el contenido del log original. Haga clic en Volver al cluster para volver a la visualización del cluster.
En el panel Tendencias se muestran los SQL que tengan un patrón de ejecución similar.
En el panel Valores atípicos se muestran los SQL que sean raros y diferentes.
Uso de la utilidad Comparación de cluster
La utilidad de comparación de cluster se puede utilizar para identificar nuevas incidencias mediante la comparación del juego actual de clusters con una base y la reducción de los resultados mediante la eliminación de clusters comunes o duplicados. Algunos de los escenarios habituales son:
- ¿Qué clusters son diferentes esta semana en comparación con la semana pasada?
- ¿Cuál es la diferencia entre el juego de clusters de la entidad A y el juego de la entidad B?
Consulte Comparación de clusters por hora actual.
- Las cosas funcionaban bien en el mes de X. ¿Qué ha cambiado este mes?
Con dos juegos de datos de log, la utilidad de comparación de cluster elimina los datos que pertenecen a los clusters comunes y muestra los datos de histograma y la tabla de registros que sean únicos para cada juego. Por ejemplo, al comparar los datos de log de la semana x y la semana y, los clusters que sean comunes a ambas semanas se eliminan para simplificación y se muestran los datos únicos para cada semana. Esto permite identificar patrones que sean únicos para la semana específica y analizar el comportamiento.
Para obtener la sintaxis y otros detalles del comando clustercompare
, consulte clustercompare.
- En la visualización de clusters
, seleccione el rango de tiempo actual. Por defecto, la consulta es
*
. Puede acotar la consulta para filtrar los datos de log. - En el panel Visualizar, haga clic en Comparación de cluster.
Se abre el cuadro de diálogo de comparación de cluster.
- Puede observar que la consulta actual y el rango de tiempo actual se muestran como referencia.
- Consulta base: por defecto, es lo mismo que la consulta actual. Haga clic en
y modifique la consulta base, si es necesario.
- Rango de tiempo base: por defecto, la utilidad de comparación de cluster utiliza la opción Usar cambio de tiempo para determinar el rango de tiempo base. Por lo tanto, el rango de tiempo base es de la misma duración que el rango de tiempo actual y se cambia al período anterior al rango de tiempo actual. Para modificar esto, haga clic en el icono
y seleccione Usar tiempo personalizado o Usar tiempo actual. Si selecciona Usar tiempo personalizado, especifique el rango de tiempo personalizado mediante el menú.
- Haga clic en Comparar.
Ahora puede ver la comparación de cluster entre los dos juegos de logs.
Haga clic en el botón correspondiente a cada juego para ver los detalles como clusters, posibles incidencias, valores atípicos, tendencias y tabla de registros que sean exclusivos del juego. En la página también se muestra el número de clusters comunes entre los dos juegos de logs.
En el ejemplo anterior, hay 11 clusters que solo se encuentran en el rango actual, 4 clusters que solo se encuentran en el rango base y 30 clusters comunes en ambos rangos. En el histograma del rango de tiempo actual se muestra la visualización utilizando solo los datos de log que sean exclusivos del rango de tiempo actual.
- Consulta base: por defecto, es lo mismo que la consulta actual. Haga clic en
En primer lugar se devuelven los clusters que solo se encuentran en el rango actual, después los clusters que solo se encuentren en el rango base. Los resultados combinados se limitan a 500 clusters. Para reducir los resultados de comparación de cluster, reduzca el rango de tiempo actual o agregue un comando para limitar el número de resultados. Por ejemplo, el anexo | head 250
limitará los clusters actuales y base a 250 cada uno. Utilice la selección múltiple (mantener al hacer clic y arrastrar) en el histograma del cluster para reducir el rango de tiempo actual cuando se utilice una opción de tiempo personalizada. El valor de cambio de rango de tiempo se puede convertir en minutos o segundos para asegurar que no haya espacios o solapamientos entre el rango de tiempo actual y el base.
Uso de la consulta de diccionario en cluster
Utilice la consulta de diccionario después del comando cluster
para anotar los clusters.
Tenga en cuenta los resultados de cluster
para Logs de Syslog de Linux. Para definir un diccionario para agregar etiquetas en función del campo Ejemplo de cluster:
-
Cree un archivo CSV con el siguiente contenido:
Operator,Condition,Issue,Area CONTAINS IGNORE CASE,invalid compare operation,Compare Error,Unknown CONTAINS IGNORE CASE REGEX,DNS-SD.*?Daemon not running,DNS Daemon Down,DNS CONTAINS ONE OF REGEXES,"[[Cc]onnection refused,[Cc]onnection .*? closed]",Connection Error,Network CONTAINS IGNORE CASE,syntax error,Syntax Error,Validation CONTAINS IGNORE CASE REGEX,Sense.*?(?:Error|fail),Disk Sensing Error,Disk CONTAINS IGNORE CASE REGEX,device.*?check failed,Device Error,Disk
Importe esto como consulta de tipo de diccionario con el nombre Categorías de error de Linux. Esta consulta contiene dos campos, Incidencia y Área, que se pueden devolver en una condición de coincidencia. Consulte Creación de una consulta de diccionario.
-
Utilice el diccionario en el cluster para devolver un campo:
Ejecute el comando
cluster
para los logs Syslog de Linux. Agregue un comandolookup
después decluster
, como se muestra a continuación:'Log Source' = 'Linux Syslog Logs' | cluster | lookup table = 'Linux Error Categories' select Issue using 'Cluster Sample'
El valor de Ejemplo de cluster para cada fila se evalúa según las reglas definidas en el diccionario Categorías de error de Linux. Se devuelve el campo Incidencia de cada fila coincidente.
-
Para devolver más de un campo, seleccione cada campo en el comando
lookup
:'Log Source' = 'Linux Syslog Logs' | cluster | lookup table = 'Linux Error Categories' select Issue as Category, Area using 'Cluster Sample'
Con la consulta anterior se selecciona el campo Incidencia y también cambia su nombre a Categoría. El campo Área también está seleccionado, pero no se cambia de nombre.
-
Filtre los resultados del cluster mediante los campos del diccionario:
Utilice el comando
where
en los campos específicos para filtrar los clusters. Observe la siguiente consulta:'Log Source' = 'Linux Syslog Logs' | cluster | lookup table = 'Linux Error Categories' select Issue as Category, Area using 'Cluster Sample' | where Area in (Unknown, Disk)
De esta forma se muestran solo los registros que coincidan con los valores especificados para el campo Área.
Clusters semánticos
La visualización de clusters permite agrupar mensajes de texto en los registros de log. El cluster funciona agrupando mensajes que tengan un número similar de palabras en una frase e identificando las palabras que cambian dentro de dichas frases. El cluster no tiene en cuenta el significado literal de las palabras durante el agrupamiento.
El comando nlp
soporta clusters semánticos. La agrupación semántica en clusters se realiza extrayendo las palabras clave relevantes de un mensaje y realizando una agrupación en clusters según estas palabras clave. Dos juegos de mensajes con palabras similares se agrupan juntos. A cada grupo se le asigna un ID de cluster determinista.
En el siguiente ejemplo se muestra el uso de los clusters y las palabras clave de NLP en Logs de Syslog de Linux:
'Log Source' = 'Linux Syslogs Logs'
| link Time, Entity, cluster()
| nlp cluster('Cluster Sample') as 'Cluster ID',
keywords('Cluster Sample') as Keywords
| classify 'Start Time', Keywords, Count, Entity as 'Cluster Keywords'

Para obtener más ejemplos de casos de uso de clusters semánticos, consulte Ejemplos de clusters semánticos.
Comando nlp
El comando nlp
solo se puede utilizar después del comando link
y soporta dos funciones. cluster()
se puede utilizar para agrupar el campo especificado y keywords()
se puede utilizar para extraer palabras clave del campo especificado.
El comando nlp
solo se puede utilizar después del comando link
. Consulte nlp.
-
nlp cluster()
:cluster()
toma el nombre de un campo generado en Link y devuelve un ID de cluster para cada valor agrupado. El ID de cluster devuelto es un número, representado como una cadena. El ID de cluster se puede utilizar en consultas para filtrar los clusters.Por ejemplo:
nlp cluster('Description') as 'Description ID'
: de esta forma se podrían extraer palabras clave relevantes del campoDescription
. El campoDescription ID
contendría un ID único para cada cluster generado. -
nlp keywords()
:Extrae palabras clave de los valores de campo especificados. Las palabras clave se extraen en función de un diccionario. El nombre del diccionario se puede proporcionar mediante la opción
table
. Si no se proporciona ningún diccionario, se utiliza el diccionario por defecto listo para usar NLP General Dictionary.Por ejemplo:
nlp keywords('Description') as Summary
: de esta forma se extraerían palabras clave relevantes del campoDescription
. Se puede acceder a las palabras clave mediante el campoSummary
.nlp table='My Issues' cluster('Description') as 'Description ID'
: en lugar del diccionario por defecto, utilice el diccionario personalizado Mis incidencias.
Diccionario NLP
La agrupación semántica en clusters funciona dividiendo un mensaje en palabras, extrayendo las palabras relevantes y, a continuación, agrupando los mensajes que tengan palabras similares. Así pues, la calidad de la agrupación depende de la relevancia de las palabras clave extraídas.
- Se utiliza un diccionario para decidir qué palabras de un mensaje se deben extraer.
- El orden de los elementos del diccionario es importante. Un elemento de la primera fila tiene una clasificación más alta que el elemento de la segunda fila.
- Se crea un diccionario como un archivo .csv y se importa mediante la interfaz de usuario de Consulta con la opción Tipo de diccionario.
- No es necesario crear un diccionario, a menos que desee cambiar la clasificación de las palabras. Se utiliza el diccionario
NLP General Dictionary
listo para usar por defecto si no se especifica ninguno. Contiene palabras en inglés previamente entrenadas.
Consulte Creación de una consulta de diccionario.
A continuación, se muestra un ejemplo de diccionario Errores de iSCSI:
Operador | Condición | Valor |
---|---|---|
|
error |
nombre |
|
reported |
verbo |
|
iSCSI |
nombre |
|
connection |
nombre |
|
closed |
verbo |
El primer campo está reservado para uso futuro. El segundo campo es una palabra. La tercera palabra especifica el tipo de esa palabra. El tipo puede ser cualquier cadena y se puede hacer referencia al mismo desde la consulta mediante el parámetro category
.
En el ejemplo anterior, la palabra error tiene una clasificación superior a las palabras reported o iSCSI. Del mismo modo, connection tiene una clasificación superior a closed.
Uso de un diccionario
Supongamos que se ve el siguiente texto en el campo Message
:
Kernel reported iSCSI connection 1:0 error (1020 - ISCSI_ERR_TCP_CONN_CLOSE: TCP connection closed) state (2) Please verify the storage and network connection for additional faults
El mensaje anterior se analiza y se divide en palabras. Se eliminan los caracteres no alfabéticos. A continuación se muestran algunas de las palabras únicas generadas a partir de la división:
Kernel reported iSCSI connection error ERR TCP CONN CLOSE closed state ... ...
Hay un total de 24 palabras en el mensaje. Por defecto, los clusters semánticos intentarían extraer 20 palabras y utilizar esas palabras para realizar la agrupación en clusters. En un caso como el anterior, el sistema necesita saber qué palabras son importantes. Esto se consigue mediante el uso del diccionario.
El diccionario es una lista ordenada. Si se utiliza Errores de iSCSI, NLP no extraería ERR, TCP o CONN porque estas palabras no se incluyen en el diccionario. De manera similar, las palabras error, reported, iSCSI, connection y close tienen mayor prioridad debido a su clasificación en el diccionario.