Petiti - odprtokodno orodje za analizo dnevnika za Linux SysAdmins


Petit je brezplačen in odprtokodni sistem Cygwin, zasnovan za hitro analizo dnevniških datotek v okolju podjetja.

Zasnovan je tako, da sledi Unixovi filozofiji majhne hitrosti in enostavnosti uporabe, uporablja pa se lahko za pregled/podporo različnih formatov datotek dnevnika, vključno s datotekami syslog in Apache.

  • Podpore za analizo dnevnika.
  • Samodejno zazna in podpira različne formate dnevniških datotek (npr. Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log in surove dnevniške datoteke).
  • Podpora za razprševanje dnevnikov.
  • Podpira grafikoniranje ukazne vrstice.
  • Podpira odkrivanje besed in štetje s pogostimi zaklepnimi besedami v podatkih dnevnika.
  • Podpora za zmanjšanje dnevnika za enostavno branje.
  • Ponuja različne privzete in posebej izdelane filtre.
  • Podpira prstne odtise, uporabne pri prepoznavanju in izključevanju podpisov za ponovni zagon.
  • Ponuja več izhodnih možnosti za širokozaslonske terminale in izbiro znakov ter še veliko več.

V tej vadnici vam bomo pokazali, kako namestite in uporabite orodje za analizo dnevnikov Petit v Linuxu, da na različne načine iz sistemskih dnevnikov izvlečete koristne informacije.

Kako namestiti in uporabljati orodje Petit Log Analysis v Linuxu

Petit lahko namestite iz privzetih repozitorijev Debian/Ubuntu in njegovih izpeljank z uporabo orodja za upravljanje apt paketov, kot je prikazano spodaj.

$ sudo apt install petit

V sistemih RHEL/CentOS/Fedora prenesite in namestite paket .rpm, kot je ta.

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

Ko je nameščen, je čas, da si ogledate osnovno uporabo Petit s primeri.

To je preprosta majhna funkcija - povzame število vrstic, odkritih v dnevniški datoteki. Rezultat obsega število podobnih vrstic v dnevniku in kako je bila skupina na splošno videti, kot je prikazano spodaj.

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

Z možnostjo --daemon lahko prikažete osnovno poročilo o vrsticah, ki jih ustvari določen sistemski demon, kot je prikazano v spodnjem primeru.

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

Če želite najti vse število vrstic, ki jih ustvari določen gostitelj, uporabite zastavico --host , kot je prikazano spodaj. To je lahko koristno pri analiziranju dnevniških datotek za več kot enega gostitelja.

# petit --host /var/log/syslog

999:	tecmint

Ta funkcija se uporablja za iskanje in prikaz kakovostno pomembnih besed v datoteki dnevnika.

# 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

To deluje v obliki grafikona vrstice ključ/vrednost za primerjavo porazdelitev, kot je prikazano v spodnjih primerih.

Če želite grafično prikazati prvih 60 sekund v sistemskem dnevniku, uporabite zastavico --sgrapg , kot je ta.

# 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

Ta primer prikazuje, kako slediti in graficirati določeno besedo (npr.\"Dhcp" v spodnjem ukazu) v dnevniški datoteki.

# 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

Poleg tega za prikaz vzorcev za vsak vnos v dnevniški datoteki uporabite možnost –allsamples, kot je ta.

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

Pomembne datoteke Petit:

  • /var/lib/petit/fingerprint_library - uporablja se za izdelavo datotek s prstnimi odtisi po meri.
  • /var/lib/petit/fingerprints (zbirne datoteke prstnih odtisov) - uporablja se za filtriranje ponovnih zagonov in drugih dogodkov, ki jih skrbnik sistema ne šteje za življenjsko pomembne.
  • /var/lib/petit/filters/

Za več informacij in možnosti uporabe preberite tako majhno stran.

# man petit
OR
# petit -h

Domača stran Petit: http://crunchtools.com/software/petit/

Preberite tudi te uporabne vodnike o spremljanju in upravljanju dnevnikov v Linuxu:

  1. 4 dobra odprtokodna orodja za spremljanje in upravljanje dnevnikov za Linux
  2. Kako upravljati sistemske dnevnike (konfigurirati, zasukati in uvoziti v bazo podatkov) v Linuxu
  3. Kako nastaviti in upravljati sukanje dnevnika z uporabo Logrotate v Linuxu
  4. Spremljajte dnevniške strežnike v realnem času z orodjem\"Log.io" v Linuxu

Lahko nam pošljete kakršna koli vprašanja preko spodnjega obrazca za povratne informacije ali pa nam z nami delite informacije o uporabnih orodjih za analizo dnevnikov za Linux, za katere ste že slišali ali naleteli.