Petiti - Et verktøy for åpen kildekodelogganalyse for Linux SysAdmins


Petit er et gratis og åpen kildekode Cygwin-system, designet for raskt å analysere loggfiler i bedriftsmiljøer.

Den er ment å følge Unix-filosofien om små raske og enkle å bruke, og kan brukes til å inspisere/støtte forskjellige loggfilformater inkludert syslog og Apache-loggfiler.

  • Støtter logganalyse.
  • Automatisk oppdager og støtter ulike loggfilformater (f.eks. Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log og råloggfiler).
  • Støtter logghashing .
  • Støtter kommandolinjegrafering.
  • Støtter ordoppdagelse og telling med vanlige stoppord i loggdata.
  • Støtter loggreduksjon for enkel lesing.
  • Gir ulike standard og spesiallagde filtre.
  • Støtter fingeravtrykk, nyttig for å identifisere og ekskludere omstartssignaturer.
  • Tilbyr flere utgangsalternativer for widescreen-terminaler og tegnvalg og mange flere.

I denne opplæringen vil vi vise deg hvordan du installerer og bruker Petit-logganalyseverktøyet i Linux for å trekke ut nyttig informasjon fra systemloggene på forskjellige måter.

Hvordan installere og bruke Petit Log Analysis Tool i Linux

Petit kan installeres fra standardlagrene til Debian/Ubuntu og dets derivater, ved å bruke apt pakkebehandlingsverktøy som vist nedenfor.

$ sudo apt install petit

På RHEL/CentOS/Fedora-systemer, last ned og installer .rpm-pakken slik.

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

Når den er installert, er det på tide å se Petit grunnleggende bruk med eksempler.

Dette er en enkel petit-funksjon – den oppsummerer antall linjer som er oppdaget i en loggfil. Dens utdata består av antall lignende linjer funnet i loggen og hvordan gruppen stort sett så ut 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
......

Å bruke --daemon-alternativet hjelper til med å skrive ut en grunnleggende rapport med linjer produsert av 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 å finne alt antall linjer generert av en bestemt vert, bruk --host-flagget som vist nedenfor. Dette kan være nyttig når du analyserer loggfiler for mer enn én vert.

# petit --host /var/log/syslog

999:	tecmint

Denne funksjonen brukes til å søke og vise kvalitativt signifikante ord i en loggfil.

# 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økkel/verdi søylediagramformat, for side ved side sammenligning av distribusjoner som vist i eksemplene nedenfor.

For å tegne de første 60 sekundene i en syslog, bruk --sgrapg-flagget slik.

# 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 eksemplet viser hvordan du sporer og grafer et spesifikt ord (f.eks. \dhcp i kommandoen nedenfor) i en loggfil.

# 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

I tillegg, for å vise eksempler for hver oppføring i en loggfil, bruk –allsamples-alternativet som dette.

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

Viktige Petit-filer:

  • /var/lib/petit/fingerprint_library – brukes til å lage tilpassede fingeravtrykkfiler.
  • /var/lib/petit/fingerprints (samlede fingeravtrykkfiler) – brukes til å filtrere ut omstarter og andre hendelser som ikke anses som viktige av systemadministratoren.
  • /var/lib/petit/filters/

For mer informasjon og bruksalternativer, les petit man-siden som dette.

# man petit
OR
# petit -h

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

Les også gjennom disse nyttige veiledningene om loggovervåking og administrasjon i Linux:

  1. 4 gode overvåkings- og administrasjonsverktøy for åpen kildekode for Linux
  2. Hvordan administrere systemlogger (konfigurere, rotere og importere til databasen) i Linux
  3. Hvordan sette opp og administrere loggrotasjon ved å bruke Logrotate i Linux
  4. Monitorserver logger på sanntid med \Log.io-verktøyet på Linux

Du kan sende oss alle spørsmål via tilbakemeldingsskjemaet nedenfor eller kanskje dele informasjon med oss om nyttige logganalyseverktøy for Linux der ute, som du har hørt om eller kommet over.