Red de conocimiento informático - Aprendizaje de programación - Herramienta de búsqueda visual de registros de máquinas Linux Trace

Herramienta de búsqueda visual de registros de máquinas Linux Trace

Tengo una máquina Linux Trace que consulta con frecuencia registros de eventos desde varios lugares. Dado que la visualización de registros se usa con mucha frecuencia, pensé en crear una terminal visual para ayudar a localizar, buscar y mejorar la eficiencia. El proceso de búsqueda de registros en la línea de comando es el siguiente: 1. Los registros del día actual (dentro de las 24 horas) se leen directamente desde el archivo de registro y se leen mediante una herramienta especial. 2. Los registros que exceden las 24 horas deben leerse; se coloca en el directorio de fecha correspondiente y los registros se leen de acuerdo con el directorio de fecha correspondiente. El posicionamiento temporal comprime el registro y lo descomprime en un archivo .gz. Después de la descompresión, se puede utilizar el editor vi.

El propósito de la herramienta de búsqueda visual es acceder de forma remota a la máquina Trace, seleccionar el registro correspondiente de acuerdo con la fecha y hora dadas y enviarlo a la interfaz visual para que el personal de operación y mantenimiento pueda localizarlo. La información específica del registro se basa en las palabras clave, o más profundamente, genera directamente el problema de acuerdo con el registro.

La acumulación diaria es muy importante. El autor estaba pensando en esta solución cuando escribí este artículo. Básicamente, no encontré ningún problema que no pueda resolverse anteriormente. artículos. Cuando pensé en crear esta herramienta, el autor tenía una buena idea y un conjunto de soluciones, pero aún puede llevar algún tiempo resolver algunos problemas menores.

El autor eligió LabVIEW como plataforma de desarrollo y PLINK como herramienta de conexión remota. Las siguientes preguntas resumen los pensamientos del autor y los comparten con usted.

1. ¿Cómo se conecta LabVIEW de forma remota a la máquina Trace a través de SSH?

He solucionado este problema antes. Puede consultar la cultura: LabVIEW se conecta de forma remota al sistema Linux a través de. PLINK, o si está dispuesto a gastar dinero, elija la herramienta SSH de ALAB. Consulte el artículo SSH remoto de LabVIEW al sistema Linux. No entraré en detalles aquí.

2. Cómo generar el registro en el control de visualización de cadenas de LabVIEW

El registro del día (dentro de las 24 horas) se lee directamente y se genera en una cadena utilizando una herramienta especial. El comprimido ¿Cómo lidiar con archivos .gz? Pensé en cuatro métodos similares aquí: 1. gunzip filename.gz, descomprima el archivo y luego cat filename. La descompresión directa por gunzip no retendrá el archivo fuente; 2. gunzip -c filename.gz. Puede descomprimir y conservar el archivo fuente, y el contenido del archivo se genera directamente sin generar un archivo descomprimido, por lo que puede guardar el archivo y verlo usando el comando cat 3. gunzip -cv filename.gz gt; puede conservar el archivo fuente y el archivo comprimido y luego usar el nombre de archivo cat; zcat? filename.gz? Estoy usando el cuarto método.

Entonces la pregunta es, si alguien ha descomprimido el archivo .gz, ¿solo tiene el nombre del archivo descomprimido? Luego puede usar el comando o ||, lógico o. Cuando use este conector para conectar múltiples comandos, si el comando anterior se ejecuta correctamente, el siguiente comando no se ejecutará. Si el comando anterior falla, se ejecutará el siguiente comando. . Vea las pruebas del autor en kali linux. Para conocer la relación lógica entre los dos comandos, consulte el artículo: Cómo ejecutar varios comandos SHELL secuencialmente en Linux.

Combinando las dos partes anteriores, el autor usa labview para probarlo. Necesitamos regresar y resolver el problema de por qué plink tiene caracteres chinos confusos, pero no hay chino en la máquina Trace.

2. El primer comando del comando || no se ejecutó correctamente y no se mostró ningún mensaje de error. ¡Esto es algo bueno!

3. Control de salida de registro de cadenas, cómo buscar palabras clave

Utilice la función de búsqueda para dividir la cadena y luego cambie el color de la cadena recuperada.

Hice un ejemplo simple, pero para decenas de miles de líneas de cadenas, este ejemplo de recuperación debe optimizarse. Es necesario agregar estructuras de eventos, ubicar palabras clave a través de botones y luego recuperar palabras clave paso a paso a través del botón SIGUIENTE. Esto requiere que el autor lo haga en los últimos días, por lo que expresaré mis pensamientos aquí primero.

Además, para los registros, es necesario analizar la estructura del registro y refinar los problemas analizando todo el registro. Por ejemplo, qué tipo de mensajes hay, etc., se puede hacer un poco de inteligencia. Proporcionar recordatorios sencillos y prácticos al personal de operación y mantenimiento.

O sea más proactivo y analice nuevos registros periódicamente para obtener información útil.

Panel frontal de prueba:

Diagrama de bloques del programa de prueba:

4. Dada la fecha y la hora, cómo ubicar el archivo de registro

Buena fecha Según la información de fecha proporcionada, ingrese al directorio correspondiente según el formato de fecha. El tiempo no es tan conveniente. El registro genera un archivo de vez en cuando. Después de un tiempo determinado, el archivo de destino se ubica con precisión según la hora del archivo de registro.

Ingrese el directorio correspondiente a la fecha, busque todos los nombres de los archivos de salida y siga el comando de formato de la hora dada para encontrar los archivos dentro de este rango de tiempo. Pensé en dos métodos: 1. Labview remoto al directorio correspondiente a la fecha y use el comando "ls -l" para generar todos los nombres de archivos. Todos los archivos tienen una cadena de tiempo. Si se proporciona la cadena de tiempo, es una. operación de cadena. 2. Escriba un script de shell en Trace, busque y genere el nombre del archivo de registro correspondiente según el parámetro de tiempo de 1 yuan dado y luego use labview para llamar de forma remota a este script para obtener el nombre del archivo.

Los dos métodos anteriores deben ser actualizados y complementados por el autor en el artículo. De hecho, no son difíciles, solo lleva tiempo probarlos.

5. No solo puede realizar análisis de registros, sino que también puede agregar funciones de mantenimiento.

Por ejemplo, el autor escribió anteriormente un artículo sobre cómo guardar archivos de configuración del conmutador de forma remota. a él - sobre cómo guardar las configuraciones del conmutador, un poco de reflexión, como el comando: PLINK -pw contraseña nombre de usuario@192.168.31.82 -ssh -batch "di cu"gt; 2.txt? ¿Puede guardar el archivo de configuración del conmutador Huawei localmente?

También puedes utilizar la herramienta de transferencia de archivos PSCP (PuTTY Secure Copy Client) de PuTTY o PSFTP para copiar de forma remota los archivos de configuración de un programa Linux. PSCP es similar a PLINK. Puede ejecutar pscp en el directorio exe para ver la descripción de sus parámetros.

Los resultados de la prueba son los siguientes, por lo que es muy fácil copiar los archivos de configuración desde el servidor Linux.

La idea del diseño es más o menos así. Si el autor lo hace, no se preocupe, se puede depurar en una semana. Algunos detalles aún deben optimizarse. Creo que puede ser más conveniente y rápido completarlo con la combinación básica de labview u otras plataformas de desarrollo que utilice y shell. Creo que la mayor dificultad es crear una interfaz elegante. Ahora es la era del reconocimiento facial. También es necesario resolver el proceso de generación de registros lentamente para obtener una interpretación precisa. basado en los registros.