Petiti - Et open source loganalyseværktøj til Linux SysAdmins


Petit er et gratis og open source Cygwin-system designet til hurtigt at analysere logfiler i virksomhedsmiljøer.

Det er beregnet til at følge Unix-filosofien om små, hurtige og nemme at bruge, og kan bruges til at inspicere/understøtter forskellige logfilformater inklusive syslog- og Apache-logfiler.

  • Understøtter til loganalyse.
  • Registrerer automatisk og understøtter forskellige logfilformater (f.eks. Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log og raw-logfiler).
  • Understøtter til hash af log.
  • Understøtter kommandolinjediagrammer.
  • Understøtter ordopdagelse og tæller med almindelige stopord i logdata.
  • Understøtter reduktion af logfiler for nem læsning.
  • Giver forskellige standardfiltre og specielt fremstillede filtre.
  • Understøtter fingeraftryk, der er nyttige til at identificere og ekskludere genstartssignaturer.
  • Tilbyder flere outputindstillinger til widescreenterminaler og tegnvalg og mange flere.

I denne vejledning viser vi dig, hvordan du installerer og bruger Petit-loganalyseværktøj i Linux til at hente nyttig information fra systemlogfiler på forskellige måder.

Sådan installeres og bruges Petit Log Analysis Tool i Linux

Petit kan installeres fra standardlagrene til Debian/Ubuntu og dets derivater ved hjælp af apt-pakkehåndteringsværktøj som vist nedenfor.

$ sudo apt install petit

På RHEL/CentOS/Fedora-systemer skal du downloade og installere .rpm-pakken som denne.

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

Når det er installeret, er det tid til at se Petit grundlæggende brug med eksempler ..

Dette er en ligetil petit-funktion - den opsummerer antallet af linjer, der er opdaget i en logfil. Udgangen består af antallet af lignende linjer, der findes i loggen, og hvordan gruppen generelt ser ud som vist nedenfor.

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

Brug af indstillingen --daemon hjælper med at udsende en grundlæggende rapport om linjer produceret af en bestemt systemdemon som vist i eksemplet nedenfor.

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

For at finde alt antallet af linjer genereret af en bestemt vært skal du bruge --host -flagget som vist nedenfor. Dette kan være nyttigt, når man analyserer logfiler til mere end en vært.

# petit --host /var/log/syslog

999:	tecmint

Denne funktion bruges til at søge og vise kvalitativt vigtige ord i en logfil.

# 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

Dette fungerer i et nøgle-/værdi-søjlediagramformat til sammenligning af distributioner side om side som vist i eksemplerne nedenfor.

For at tegne de første 60 sekunder i en syslog skal du bruge --sgrapg -flagget som dette.

# 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

Dette eksempel viser, hvordan man sporer og tegner et bestemt ord (fx "dhcp" i kommandoen nedenfor) i en logfil.

# 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

Hvis du vil vise eksempler for hver post i en logfil, skal du bruge indstillingen –allsamples som denne.

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

Vigtige Petit Files:

  • /var/lib/petit/fingerprint_library - bruges til at konstruere brugerdefinerede fingeraftryksfiler.
  • /var/lib/petit/fingerprints (samlede fingeraftryksfiler) - bruges til at filtrere genstart og andre begivenheder, der ikke anses for vigtige af systemadministratoren.
  • /var/lib/petit/filters/

For mere information og anvendelsesmuligheder, læs petit man-siden sådan.

# man petit
OR
# petit -h

Petit-hjemmeside: http://crunchtools.com/software/petit/

Læs også disse nyttige vejledninger vedrørende logovervågning og -styring i Linux:

  1. 4 gode open source-logovervågnings- og styringsværktøjer til Linux
  2. Sådan styres systemlogfiler (konfigurer, roter og importer til en database) i Linux
  3. Sådan opsættes og styres logrotation ved hjælp af Logrotate i Linux
  4. Overvåg serverlogfiler i realtid med “Log.io” -værktøjet på Linux

Du kan sende os eventuelle spørgsmål via feedbackformularen nedenfor eller måske dele med os information om nyttige loganalyseværktøjer til Linux derude, som du har hørt om eller er stødt på.