Petiti - Linux SysAdmins için Açık Kaynaklı Bir Günlük Analiz Aracı


Petit, kurumsal ortamlardaki günlük dosyalarını hızlı bir şekilde analiz etmek için tasarlanmış, Unix benzeri ve Cygwin sistemlerine yönelik ücretsiz ve açık kaynaklı bir komut satırı tabanlı günlük analiz aracıdır.

Unix'in küçük, hızlı ve kullanımı kolay felsefesini takip etmesi amaçlanmıştır ve syslog ve Apache günlük dosyaları dahil olmak üzere farklı günlük dosyası formatlarını incelemek/desteklemek için kullanılabilir.

Küçük Özellikler

  • Günlük analizini destekler.
  • Çeşitli günlük dosyası formatlarını (örn. Syslog, Apache Erişimi, Apache Hatası, Snort Log, Linux Secure Log ve ham günlük dosyaları) otomatik olarak algılar ve destekler.
  • Günlük Hashing'i destekler.
  • Komut satırı grafiğini destekler.
  • Günlük verileri içindeki yaygın durdurulan sözcüklerle sözcük bulma ve sayım desteği.
  • Kolay okuma için günlük azaltmayı destekler.
  • Çeşitli varsayılan ve özel olarak yapılmış filtreler sağlar.
  • Yeniden başlatma imzalarının tanımlanmasında ve hariç tutulmasında yararlı olan parmak izlerini destekler.
  • Geniş ekran terminalleri ve karakter seçimi ve çok daha fazlası için çeşitli çıkış seçenekleri sunar.

Bu eğitimde, sistem günlüklerinden çeşitli yollarla yararlı bilgiler çıkarmak için Linux'ta Petit günlük analiz aracını nasıl kuracağınızı ve kullanacağınızı göstereceğiz.

Linux'ta Petit Log Analiz Aracı Nasıl Kurulur ve Kullanılır

Petit, aşağıda gösterildiği gibi apt paket yönetimi aracı kullanılarak Debian/Ubuntu ve türevlerinin varsayılan depolarından kurulabilir.

sudo apt install petit

RHEL/CentOS/Fedora sistemlerinde .rpm paketini bu şekilde indirip yükleyin.

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

Kurulduktan sonra Petit'in temel kullanımını örneklerle görmenin zamanı geldi.

Günlük Dosyasını Karmalama

Bu basit bir küçük fonksiyondur; bir günlük dosyasında bulunan satırların sayısını toplar. Çıktısı, günlükte bulunan benzer satırların sayısından ve aşağıda gösterildiği gibi grubun genel olarak nasıl göründüğünden oluşur.

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

Bir Daemon Tarafından Üretilen Satır Sayısını Bulma

--daemon seçeneğinin kullanılması, aşağıdaki örnekte gösterildiği gibi belirli sistem arka plan programı tarafından üretilen satırların temel bir raporunu çıkarmaya yardımcı olur.

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

Bir Ana Bilgisayar Tarafından Üretilen Satır Sayısını Bulma

Belirli bir ana bilgisayar tarafından oluşturulan tüm satır sayısını bulmak için aşağıda gösterildiği gibi --host bayrağını kullanın. Bu, birden fazla ana bilgisayarın günlük dosyalarını analiz ederken yararlı olabilir.

petit --host /var/log/syslog

999:	tecmint

Günlük Dosyasında Kelime Sayımı Gerçekleştirme

Bu işlev, bir günlük dosyasındaki niteliksel olarak önemli sözcükleri aramak ve görüntülemek için kullanılır.

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

Günlük Dosyasının Grafiğinin Oluşturulması

Bu, aşağıdaki örneklerde gösterildiği gibi dağılımların yan yana karşılaştırılması için anahtar/değer çubuk grafik formatında çalışır.

Bir sistem günlüğünün ilk 60 saniyesinin grafiğini oluşturmak için --sgrapg bayrağını şu şekilde kullanın.

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

Günlük Dosyasındaki Belirli Kelimeleri İzleme

Bu örnek, bir günlük dosyasındaki belirli bir kelimenin (örneğin, aşağıdaki komutta "dhcp") nasıl izleneceğini ve grafiğinin nasıl çizileceğini gösterir.

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

Ek olarak, bir günlük dosyasındaki her girişe ilişkin örnekleri göstermek için –allsamples seçeneğini şu şekilde kullanın.

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

Önemli Küçük Dosyalar:

  • /var/lib/petit/fingerprint_library – özel parmak izi dosyaları oluşturmak için kullanılır.
  • /var/lib/petit/fingerprints (toplu parmak izi dosyaları) – yeniden başlatmaları ve sistem yöneticisi tarafından hayati önem taşımayan diğer olayları filtrelemek için kullanılır.
  • /var/lib/petit/filters/

Daha fazla bilgi ve kullanım seçeneği için aşağıdaki gibi petit kılavuz sayfasını okuyun.

man petit
OR
petit -h

Petit Ana Sayfası: http://crunchtools.com/software/petit/

Ayrıca Linux'ta günlük izleme ve yönetimiyle ilgili şu yararlı kılavuzları da okuyun:

  1. Linux için 4 İyi Açık Kaynak Günlük İzleme ve Yönetim Aracı
  2. Linux'ta Sistem Günlükleri Nasıl Yönetilir (Yapılandırın, Döndürün ve Veritabanına Aktarın)
  3. Linux'ta Logrotate Kullanarak Günlük Döndürmeyi Kurma ve Yönetme
  4. Linux'ta “Log.io” Aracı ile Sunucu Günlüklerini Gerçek Zamanlı Olarak İzleyin

Aşağıdaki geri bildirim formunu kullanarak bize sorularınızı iletebilir veya Linux için duyduğunuz veya karşılaştığınız faydalı log analiz araçları hakkında bilgileri bizimle paylaşabilirsiniz.