Comprenda rápidamente la descripción general del registro e interprete 13 algoritmos de análisis de modo de registro en detalle

La comunidad Cloud Intelligence AIOps es iniciada por Cloud Intelligence, con el objetivo de escenarios comerciales de operación y mantenimiento, proporcionando un sistema de servicio general de algoritmos, poder de cómputo, conjuntos de datos y una comunidad de intercambio de soluciones para escenarios comerciales inteligentes de operación y mantenimiento. La comunidad está comprometida con la difusión de la tecnología AIOps, con el objetivo de resolver problemas técnicos en la industria de operación y mantenimiento inteligente con clientes, usuarios, investigadores y desarrolladores en diversas industrias, promover la implementación de la tecnología AIOps en las empresas y construir una saludable y ganar-ganar. Ecosistema de desarrolladores de AIOps.

El análisis de modo de registro es un algoritmo que analiza registros de datos semiestructurados en datos estructurados, lo que puede ayudarnos a comprender rápidamente la descripción general de una gran cantidad de registros. En el proceso de análisis automático de registros, a menudo se usa como un paso intermedio para servir las excepciones posteriores de los registros.tareas de detección. En este informe de pizarra técnica, explicaremos el análisis en modo de registro en detalle en torno a tres preguntas: qué es el análisis en modo de registro, por qué se realiza el análisis en modo de registro y cómo implementar el análisis en modo de registro.

1. ¿Qué es el análisis de modo de registro?

Podemos usar el siguiente diagrama para comprender qué hace el análisis del esquema de registro:

En primer lugar, debe quedar claro que el registro es un tipo de datos semiestructurados, que se genera mediante un código específico. Como se muestra arriba, el mensaje de registro: 2015-10-18 18:05:29,570 INFO dfs.DataNode$PacketResponder: Bloque recibido blk_-562725280853087685 de tamaño 67108864 de /10.251.91.84. Es generado por el código LOG.info("Received block " + block + " of size " + block.getNumBytes() + " from " + inAddr);. El propósito del análisis del modo de registro es analizar el registro en forma de datos estructurados como se muestra en la figura anterior, es decir, extraer la marca de tiempo, el nivel, el componente, la plantilla de registro y la información de parámetros del registro. Las tres informaciones de marca de tiempo, nivel y componente del registro se pueden obtener fácilmente a través de una regularización simple, por lo que el algoritmo de análisis de patrones de registro realmente se enfoca en la extracción de plantillas y parámetros de registro.

¿Qué son las plantillas de registro y los parámetros? Con un poco de conocimiento del código, todos podemos saber que en el registro impreso por el código LOG.info("Received block " + block + " of size " + block.getNumBytes() + " from " + inAddr), el Aparecerá el texto: Bloque recibido, de tamaño, de, estos textos se denominan constantes, y debido a los diferentes estados del sistema cada vez que se imprime el registro, el bloque, block.getNumBytes(), inAddr impreso por cada registro puede ser diferente, y estos textos se llaman parámetros. Mantenemos las constantes en el registro y reemplazamos los parámetros con los símbolos específicos <*>, de modo que el texto generado sea la plantilla del registro.

El proceso de análisis de patrones de registros se puede entender como un proceso de hacer retroceder el código de impresión de registros y también un proceso de agrupar registros (los registros con la misma plantilla se consideran el mismo tipo de registros). Diferentes artículos tienen diferentes nombres para el análisis de patrones de registros, como minería de plantillas de registros, descubrimiento de patrones de registros, reconocimiento de patrones de registros, agrupación de registros, etc., que en realidad se refieren al análisis de patrones de registros.

En segundo lugar, ¿por qué hacer un análisis de modo de registro?

El análisis en modo de registro es una función que muchos productos de registro tienen ahora. ¿Por qué todos necesitamos hacer el análisis en modo de registro? En primer lugar, el análisis de patrones de registros puede ayudarnos a comprender rápidamente la descripción general de los registros. En los sistemas informáticos actuales, la cantidad de registros suele ser muy grande. Un sistema puede generar millones de registros en un día. Obviamente, no es realista observar directamente con el ojo humano Análisis del modo de registro, podemos comprimir millones de registros en cientos de plantillas, de modo que se pueda lograr el propósito de los ojos humanos (como se muestra en la figura a continuación).

En segundo lugar, el análisis de esquemas suele ser un paso intermedio en el proceso de análisis automatizado, que cumple tareas como el servicio y la posterior detección de anomalías, porque los resultados del análisis de esquemas son más fáciles de analizar. Por ejemplo, podemos obtener la periodicidad del patrón analizando el tiempo de impresión del log de un determinado patrón, y considerar como anormales los puntos que no se ajustan al período, por otro ejemplo, podemos analizar el orden de aparición entre patrones Cuando encontramos que el modo 2 siempre aparece después del modo 1, si de repente encontramos que el modo 2 aparece solo en un momento determinado, también es una anomalía. Se puede juzgar la anomalía.

3. Cómo implementar el análisis de modo de registro:

Este informe de pizarra técnica investiga un total de 13 algoritmos de análisis de registros clásicos, la mayoría de los cuales provienen de la revisión "Herramientas y puntos de referencia para el análisis de registros automatizado". En este informe de pizarra técnica, de acuerdo con los principios de los algoritmos, estos algoritmos se dividen en tres categorías: algoritmos de análisis de patrones de registro basados ​​en agrupamiento, algoritmos de análisis de patrones de registro basados ​​en minería frecuente de elementos y algoritmos de análisis de patrones de registro basados ​​en heurística. En la siguiente figura se muestran los algoritmos y sus clasificaciones diseñadas en este informe de pizarra técnica:

Los registros impresos por el mismo código deben ser similares, por lo que podemos hacernos una idea del primer análisis de patrón, dar la fórmula de similitud de texto o la fórmula de distancia, y reunir los registros del mismo patrón a través del algoritmo de agrupamiento, y luego Luego obtenga la plantilla de registro, es decir, el algoritmo de análisis de patrón de registro basado en agrupamiento, como Drain, Spell (LCS también se puede considerar como una similitud de texto), Lenma, Logmine, SHISO, etc.

Y debido a que cuando el código imprime el registro, la constante aparecerá en todos los registros impresos y los parámetros pueden ser muy diferentes en el registro, por lo que creemos que la constante aparece con frecuencia en el registro y el parámetro aparece en el registro. La frecuencia es baja, en otras palabras, la frecuencia más alta es la constante y la frecuencia más baja es el parámetro. A través de esta propiedad, podemos obtener la segunda idea de análisis de patrones, es decir, el algoritmo de análisis de patrones de registro basado en la minería de elementos frecuentes. , como SLCT , Logram, FT-Tree.

Además, algunos algoritmos contienen algunas suposiciones heurísticas sobre los registros. Por ejemplo, solo los registros de la misma longitud pueden ser del mismo tipo, y los registros con las mismas primeras palabras pueden ser del mismo tipo. Estas suposiciones también se pueden usar para patrones análisis. Algunos algoritmos de agrupamiento también pueden contener algunas suposiciones heurísticas, pero el algoritmo de análisis de patrón de registro basado en agrupamiento y el algoritmo de análisis de patrón de registro basado en heurística pueden distinguirse por si el algoritmo usa similitud.

En general, estos tres tipos de métodos se pueden resumir en los siguientes procesos. Entre ellos, algunos métodos involucran el proceso de fusión de patrones, y la mayoría de los métodos solo tienen el proceso de preprocesamiento, agrupación y adquisición de plantillas, y la adquisición de plantillas a menudo es asociado con el agrupamiento Fusión de procesos, algunos algoritmos incluso obtienen plantillas primero y luego agregan los registros de la misma plantilla, por lo que este informe de pizarra técnica presenta estos dos procesos en el proceso de agrupamiento.

1. Preprocesamiento:

Independientemente de si se trata de un algoritmo de análisis de patrones de registro basado en agrupamiento, un algoritmo de análisis de patrones de registro basado en minería de elementos frecuente o un algoritmo de análisis de patrones de registro basado en heurística, antes de analizar el registro, se realizará una segmentación de palabras, porque una palabra es la unidad más pequeña que expresa un significado completo. . Además de la segmentación de palabras, Drain, DAGDrain, POP, LogMine y LkE mencionaron que se requiere identificación de tipo, es decir, a través de coincidencias periódicas, se identifican algunas palabras especiales, como dirección IP, hora, etc., y luego reemplazados con caracteres especiales o eliminados. Esto se debe a que estas palabras especiales son obviamente parámetros que pueden mejorar efectivamente la similitud de los registros del mismo patrón. AEL propone identificar pares clave-valor y reemplazar el valor con un campo especial, que también es una consideración similar. Además, Logram propone que se elimine el encabezado del registro antes del análisis (es decir, la marca de tiempo, el nivel y la información del componente del registro). Los algoritmos Lenma y SHISO calculan la similitud en función del vector de características extraído del registro, en lugar de la lista de palabras del registro después de la segmentación de palabras, por lo que estos dos algoritmos realizarán varios pasos de extracción de características durante el preprocesamiento.

2. Agrupación:

En esta sección, los métodos de agrupamiento se describen de acuerdo con las categorías de algoritmos de análisis.

(1) Análisis de patrones de registros basados ​​en clústeres:

A. Similitud

El análisis del patrón de registro basado en la agrupación utilizará la fórmula de similitud o distancia del texto para determinar si el registro pertenece a un determinado patrón. Al calcular la similitud del texto, algunos algoritmos calculan directamente la similitud a través de la lista de palabras, como Drain, DAGDrain, etc.; mientras que algunos algoritmos primero extraen las características a través de la lista de palabras y luego calculan la similitud de las características, como Lenma , SHISO. Algunos algoritmos usan fórmulas de similitud de texto que requieren entradas de igual longitud, mientras que otros no.

Como se puede ver en la tabla anterior, la mayoría de las fórmulas de similitud de texto utilizadas por los algoritmos requieren que la entrada sea de igual longitud Esto se debe a que todos estos algoritmos asumen que los registros del mismo modo tienen la misma longitud, lo que puede ser efectivamente reducido El número de cálculos de similitud reduce la dificultad del cálculo de similitud, pero también existen ciertas limitaciones.

La fórmula de similitud utilizada por Drain y DAGDrain es la misma, ambos son:

La traducción de la fórmula es que los dos registros son diferentes de izquierda a derecha, uno por uno. Se cuenta el número de palabras iguales y la similitud se obtiene dividiendo por la longitud del registro. Por ejemplo, el registro [ Node, 001, is, unconnected] y En el registro [Node, 002, is, unconnected], las tres palabras Node, is y unconnected son las mismas y tienen la misma posición, por lo que la similitud entre los dos registros es 3/ 4.

La fórmula de distancia utilizada por LogMine es:

Esta fórmula de distancia es muy similar a la fórmula de similitud utilizada por Drain, pero permite que dos registros tengan una longitud diferente y también permite establecer manualmente la puntuación cuando las palabras son las mismas. Cuando se traduce la fórmula, también son dos registros de izquierda a derecha, cada palabra se ve diferente, hasta que el registro más corto ve el final y no lo lee, cuente el número de las mismas palabras, divida por la longitud del registro más grande para obtener la similitud Por ejemplo, si k1=1, el registro [Nodo, 001, está desconectado] es el mismo que el registro [Nodo, 002, también está desconectado], y las tres palabras Nodo, está y desconectado son las mismas , y las posiciones son las mismas. La similitud es 3/5. Sin embargo, esta fórmula de distancia también tiene limitaciones, si hay un pequeño desplazamiento en la posición del registro, la similitud calculada por los registros del mismo modo también será muy baja, como log [Node, 001, is, unconnected] y log [Nodo, 002, 003] está desconectado]. Aunque todos los registros contienen las palabras Node, is y unconneted, y pertenecen al mismo patrón, las posiciones de is y unconneted en los dos registros son diferentes, por lo que la similitud entre los dos registros es solo 1/5.

En Spell, la similitud se juzga por LCS (máxima subsecuencia común):

LCS es un problema clásico en ciencias de la computación. Los estudiantes que no lo conocen pueden resolverlo por sí mismos. Spell rompe la limitación de longitud al juzgar la similitud a través de LCS, pero también genera el problema de la eficiencia, porque el algoritmo para calcular con precisión resolviendo el problema LCS Se requiere la complejidad temporal de O(mn) (m, n es la longitud de seq1 y seq2).

La distancia utilizada por LKE es la distancia de edición del texto y calcula la cantidad mínima de palabras requeridas para convertir seq1 a seq2 (agregar, eliminar, modificar). Además, LKE propone que al calcular la distancia, se debe considerar la posición de la palabra operada. Por lo tanto, el artículo propone una distancia de edición ponderada:

La distancia de edición también supera la limitación de longitud, pero la complejidad del tiempo sigue siendo un punto débil.

Cuando Lenma calcula la similitud, primero debe extraer el vector de características de acuerdo con el mensaje de registro. El vector de características utilizado por Lenma se llama vector de longitud de palabra.El método de extracción es muy simple, es decir, escriba la longitud de cada palabra en el registro y luego empalme las longitudes. Por ejemplo, en el registro [Node, 001, is, unneteded], el vector de longitud de palabra es [4, 3, 2, 10]. La fórmula de cálculo de similitud es la similitud del coseno del vector de longitud de palabra:

La ventaja de extraer primero el vector de características y luego calcular la similitud es que el vector puede realizar el cálculo matricial en paralelo, y la eficiencia del cálculo será mayor en el módulo de cálculo de similitud, pero extraer la característica también significa perder información.

La fórmula de similitud utilizada por SHISO es:

Entre ellos, C(W1[i]) y C(W2[i]) son vectores de características generados a partir de las palabras W1[i] y W2[i]. Los vectores de características considerados en SHISO incluyen letras mayúsculas, minúsculas, números y otros.El vector generado es de 4 dimensiones, y cada dimensión es el número de letras mayúsculas, minúsculas, números y otros. Como la palabra Nodo, el vector de características generado es [1,3,0,0].

B. Lógica de agrupamiento:

Con la fórmula de cálculo de similitud, se puede realizar la agrupación. Una de las lógicas de agrupación en clústeres más simples es almacenar todos los clústeres, y cuando hay un registro para analizar, el registro y el centro del clúster de todos los clústeres (el centro del clúster puede ser una lista de palabras, o puede ser El vector de características es determinado por el primer registro que ingresa al clúster y se actualiza con el registro entrante) para calcular la similitud uno por uno y encontrar el clúster con la mayor similitud. Si la similitud cumple con el requisito de umbral, el registro que se analizará se fusiona con el clúster y el centro del clúster se actualiza. Si no hay ningún clúster que cumpla con el requisito de umbral, el registro que se analizará se utiliza como centro del clúster y se crea un nuevo clúster clase clúster. Tanto Spell como Lenma utilizan dicha lógica de agrupación.

Este tipo de lógica de agrupamiento es muy simple, pero existe el problema de que la similitud se calcula demasiadas veces y la eficiencia del cálculo es baja. Por lo tanto, más algoritmos, antes de calcular la similitud, primero agruparán los registros y luego usarán dicha lógica de agrupación para agrupar dentro de cada grupo.

Por ejemplo, el algoritmo Drenar utiliza una estructura de árbol para agrupar registros. La estrategia de agrupación de Drain consta de dos partes: agrupación según la longitud del registro y agrupación según las primeras palabras del registro. Se puede configurar la profundidad del árbol de Drain, y la profundidad del árbol determina cuántas primeras palabras se usan para agrupar. La estrategia de agrupación se muestra en la figura. Cuando hay un registro para analizar, buscará hacia abajo de acuerdo con la longitud del registro y las primeras palabras hasta el nodo hoja. Los conglomerados en el grupo se almacenan bajo los nodos de hoja.Después de buscar los nodos de hoja, se calcula la similitud y el centro del conglomerado se actualiza o se crea un nuevo conglomerado de acuerdo con el resultado del cálculo de similitud.

El algoritmo DAGDrain es similar al algoritmo Drain y también utiliza una estructura de árbol para agrupar.Hay dos estrategias de agrupación: agrupar según la longitud del registro y agrupar según la primera o la última palabra del registro. La longitud del registro es fácil de entender. El método de agrupación según la primera palabra o la última palabra del registro es: según si la primera palabra o la última palabra del registro contiene números y caracteres especiales, extraiga la primera o la última palabra del registro. última palabra del registro y agregue la primera palabra. El logotipo de la palabra o la última palabra se usa como split_token, y los registros con el mismo split_token se dividirán en el mismo grupo.

El algoritmo AEL agrupará los registros según la longitud del registro y el logaritmo de los pares clave-valor, y luego calculará la similitud en el grupo para la agrupación.

En resumen, hay cuatro formas de agrupar por adelantado: agrupar según la longitud del registro, agrupar según las primeras palabras del registro, agrupar según la primera palabra o la última palabra del registro y agrupar según el logaritmo del par clave-valor Ambos tienen sus defectos. La agrupación según la longitud del registro se ve muy afectada por la segmentación de palabras. La segmentación de palabras incorrecta puede hacer que los registros del mismo patrón tengan diferentes longitudes. Además, para algunos registros con múltiples ubicaciones, la longitud también los clasificará incorrectamente en diferentes grupos. medio. Tales como registro [Nodo, 000, es, desconectado] y registro [Nodo, 001, 002, es, desconectado]. La agrupación por las primeras palabras del registro es útil la mayor parte del tiempo, pero a veces los parámetros también pueden estar en la parte superior del registro. Según la estrategia de agrupar la primera palabra o la última palabra del registro, si no se elimina el encabezado del registro, no podrá ejercer su efecto con alta probabilidad. De acuerdo con la agrupación logarítmica de pares clave-valor, puede verse afectada por una coincidencia regular incorrecta.

Además de agrupar por adelantado, el agrupamiento jerárquico también es un método para mejorar la eficiencia del análisis. Por ejemplo, SHISO, SHISO también es un algoritmo de análisis estructurado en árbol. Cada nodo del árbol corresponde a un grupo, y el algoritmo requiere que el niño nodos de cada nodo debe ser menor que el umbral t. El flujo del algoritmo es el siguiente: recorrer los nodos secundarios para ver si hay clústeres cuya similitud cumple con los requisitos. Si existe, actualice el centro del clúster; si no existe, y el número de nodos secundarios es menor que el umbral, inserte un nuevo clúster debajo del nodo; si no existe, y el número de nodos secundarios es igual a el umbral, encuentre el que tiene el nodo de similitud más grande, continúe recorriendo los nodos secundarios debajo de este nodo e itere hasta que se encuentre un clúster cuya similitud cumpla con los requisitos.

Logmine también mencionó que se puede usar el algoritmo de agrupamiento jerárquico, pero el propósito de este agrupamiento jerárquico no es mejorar la eficiencia. Por el contrario, puede reducir la eficiencia del análisis hasta cierto punto, pero brinda la posibilidad de un procesamiento manual y flexible. de niveles de análisis. Logmine también utiliza una estructura de árbol para la agrupación. Propone que en la primera capa del árbol, los troncos se agrupen con un umbral de distancia muy pequeño para formar clústeres. De esta manera, los troncos se pueden dividir lo suficiente para evitar diferentes patrones. Los troncos del clúster se agrupan juntos, y el centro del clúster del clúster es el primer registro que ingresa al clúster y no se actualiza. A partir de la segunda capa, con un umbral de distancia mayor, los centros de conglomerados de la capa anterior se agrupan para formar conglomerados de centros de conglomerados. Los centros de conglomerados son los primeros datos que ingresan al conglomerado, y a medida que se actualizan a medida que llegan nuevos datos en.

c. Umbral automático:

Para la mayoría de los algoritmos de análisis basados ​​en agrupamiento, el umbral de similitud debe establecerse manualmente. LKE y DAGDrain brindan dos ideas de umbral automático. LKE propone que el umbral de similitud se pueda obtener a través de la agrupación de k-means, mientras que DAGDrain propone la siguiente fórmula de umbral automático:

Sin embargo, la validez del umbral automático aún no se ha verificado y no se describirá aquí.

(2) Análisis de patrones de registro basado en la extracción frecuente de elementos:

El algoritmo de análisis de patrones de registro basado en la extracción frecuente de elementos necesita contar las frecuencias (principalmente frecuencias de palabras y Logram cuenta frecuencias de n-gramas) antes de agrupar.

SLCT es el primer algoritmo de análisis de patrones de registro. Su principio es relativamente simple. El flujo del algoritmo es el siguiente: si la frecuencia de ocurrencia de la palabra de registro W(i) en un registro es mayor que el umbral s, entonces W(i) es considerada como una palabra frecuente Todas las palabras frecuentes y sus posiciones en el registro se extraen como candidatos de agrupación. Por ejemplo, en el registro [Interface,eth0,down], si la frecuencia de ocurrencia de Interface y down es mayor que el umbral, el clúster candidato generado por el registro es {(Interface, 1) (down, 3)}, y el número de candidatos de clúster es mayor que los Umbrales se denominan formalmente clústeres.

Logram introduce de forma innovadora n-gram en el algoritmo de minería de elementos frecuentes. Antes de analizar, necesita contar todas las frecuencias de n-gramas en el registro (n=1,2,...k, k son parámetros de configuración). Al analizar, primero obtenga la frecuencia de k-gramo del registro, seleccione el k-gramo cuya frecuencia sea menor que el umbral de k-gramo como candidatos de parámetro, y luego descomponga el k-gramo seleccionado en k-1-gramo, y luego salte de él Parámetros candidatos para k-1-gramos hasta 2-gramos. Para cualquier palabra del registro, si todos sus 2 gramos están en los candidatos de parámetros de 2 gramos, la palabra es un parámetro; de lo contrario, es una constante. Por ejemplo, en el registro [Node, 000, is, unconnected], los 2 gramos de 000 tienen Node->000, 000->is, if Node->000, 000->is están todos en los 2 gramos. candidatos de parámetro, entonces 000 es el parámetro. El modo de registro se puede obtener fijando la constante y convirtiendo el parámetro al símbolo especial <*>.

Tanto SLCT como Logram son algoritmos muy eficientes, pero ambos tienen un problema: el umbral para juzgar palabras frecuentes (o n-gramas frecuentes) no es fácil de determinar. Y, en realidad, hay una situación en la que algunos códigos se imprimen muy pocas veces, pero algunos códigos se imprimen muchas veces, lo que significa que la frecuencia de las constantes en los registros generados por los códigos que se imprimen pocas veces también es sería muy bajo y muy fácil de ser considerado un parámetro. Por lo tanto, no se recomienda el uso de estos dos algoritmos.

FT-tree también es un algoritmo de análisis de patrones de registro basado en la extracción frecuente de elementos, que utiliza la estructura de datos original de FT-tree para el análisis. Antes del análisis, el algoritmo recorre todos los registros y luego obtiene la frecuencia de ocurrencia de las palabras en el registro y ordena las palabras según su frecuencia de ocurrencia de mayor a menor para formar una lista L. Al analizar el registro, para analizar el registro, las palabras del registro se ordenarán de acuerdo con la lista L y luego se insertarán en el árbol FT (esto puede hacer que las palabras con alta frecuencia estén más cerca del nodo raíz y las palabras con baja frecuencia están más alejadas del nodo raíz), hasta que todos los registros se inserten como se muestra. Entonces, ¿cómo juzga FT-tree las constantes y los parámetros?

Consideramos los registros impresos por el mismo código, como [Node,000,is,unconnected], [Node,001,is,unconnected], [Node,002,is,unconnected], e insertamos estos registros en el FT- árbol Posteriormente, las palabras más cercanas al nodo raíz deben tener más probabilidades de ser constantes, porque la frecuencia de aparición es mayor. Además, encontraremos que al acercarse al nodo raíz, el árbol casi no tiene bifurcación, pero después de llegar a cierto nodo, la cantidad de nodos secundarios aumentará exponencialmente, y este nodo es la línea divisoria entre constantes y parámetros. A través de este experimento mental, naturalmente podemos obtener la siguiente operación del árbol FT: la poda. De esta forma, los nodos restantes en el árbol FT representan constantes. El árbol FT considera que los registros que contienen las mismas constantes pertenecen al mismo esquema.

La estructura del árbol FT es ingeniosa, pero puede haber algunos problemas, por ejemplo, algunos parámetros pueden estar limitados, lo que no causará una bifurcación tan grande en el árbol FT y también puede permanecer en el árbol FT. Si hay una constante común, también puede causar la bifurcación bajo esta constante, lo que resulta en la eliminación de nodos secundarios y la agrupación de varios modos.

(3) Análisis de patrones de registro basados ​​en heurísticas

Solo hay dos algoritmos de análisis de patrones de registro basados ​​en heurística investigados en este documento, POP e IPLOM, pero de hecho, muchas reglas heurísticas también se utilizan en el algoritmo de análisis de patrones de registro basado en clústeres, como la estrategia de agrupación de Drain y DAGDrain.

Hay dos estrategias heurísticas utilizadas en POP: 1. Agrupar por longitud de registro. 2. Agrupar por posición de palabra. La idea de agrupar según las posiciones de las palabras es algo similar a la idea del árbol FT, que está diseñado en base a la creencia de que los parámetros conducirán a demasiadas bifurcaciones. Los pasos son: en el grupo, contar cada posición, hay varios tipos de palabras en el grupo, y encontrar la posición con el tipo de palabra menor pero no 1 para agrupar. Como se muestra en los siguientes cuatro registros, puede elegir la posición 1 o la posición 2 para agrupar, porque solo hay 2 tipos de palabras en la posición 1 y 2, y hay 4 tipos de palabras en la posición 3. Continúe haciendo esto hasta que la cantidad mínima de categorías que no sean de 1 palabra y la cantidad de categorías de palabras dividida por la cantidad de registros en el grupo superen el umbral.

Hay tres estrategias heurísticas utilizadas en IPLOM: 1. Agrupar según la longitud del registro. 2. Agrupar por posición de palabra. 3. Agrupa según la relación biyectiva. Entre ellos, el principio de la estrategia heurística 3 también es que los parámetros conducirán a demasiadas bifurcaciones y no se presentarán aquí.

3. Modo de fusión:

En el algoritmo DAGDrain y el algoritmo POP, se menciona que después de obtener los patrones de registro, los patrones de registro se pueden agrupar y fusionar nuevamente calculando la similitud entre los patrones de registro. La fusión de modo de registro es una operación de gran apalancamiento, porque la cantidad de datos que deben agruparse para la fusión de modo es la cantidad de modos, que es mucho menor que la cantidad de registros. Por lo tanto, en comparación con la agrupación de registros, la fusión de modo requiere mucho poco tiempo, y puede desempeñar un papel en Mejorar el efecto de la agrupación de resultados.

En DAGDrain, la similitud de fusión de patrones adoptada es:

Entre ellos, lenNew es la longitud del nuevo patrón después de la fusión, lenExist es la longitud del patrón original y lenLCS es la longitud de la máxima subsecuencia común entre el nuevo patrón y el patrón original.

En POP, la fórmula de la distancia de fusión del modo utilizada es la distancia de Manhattan:

Entre ellos, N es la palabra común contenida en los dos textos, y ai y bi valoran respectivamente el número de la i-ésima palabra en los textos a y b.

4. Pequeño consejo:

Hay muchos algoritmos de análisis de registros, y a través de la introducción de ahora, podemos encontrar que muchos pasos en el algoritmo anterior pueden entenderse como un proceso de agrupación, y la agrupación es un proceso que no se afecta entre sí. También es posible seguir agrupando por otras estrategias. Entonces, también podríamos ser audaces, hay muchos métodos en el algoritmo que se pueden combinar entre sí para formar un nuevo algoritmo. Por ejemplo, en la estructura de árbol del algoritmo Drain, ¿se puede agregar una capa agrupada por el número de pares clave-valor? Para otro ejemplo, ¿se puede considerar la estructura de árbol del árbol FT como un proceso de agrupación y, después de la agrupación, la agrupación se realiza de acuerdo con el cálculo de similitud? Para otro ejemplo, después de que el algoritmo Drain se divida en grupos, ¿se puede volver a usar la estrategia de agrupación jerárquica de SHISO para evitar que los patrones excesivos en un cierto nodo hoja del algoritmo Drain afecten la eficiencia? Sin embargo, en el proceso de fusión, siempre preste atención al efecto y la eficiencia.

escribir al final

En los últimos años, en el contexto del rápido desarrollo del campo AIOps, las necesidades urgentes de herramientas de TI, capacidades de plataforma, soluciones, escenarios de IA y conjuntos de datos disponibles han estallado en varias industrias. En base a esto, Cloud Wisdom lanzó la comunidad AIOps en agosto de 2021, con el objetivo de crear un banner de código abierto, crear una comunidad activa de usuarios y desarrolladores para clientes, usuarios, investigadores y desarrolladores en varias industrias, y contribuir conjuntamente a resolver la industria. problemas y promover el desarrollo tecnológico en este campo.

La comunidad ha abierto la plataforma de orquestación de visualización de datos-FlyFish, la plataforma de gestión de operaciones y mantenimiento OMP , la plataforma de gestión de servicios en la nube-plataforma Moore, el algoritmo de Horas y otros productos.

Plataforma de Orquestación Visual-FlyFish:

Introducción al proyecto: https://www.cloudwise.ai/flyFish.html

Dirección de Github: https://github.com/CloudWise-OpenSource/FlyFish

Dirección de albergue: https://gitee.com/CloudWise/fly-fish

Caso de la industria: https://www.bilibili.com/video/BV1z44y1n77Y/

Algunos casos de pantalla grande:

Conózcanos a través del enlace de arriba, agregue un pequeño asistente (xiaoyuerwie) nota: pez volador. ¡Únase al grupo de intercambio de desarrolladores y tenga intercambios 1V1 con grandes nombres de la industria!

¡También puede obtener información AIOps de inteligencia en la nube a través del pequeño asistente y conocer los últimos avances de la inteligencia en la nube FlyFish!

{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/yunzhihui/blog/5514043
Recomendado
Clasificación