Vyhledávání na webu

Petiti – otevřený zdrojový nástroj pro analýzu protokolů pro Linux SysAdmins


Petit je bezplatný a open source nástroj pro analýzu protokolů založený na příkazovém řádku pro systémy Unix i Cygwin, navržený pro rychlou analýzu souborů protokolů v podnikových prostředích.

Je zamýšlen v souladu s Unixovou filozofií malých, rychlých a snadno použitelných a lze jej použít ke kontrole/podporě různých formátů souborů protokolu, včetně souborů protokolů syslog a Apache.

Funkce Petit

  • Podporuje analýzu protokolů.
  • Automaticky detekuje a podporuje různé formáty souborů protokolu (např. Syslog, Apache Access, Apache Error, Snort Log, Linux Secure Log a raw log soubory).
  • Podporuje hašování logů.
  • Podporuje grafy z příkazového řádku.
  • Podporuje vyhledávání slov a počítání s běžnými stop-slovy v rámci dat protokolu.
  • Podporuje redukci log pro snadné čtení.
  • Poskytuje různé výchozí a speciálně vyrobené filtry.
  • Podporuje otisky prstů, užitečné při identifikaci a vyloučení podpisů při restartu.
  • Nabízí několik možností výstupu pro širokoúhlé terminály a výběr znaků a mnoho dalších.

V tomto tutoriálu vám ukážeme, jak nainstalovat a používat nástroj pro analýzu protokolů Petit v systému Linux k získávání užitečných informací ze systémových protokolů různými způsoby.

Jak nainstalovat a používat Petit Log Analysis Tool v Linuxu

Petit lze nainstalovat z výchozích repozitářů Debian/Ubuntu a jeho derivátů pomocí nástroje pro správu balíčků apt, jak je uvedeno níže.

sudo apt install petit

Na systémech RHEL/CentOS/Fedora si stáhněte a nainstalujte balíček .rpm takto.

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

Po instalaci je čas podívat se na základní použití Petit s příklady.

Hašování souboru protokolu

Jedná se o přímočarou funkci petit – sčítá počet řádků objevených v souboru protokolu. Jeho výstup se skládá z počtu podobných řádků nalezených v protokolu a toho, jak skupina obecně vypadala, jak je uvedeno níže.

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

Zjištění počtu řádků vytvořených démonem

Použití volby --daemon pomáhá k výstupu základní sestavy řádků vytvořených konkrétním systémovým démonem, jak je znázorněno v příkladu níže.

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

Zjištění počtu řádků vytvořených hostitelem

Chcete-li zjistit celkový počet řádků generovaných konkrétním hostitelem, použijte příznak --host, jak je znázorněno níže. To může být užitečné při analýze souborů protokolu pro více než jednoho hostitele.

petit --host /var/log/syslog

999:	tecmint

Provádění počítání slov v souboru protokolu

Tato funkce se používá k vyhledávání a zobrazení kvalitativně významných slov v souboru protokolu.

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

Vytvoření grafu souboru protokolu

Funguje to ve formátu sloupcového grafu klíč/hodnota pro porovnání distribucí vedle sebe, jak je znázorněno v příkladech níže.

Chcete-li zobrazit graf prvních 60 sekund v syslogu, použijte příznak --sgrapg, jako je tento.

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

Sledování konkrétních slov v souboru protokolu

Tento příklad ukazuje, jak sledovat a graficky znázorňovat konkrétní slovo (např. „dhcp “ v příkazu níže) v souboru protokolu.

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

Chcete-li navíc zobrazit vzorky pro každou položku v souboru protokolu, použijte možnost –allsamples, jako je tato.

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

Důležité soubory Petit:

  • /var/lib/petit/fingerprint_library – používá se k vytváření vlastních souborů otisků prstů.
  • /var/lib/petit/fingerprints (souhrnné soubory otisků prstů) – používá se k odfiltrování restartů a dalších událostí, které správce systému nepovažuje za důležité.
  • /var/lib/petit/filters/

Pro další informace a možnosti použití si přečtěte manuálovou stránku petit, jako je tato.

man petit
OR
petit -h

Domovská stránka Petit: http://crunchtools.com/software/petit/

Přečtěte si také tyto užitečné příručky týkající se monitorování a správy protokolů v systému Linux:

  1. 4 Dobré nástroje pro monitorování a správu protokolů s otevřeným zdrojovým kódem pro Linux
  2. Jak spravovat systémové protokoly (konfigurovat, otáčet a importovat do databáze) v Linuxu
  3. Jak nastavit a spravovat rotaci protokolu pomocí Logrotate v systému Linux
  4. Monitorujte protokoly serveru v reálném čase pomocí nástroje „Log.io“ v systému Linux

Můžete nám poslat jakékoli dotazy prostřednictvím formuláře pro zpětnou vazbu níže nebo se s námi podělit o informace o užitečných nástrojích pro analýzu protokolů pro Linux, o kterých jste slyšeli nebo se s nimi setkali.