Petiti – atvirojo kodo žurnalų analizės įrankis, skirtas Linux SysAdmins


Petit yra nemokamas ir atvirojo kodo komandų eilutės pagrindu sukurtas žurnalų analizės įrankis, skirtas Unix ir Cygwin sistemoms, skirtas greitai analizuoti žurnalo failus įmonės aplinkoje.

Jis skirtas laikytis Unix filosofijos, kad mažas greitas ir paprastas naudoti, ir gali būti naudojamas tikrinti/palaikyti įvairius žurnalo failų formatus, įskaitant syslog ir Apache žurnalo failus.

Mažos savybės

  • Palaiko žurnalų analizę.
  • Automatiškai aptinka ir palaiko įvairius žurnalo failų formatus (pvz., Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log ir neapdorotus žurnalo failus).
  • Žurnalų maišos palaikymas.
  • Palaiko komandų eilutės grafikus.
  • Palaiko žodžių atradimą ir skaičiavimą su įprastais sustabdymo žodžiais žurnalo duomenyse.
  • Palaiko žurnalo mažinimą, kad būtų lengviau skaityti.
  • Pateikiami įvairūs numatytieji ir specialiai pagaminti filtrai.
  • Palaiko pirštų atspaudus, naudingus identifikuojant ir neįtraukiant perkrovimo parašų.
  • Siūlo keletą išvesties parinkčių plačiaekraniams terminalams ir simbolių pasirinkimui bei daug daugiau.

Šioje mokymo programoje parodysime, kaip įdiegti ir naudoti Petit žurnalų analizės įrankį sistemoje „Linux“, kad įvairiais būdais iš sistemos žurnalų gautumėte naudingos informacijos.

Kaip įdiegti ir naudoti „Petit Log Analysis Tool“ sistemoje „Linux“.

Petit galima įdiegti iš numatytųjų Debian/Ubuntu ir jo išvestinių produktų saugyklų, naudojant apt paketų valdymo įrankį, kaip parodyta toliau.

sudo apt install petit

Sistemose RHEL/CentOS/Fedora atsisiųskite ir įdiekite .rpm paketą kaip šis.

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

Įdiegus laikas pamatyti pagrindinį Petit naudojimą su pavyzdžiais.

Žurnalo failo maišos nustatymas

Tai nesudėtinga mažoji funkcija – ji apibendrina žurnalo faile aptiktų eilučių skaičių. Jo išvestį sudaro žurnale rastų panašių eilučių skaičius ir tai, kaip grupė apskritai atrodė, kaip parodyta toliau.

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

Demono sukurtų eilučių skaičiaus radimas

Parinkties ---daemon naudojimas padeda išvesti pagrindinę konkretaus sistemos demono sukurtų eilučių ataskaitą, kaip parodyta toliau pateiktame pavyzdyje.

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

Pagrindinio kompiuterio sukurtų linijų skaičiaus radimas

Norėdami rasti visą konkretaus pagrindinio kompiuterio sugeneruotų eilučių skaičių, naudokite vėliavėlę --host, kaip parodyta toliau. Tai gali būti naudinga analizuojant daugiau nei vieno pagrindinio kompiuterio žurnalo failus.

petit --host /var/log/syslog

999:	tecmint

Žodžių skaičiavimas žurnalo faile

Ši funkcija naudojama norint ieškoti ir rodyti kokybiškai reikšmingus žodžius žurnalo faile.

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

Žurnalo failo grafikas

Tai veikia rakto/reikšmių juostos diagramos formatu, kad būtų galima palyginti paskirstymus, kaip parodyta toliau pateiktuose pavyzdžiuose.

Norėdami diagramoje pavaizduoti pirmąsias 60 sekundžių sistemos žurnale, naudokite žymą --sgrapg kaip ši.

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

Konkrečių žodžių sekimas žurnalo faile

Šiame pavyzdyje parodyta, kaip sekti ir pavaizduoti konkretų žodį (pvz., „dhcp“ toliau pateiktoje komandoje) žurnalo faile.

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

Be to, norėdami rodyti kiekvieno įrašo pavyzdžius žurnalo faile, naudokite parinktį –visi pavyzdžiai, kaip ši.

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

Svarbūs smulkūs failai:

  • /var/lib/petit/fingerprint_library – naudojama tinkintų kontrolinių kodų failams kurti.
  • /var/lib/petit/fingerprints (suvestiniai pirštų atspaudų failai) – naudojami iš naujo paleistiems ir kitiems įvykiams, kurių sistemos administratorius nelaiko gyvybiškai svarbiais, filtruoti.
  • /var/lib/petit/filters/

Norėdami gauti daugiau informacijos ir naudojimo parinkčių, skaitykite petit vadovo puslapį, kaip šis.

man petit
OR
petit -h

Petit pagrindinis puslapis: http://crunchtools.com/software/petit/

Taip pat perskaitykite šiuos naudingus žurnalų stebėjimo ir valdymo „Linux“ vadovus:

  1. 4 Geri atvirojo kodo žurnalų stebėjimo ir valdymo įrankiai, skirti Linux
  2. Kaip valdyti sistemos žurnalus (konfigūruoti, pasukti ir importuoti į duomenų bazę) sistemoje „Linux“.
  3. Kaip nustatyti ir valdyti žurnalo sukimąsi naudojant „Logrotate“ sistemoje „Linux“.
  4. Stebėkite serverio žurnalus realiuoju laiku naudodami „Log.io“ įrankį sistemoje „Linux“.

Galite atsiųsti mums bet kokias užklausas naudodami toliau pateiktą atsiliepimų formą arba galbūt pasidalinti su mumis informacija apie naudingus žurnalų analizės įrankius, skirtus „Linux“, apie kuriuos girdėjote arba su kuriais susidūrėte.