Amoladora angular: herramienta para formatear y analizar archivos de registro en Linux

¿Está aburrido de abrir archivos en un editor de texto diferente mientras trabaja en la línea de comandos para analizar y obtener solo la información que se requiere? Escribir comandos más largos para dividir solo los datos requeridos o comandos regex para formatear. Resolvamos su problema usando la herramienta ag (Angle-Grinder). Sí, ag le permite cortar, formatear y analizar archivos en la línea de comando.

El procesamiento de millones de filas por segundo o el análisis de datos de un archivo a la velocidad del rayo solo es posible con la amoladora angular. Mientras procesa cualquier archivo, los resultados se actualizan en vivo en el terminal, lo que le permite controlar sus datos y puede detener el proceso cuando sea necesario. Analizar un documento y recuperar información necesaria de json, log o cualquier otro archivo es fácil en la terminal. En su mayor parte, no tiene que pensar en cómo funciona el software y puede concentrarse en el software interactivo y usar el terminal de la manera que desee. Esta herramienta está diseñada con el propósito de hacer que el terminal sea más poderoso y el usuario puede utilizar su tiempo de manera eficiente en lugar de perderlo en otras herramientas que no son del terminal.

Características de la amoladora angular:

  • Analizar, agregar, sumar y ordenar datos en archivos
  • Actualizaciones en vivo en la terminal
  • Mejor análisis de datos: comprobación de registros
  • Quizás la mayor ventaja de ag sobre los métodos tradicionales de procesamiento de texto para buscar en archivos de registro es que facilita la búsqueda por fecha (no se trata en el tutorial)

Así que sin perder más tiempo, ensuciemos nuestras manos.

Instalación

La herramienta agrind / ag / angle-grinder es compatible con cualquier versión de Linux y también con Mac OS. Un solo comando en cualquier sistema y ag está listo para su uso.

$ curl -L https://github.com/rcoh/angle-grinder/releases/download/v0.7.2/angle_grinder-v0.7.2-x86_64-unknown-linux-musl.tar.gz 
  | tar Ozxf - 
  | sudo tee /usr/local/bin/agrind > /dev/null && sudo chmod +x /usr/local/bin/agrind

La instalación tarda entre 2 y 3 minutos, según la velocidad de Internet.
Una vez que instale la herramienta ag, todo lo que tiene que hacer es verificar si el comando “ag o agrind” está funcionando en su máquina.

Sintaxis

agrind tool funciona con muchas series de operadores y múltiples “|” para pasar la salida de cada parte para filtrar, analizar o agregar datos. Generalmente, la operación inicial analizará los archivos de datos o JSON seguido de la agregación o agrupación o el número total de incidencias. Esta lista no está limitada, puede explorar usted mismo y aprender diferentes formas para otros operadores también.

Usando una herramienta agrícola

estamos usando archivos de muestra disponibles en el paquete para demostración, y para comandos futuros, no olvide esta sintaxis,

agrind ' | operator1 | operator2 | operator3 | ...'

así que comencemos con diferentes example uno a uno,

Operador de filtro

El comando de filtro enumerará las líneas con la etiqueta ERROR en ellas, digamos que está trabajando con un archivo de red y, de repente, necesita encontrar el error en su registro. Este simple comando funcionará a la perfección para ti. Todo lo que necesita hacer es pasar WORD adentro ” (comillas simples).

$ sudo cat filter_test.log | agrind '"ERROR"'

Operador no agregado

El archivo de registro test_json tiene mensajes de error. Esta consulta de agrinder mostrará todas las líneas porque usamos *. Y mostrará la salida en formato JSON (notación de objetos JavaScript). es decir, como formato ligero de intercambio de datos. Mostrará cada dato de cada línea de archivo de registro entre corchetes. Significa legible por humanos. Los datos se dividen ahora en valor (clave) y mensaje (valor),

 
nbsp;cat test_json.log | agrind '* | json'

Donde

donde si se cumple (condición), la fila se mantiene como está, pero si la condición no se cumple, las filas se eliminan. En el comando de abajo a la izquierda está el nombre de la columna, mientras que a la derecha es la condición. Ejemplos de

$ cat test_parse.log | agrind '* | json | where status_code >= 400'

un otro example

$ python -u gen_logs.py |agrind '* | json | p50(response_ms) by status_code,url'||

otras operaciones no agregadas respaldadas por ag son,

  • JSON, le permite analizar la salida en formato JSON.
  • Analizar, analizar el texto que coincide con el patrón en variables. Las líneas que no coincidan con el patrón se eliminarán.
  • Campos, se utilizan para la eliminación condicional.

Operador agregado

$ python -u gen_logs.py

otro operador que se puede utilizar en su lugar,

  • contar
  • suma, el valor de la fila no es numérico, por lo que no se considera
  • promedio, valores promedio en la columna.
  • clasificar
  • contar distinto

Analizar con operador – Representación

$ cat test_parse.log | agrind '* | parse "in *ms" as response_time'

Espero que te guste este tutorial y cuéntanos tus comentarios.

Leer también:

  • Squid Analyzer: un analizador para el archivo Squid proxy access.log
  • Configurar el servidor Syslog centralizado en Red Hat Linux
  • 7 ejemplos de comandos de cola de Linux y cómo ayuda a monitorear los registros

Recurso :

Repositorio de GitHub de amoladora angular