Petiti - Un instrument de analiză a jurnalelor cu sursă deschisă pentru administratorii de sistem Linux


Petit este un sistem Cygwin gratuit și cu sursă deschisă, conceput pentru a analiza rapid fișierele jurnal în mediile de întreprindere.

Este destinat să urmeze filozofia Unix de mic, rapid și ușor de utilizat și poate fi folosit pentru a inspecta/suporta diferite formate de fișiere jurnal, inclusiv fișiere jurnal Syslog și Apache.

Caracteristici mici

  • Acceptă analiza jurnalelor.
  • Detectează automat și acceptă diferite formate de fișiere jurnal (de exemplu, Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log și fișiere jurnal brute).
  • Compatibil pentru log Hashing .
  • Acceptă reprezentarea grafică a liniei de comandă.
  • Acceptă descoperirea cuvintelor și numără cu cuvinte oprite obișnuite în datele de jurnal.
  • Acceptă reducerea jurnalelor pentru o citire ușoară.
  • Oferă diverse filtre prestabilite și special create.
  • Acceptă amprentele digitale, utile pentru identificarea și excluderea semnăturilor de repornire.
  • Oferă mai multe opțiuni de ieșire pentru terminale cu ecran lat și selecție de caractere și multe altele.

În acest tutorial, vă vom arăta cum să instalați și să utilizați instrumentul de analiză a jurnalelor Petit în Linux pentru a extrage informații utile din jurnalele de sistem în diferite moduri.

Cum se instalează și se utilizează instrumentul de analiză Petit Log în Linux

Petit poate fi instalat din depozitele implicite ale Debian/Ubuntu și derivatele sale, folosind instrumentul de gestionare a pachetelor apt, așa cum se arată mai jos.

$ sudo apt install petit

Pe sistemele RHEL/CentOS/Fedora, descărcați și instalați pachetul .rpm astfel.

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

Odată instalat, este timpul să vedeți utilizarea de bază Petit cu exemple..

Hashing un fișier jurnal

Aceasta este o funcție petit simplă - însumează numărul de linii descoperite într-un fișier jurnal. Ieșirea sa cuprinde numărul de linii similare găsite în jurnal și cum arăta grupul, așa cum se arată mai jos.

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

Găsirea numărului de linii produse de un demon

Folosirea opțiunii --daemon ajută la obținerea unui raport de bază al liniilor produse de un anumit demon de sistem, așa cum se arată în exemplul de mai jos.

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

Găsirea numărului de linii produse de o gazdă

Pentru a găsi tot numărul de linii generate de o anumită gazdă, utilizați indicatorul --host așa cum se arată mai jos. Acest lucru poate fi util atunci când se analizează fișierele jurnal pentru mai multe gazde.

# petit --host /var/log/syslog

999:	tecmint

Efectuarea unei numărări de cuvinte într-un fișier jurnal

Această funcție este utilizată pentru a căuta și afișa cuvinte semnificative calitativ într-un fișier jurnal.

# 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

Reprezentarea grafică a unui fișier jurnal

Acesta funcționează într-un format de diagramă cu bare cheie/valoare, pentru compararea cot la cot a distribuțiilor, așa cum se arată în exemplele de mai jos.

Pentru a reprezenta grafic primele 60 de secunde dintr-un syslog, utilizați marcatorul --sgrapg astfel.

# 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

Urmărirea anumitor cuvinte într-un fișier jurnal

Acest exemplu arată cum să urmăriți și să reprezentați grafic un anumit cuvânt (de exemplu, \dhcp” în comanda de mai jos) într-un fișier jurnal.

# 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

În plus, pentru a afișa mostre pentru fiecare intrare dintr-un fișier jurnal, utilizați opțiunea –allsamples astfel.

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

Fișiere mici importante:

  • /var/lib/petit/fingerprint_library – folosit pentru a construi fișiere personalizate de amprente.
  • /var/lib/petit/fingerprints (fișiere de amprente agregate) – folosit pentru a filtra repornirile și alte evenimente care nu sunt considerate vitale de administratorul de sistem.
  • /var/lib/petit/filters/

Pentru mai multe informații și opțiuni de utilizare, citiți pagina de manual petit ca aceasta.

# man petit
OR
# petit -h

Pagina de pornire Petit: http://crunchtools.com/software/petit/

Citiți și aceste ghiduri utile privind monitorizarea și gestionarea jurnalelor în Linux:

  1. 4 instrumente bune de monitorizare și gestionare a jurnalelor open source pentru Linux
  2. Cum să gestionați jurnalele de sistem (configurați, rotiți și importați în baza de date) în Linux
  3. Cum să configurați și să gestionați rotația jurnalelor folosind Logrotate în Linux
  4. Monitorizați serverul conectat în timp real cu instrumentul „Log.io” pe Linux

Ne puteți trimite orice întrebări prin formularul de feedback de mai jos sau poate ne puteți împărtăși informații despre instrumentele utile de analiză a jurnalelor pentru Linux, despre care ați auzit sau pe care le-ați întâlnit.