Petiti: una herramienta de análisis de registros de código abierto para administradores de sistemas Linux


Petit es un sistema Cygwin gratuito y de código abierto, diseñado para analizar rápidamente archivos de registro en entornos empresariales.

Está diseñado para seguir la filosofía de Unix de pequeños, rápidos y fáciles de usar, y se puede utilizar para inspeccionar/admitir diferentes formatos de archivos de registro, incluidos los archivos de registro syslog y Apache.

  • Soporta para el análisis de registros.
  • Detecta automáticamente y admite varios formatos de archivo de registro (por ejemplo, Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log y archivos de registro sin procesar).
  • Soporta log Hashing.
  • Admite gráficos de línea de comandos.
  • Admite el descubrimiento de palabras y cuenta con palabras vacías comunes dentro de los datos de registro.
  • Admite la reducción de registros para facilitar la lectura.
  • Proporciona varios filtros predeterminados y especialmente diseñados.
  • Admite huellas digitales, lo que resulta útil para identificar y excluir firmas de reinicio.
  • Ofrece varias opciones de salida para terminales de pantalla ancha y selección de personajes y muchas más.

En este tutorial, le mostraremos cómo instalar y usar la herramienta de análisis de registros Petit en Linux para extraer información útil de los registros del sistema de varias maneras.

Cómo instalar y usar la herramienta Petit Log Analysis en Linux

Petit se puede instalar desde los repositorios predeterminados de Debian/Ubuntu y sus derivados, utilizando la herramienta de administración de paquetes apt como se muestra a continuación.

$ sudo apt install petit

En los sistemas RHEL/CentOS/Fedora, descargue e instale el paquete .rpm como este.

# wget http://crunchtools.com/wp-content/files/petit/petit-current.rpm
# rpm -i petit-current.rpm

Una vez instalado, es hora de ver el uso básico de Petit con ejemplos.

Esta es una pequeña función sencilla: resume el número de líneas descubiertas en un archivo de registro. La salida se compone de la cantidad de líneas similares que se encuentran en el registro y el aspecto general del grupo, como se muestra a continuación.

# petit --hash /var/log/yum.log
OR
# petit --hash --fingerprint /var/log/messages
2:	Mar 18 14:35:54 Installed: libiec61883-1.2.0-4.el6.x86_64
2:	Mar 18 15:25:18 Installed: xorg-x11-drv-i740-1.3.4-11.el6.x86_64
1:	Dec 16 12:36:23 Installed: 5:mutt-1.5.20-7.20091214hg736b6a.el6.x86_64
1:	Dec 16 12:36:22 Installed: mailcap-2.1.31-2.el6.noarch
1:	Dec 16 12:40:49 Installed: mailx-12.4-8.el6_6.x86_64
1:	Dec 16 12:40:20 Installed: man-1.6f-32.el6.x86_64
1:	Dec 16 12:43:33 Installed: sysstat-9.0.4-31.el6.x86_64
1:	Dec 16 12:36:22 Installed: tokyocabinet-1.4.33-6.el6.x86_64
1:	Dec 16 12:36:22 Installed: urlview-0.9-7.el6.x86_64
1:	Dec 16 12:40:19 Installed: xz-4.999.9-0.5.beta.20091007git.el6.x86_64
1:	Dec 16 12:40:19 Installed: xz-lzma-compat-4.999.9-0.5.beta.20091007git.el6.x86_64
1:	Dec 16 12:43:31 Updated: 2:tar-1.23-15.el6_8.x86_64
1:	Dec 16 12:43:31 Updated: procps-3.2.8-36.el6.x86_64
1:	Feb 18 12:40:27 Erased: mysql
1:	Feb 18 12:40:28 Erased: mysql-libs
1:	Feb 18 12:40:22 Installed: MariaDB-client-10.1.21-1.el6.x86_64
1:	Feb 18 12:40:12 Installed: MariaDB-common-10.1.21-1.el6.x86_64
1:	Feb 18 12:40:10 Installed: MariaDB-compat-10.1.21-1.el6.x86_64
1:	Feb 18 12:54:50 Installed: apr-1.3.9-5.el6_2.x86_64
......

El uso de la opción --daemon ayuda a generar un informe básico de líneas producidas por un demonio del sistema en particular, como se muestra en el siguiente ejemplo.

# petit --hash --daemon /var/log/syslog
847:	vmunix:
48:	CRON[#]:
30:	dhclient[#]:
26:	nm-dispatcher:
14:	rtkit-daemon[#]:
6:	smartd[#]:
5:	ntfs-#g[#]:
4:	udisksd[#]:
3:	mdm[#]:
2:	ag[#]:
2:	syslogd
1:	cinnamon-killer-daemon:
1:	cinnamon-session[#]:
1:	pulseaudio[#]:

Para encontrar todo el número de líneas generadas por un host en particular, use la marca --host como se muestra a continuación. Esto puede resultar útil al analizar archivos de registro de más de un host.

# petit --host /var/log/syslog

999:	tecmint

Esta función se utiliza para buscar y mostrar palabras cualitativamente significativas en un archivo de registro.

# petit --wordcount /var/log/syslog
845:	[
97:	[mem
75:	ACPI:
64:	pci
62:	debian-sa#
62:	to
51:	USB
50:	of
49:	device
47:	&&
47:	(root)
47:	CMD
47:	usb
41:	systemd#
36:	ACPI
32:	>
32:	driver
32:	reserved
31:	(comm#
31:	-v

Esto funciona en un formato de gráfico de barras de clave/valor, para la comparación lado a lado de distribuciones como se muestra en los ejemplos a continuación.

Para graficar los primeros 60 segundos en un syslog, use el indicador --sgrapg como este.

# petit --sgraph /var/log/syslog
#                                                           
#                                                           
#                                                           
#                                                           
#                                                           
############################################################
59                            29                           58 

Start Time:	2017-06-08 09:45:59 		Minimum Value: 0
End Time:	2017-06-08 09:46:58 		Maximum Value: 1
Duration:	60 seconds 			Scale: 0.166666666667

Este ejemplo muestra cómo rastrear y graficar una palabra específica (por ejemplo, "dhcp" en el comando a continuación) en un archivo de registro.

# cat /var/log/messages | grep error | petit --mgraph
#                        #                          #       
#                        #                          #       
#                        #                          #       
#                        #                          #       
#                        #                          #       
############################################################
10                            40                           09 

Start Time:	2017-06-08 10:10:00 		Minimum Value: 0
End Time:	2017-06-08 11:09:00 		Maximum Value: 2
Duration:	60 minutes 			Scale: 0.333333333333

Además, para mostrar muestras para cada entrada en un archivo de registro, use la opción –allsamples como esta.

# petit --hash --allsample /var/log/syslog

Pequeños archivos importantes:

  • /var/lib/petit/fingerprint_library: se utiliza para construir archivos de huellas digitales personalizados.
  • /var/lib/petit/fingerprints (archivos agregados de huellas digitales): se utiliza para filtrar reinicios y otros eventos que el administrador del sistema no considera vitales.
  • /var/lib/petit/filtros/

Para obtener más información y opciones de uso, lea la página de petit man como esta.

# man petit
OR
# petit -h

Pequeña página de inicio: http://crunchtools.com/software/petit/

Lea también estas guías útiles sobre la supervisión y la gestión de registros en Linux:

  1. 4 buenas herramientas de gestión y supervisión de registros de código abierto para Linux
  2. Cómo administrar los registros del sistema (configurar, rotar e importar a la base de datos) en Linux
  3. Cómo configurar y administrar la rotación de registros usando Logrotate en Linux
  4. Supervise los registros del servidor en tiempo real con la herramienta "Log.io" en Linux

Puede enviarnos cualquier consulta a través del formulario de comentarios a continuación o quizás compartir con nosotros información sobre herramientas útiles de análisis de registros para Linux, de las que haya oído hablar o que haya conocido.