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:
- 4 Dobré nástroje pro monitorování a správu protokolů s otevřeným zdrojovým kódem pro Linux
- Jak spravovat systémové protokoly (konfigurovat, otáčet a importovat do databáze) v Linuxu
- Jak nastavit a spravovat rotaci protokolu pomocí Logrotate v systému Linux
- 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.