Petiti - avoimen lähdekoodin lokianalyysityökalu Linux SysAdminsille


Petit on ilmainen ja avoimen lähdekoodin komentorivipohjainen lokianalyysityökalu Unix-tyyppisille ja Cygwin-järjestelmille, joka on suunniteltu analysoimaan nopeasti lokitiedostoja yritysympäristöissä.

Se on tarkoitettu noudattamaan Unix-filosofiaa pienestä nopeasta ja helppokäyttöisyydestä, ja sitä voidaan käyttää erilaisten lokitiedostomuotojen tarkasteluun/tukeen, mukaan lukien syslog- ja Apache-lokitiedostot.

Petit-ominaisuudet

  • Tukee lokianalyysiä.
  • Tunnistaa ja tukee automaattisesti erilaisia lokitiedostomuotoja (esim. Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log ja raakalokitiedostot).
  • Tukee lokin hajautustoimintoa.
  • Tukee komentorivigrafiikkaa.
  • Tukee sanojen löytämistä ja laskemista yleisillä lopetussanoilla lokitiedoissa.
  • Tukee lokin pienentämistä helpottamaan lukemista.
  • Tarjoaa erilaisia oletus- ja erikoissuodattimia.
  • Tukee sormenjälkiä, hyödyllinen uudelleenkäynnistysallekirjoitusten tunnistamisessa ja poissulkemisessa.
  • Tarjoaa useita lähtövaihtoehtoja laajakuvaliittimille ja merkkien valinnalle ja monille muille.

Tässä opetusohjelmassa näytämme, kuinka voit asentaa Petit-lokianalyysityökalun ja käyttää sitä Linuxissa hyödyllisten tietojen hakemiseen järjestelmälokeista eri tavoin.

Petit Log Analysis Toolin asentaminen ja käyttäminen Linuxissa

Petit voidaan asentaa Debian/Ubuntun ja sen johdannaisten oletusvarastoista käyttämällä apt paketinhallintatyökalua alla kuvatulla tavalla.

sudo apt install petit

Lataa ja asenna .rpm-paketti tällä tavalla RHEL/CentOS/Fedora-järjestelmiin.

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

Kun se on asennettu, on aika tutustua Petit-peruskäyttöön esimerkein.

Lokitiedoston tiivistäminen

Tämä on suoraviivainen petit-toiminto – se summaa lokitiedostosta löydettyjen rivien määrän. Sen tulos koostuu lokista löytyneiden samankaltaisten rivien määrästä ja siitä, miltä ryhmä yleisesti ottaen näytti alla olevan kuvan mukaisesti.

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

Daemonin tuottamien rivien lukumäärän löytäminen

--daemon-valinnan käyttäminen auttaa tulostamaan perusraportin tietyn järjestelmädaemonin tuottamista riveistä alla olevan esimerkin mukaisesti.

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

Isännän tuottamien linjojen määrän löytäminen

Jos haluat löytää tietyn isännän luomien rivien määrän, käytä --host-lippua alla olevan kuvan mukaisesti. Tästä voi olla hyötyä analysoitaessa useamman kuin yhden isännän lokitiedostoja.

petit --host /var/log/syslog

999:	tecmint

Sanojen laskeminen lokitiedostossa

Tätä toimintoa käytetään etsimään ja näyttämään laadullisesti merkittäviä sanoja lokitiedostossa.

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

Lokitiedoston piirtäminen

Tämä toimii avain/arvo-palkkikaaviomuodossa jakaumien rinnakkaisvertailua varten alla olevien esimerkkien mukaisesti.

Kun haluat piirtää syslogin ensimmäiset 60 sekuntia, käytä --sgrapg-lippua näin.

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

Tiettyjen sanojen seuranta lokitiedostossa

Tämä esimerkki näyttää, kuinka seurata ja piirtää tietty sana (esim. "dhcp" alla olevassa komennossa) lokitiedostossa.

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

Lisäksi voit näyttää näytteitä jokaisesta lokitiedoston merkinnästä käyttämällä –allsamples-vaihtoehtoa näin.

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

Tärkeät Petit-tiedostot:

  • /var/lib/petit/fingerprint_library – käytetään mukautettujen sormenjälkitiedostojen luomiseen.
  • /var/lib/petit/fingerprints (kootut sormenjälkitiedostot) – käytetään suodattamaan pois uudelleenkäynnistykset ja muut tapahtumat, joita järjestelmänvalvoja ei pidä välttämättöminä.
  • /var/lib/petit/filters/

Lisätietoja ja käyttövaihtoehtoja saat lukemalla petit-man-sivun näin.

man petit
OR
petit -h

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

Lue myös nämä hyödylliset oppaat, jotka koskevat lokien seurantaa ja hallintaa Linuxissa:

  1. 4 Hyviä avoimen lähdekoodin lokien seuranta- ja hallintatyökaluja Linuxille
  2. Kuinka hallita järjestelmälokeja (määrittää, kiertää ja tuoda tietokantaan) Linuxissa
  3. Kuinka määrittää ja hallita lokin kiertoa Logrotatella Linuxissa
  4. Tarkkaile palvelimen lokeja reaaliajassa "Log.io" -työkalulla Linuxissa

Voit lähettää meille kysymyksiä alla olevan palautelomakkeen kautta tai kenties jakaa meille tietoja hyödyllisistä Linuxin lokianalyysityökaluista, joista olet kuullut tai törmännyt.