Pesquisa de site

Petiti - uma ferramenta de análise de log de código aberto para administradores de sistemas Linux


Petit é uma ferramenta de análise de log baseada em linha de comando gratuita e de código aberto para sistemas Unix e Cygwin, projetada para analisar rapidamente arquivos de log em ambientes corporativos.

O objetivo é seguir a filosofia Unix de pequeno, rápido e fácil de usar, e pode ser usado para inspecionar/suportar diferentes formatos de arquivo de log, incluindo arquivos de log syslog e Apache.

Pequenos recursos

  • Suporta análise de log.
  • Detecta automaticamente e suporta vários formatos de arquivo de log (por exemplo, Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log e arquivos de log brutos).
  • Suporta hash de log.
  • Suporta gráficos de linha de comando.
  • Suporta descoberta de palavras e contagem de palavras irrelevantes comuns nos dados de log.
  • Suporta redução de log para facilitar a leitura.
  • Fornece vários filtros padrão e especialmente criados.
  • Suporta impressões digitais, úteis para identificar e excluir assinaturas de reinicialização.
  • Oferece diversas opções de saída para terminais de tela ampla e seleção de caracteres e muito mais.

Neste tutorial, mostraremos como instalar e usar a ferramenta de análise de log Petit no Linux para extrair informações úteis dos logs do sistema de várias maneiras.

Como instalar e usar a ferramenta Petit Log Analysis no Linux

Petit pode ser instalado a partir dos repositórios padrão do Debian/Ubuntu e seus derivados, usando a ferramenta de gerenciamento de pacotes apt conforme mostrado abaixo.

sudo apt install petit

Em sistemas RHEL/CentOS/Fedora, baixe e instale o pacote .rpm como este.

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

Depois de instalado, é hora de ver o uso básico do Petit com exemplos.

Hashing de um arquivo de log

Esta é uma pequena função simples – ela resume o número de linhas descobertas em um arquivo de log. Sua saída compreende o número de linhas semelhantes encontradas no log e a aparência geral do grupo, conforme mostrado abaixo.

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
......

Encontrando o número de linhas produzidas por um daemon

Usar a opção --daemon ajuda a gerar um relatório básico de linhas produzidas por um daemon de sistema específico, conforme mostrado no exemplo abaixo.

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[#]:

Encontrando o número de linhas produzidas por um host

Para encontrar todo o número de linhas geradas por um host específico, use o sinalizador --host conforme mostrado abaixo. Isso pode ser útil ao analisar arquivos de log de mais de um host.

petit --host /var/log/syslog

999:	tecmint

Executando uma contagem de palavras em um arquivo de log

Esta função é usada para pesquisar e exibir palavras qualitativamente significativas em um arquivo de log.

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

Representando graficamente um arquivo de log

Isso funciona em um formato de gráfico de barras de chave/valor, para comparação lado a lado de distribuições, conforme mostrado nos exemplos abaixo.

Para representar graficamente os primeiros 60 segundos em um syslog, use o sinalizador --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

Rastreando palavras específicas em um arquivo de log

Este exemplo mostra como rastrear e representar graficamente uma palavra específica (por exemplo, “dhcp ” no comando abaixo) em um arquivo de log.

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

Além disso, para mostrar amostras para cada entrada em um arquivo de log, use a opção –allsamples como esta.

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

Arquivos Petit Importantes:

  • /var/lib/petit/fingerprint_library – usado para construir arquivos de impressão digital personalizados.
  • /var/lib/petit/fingerprints (arquivos agregados de impressões digitais) – usado para filtrar reinicializações e outros eventos não considerados vitais pelo administrador do sistema.
  • /var/lib/petit/filtros/

Para mais informações e opções de uso, leia a página de manual petit como esta.

man petit
OR
petit -h

Página inicial do Petit: http://crunchtools.com/software/petit/

Leia também estes guias úteis sobre monitoramento e gerenciamento de log no Linux:

  1. 4 boas ferramentas de monitoramento e gerenciamento de log de código aberto para Linux
  2. Como gerenciar logs do sistema (configurar, girar e importar para banco de dados) no Linux
  3. Como configurar e gerenciar a rotação de log usando Logrotate no Linux
  4. Monitore os logs do servidor em tempo real com a ferramenta “Log.io” no Linux

Você pode nos enviar qualquer dúvida por meio do formulário de feedback abaixo ou talvez compartilhar conosco informações sobre ferramentas úteis de análise de log para Linux que você já ouviu falar ou encontrou.