Поиск по сайту:

Petiti — инструмент анализа журналов с открытым исходным кодом для системных администраторов Linux


Petit — это бесплатный инструмент анализа журналов с открытым исходным кодом на основе командной строки для Unix-подобных и Cygwin-систем, предназначенный для быстрого анализа файлов журналов в корпоративных средах.

Он предназначен для того, чтобы следовать философии Unix: маленький, быстрый и простой в использовании, и может использоваться для проверки/поддержки различных форматов файлов журналов, включая файлы системного журнала и файлы журналов Apache.

Особенности Пети

  • Поддерживает анализ журналов.
  • Автоматически обнаруживает и поддерживает различные форматы файлов журналов (например, системный журнал, Apache Access, Apache Error, Snort Log, Linux Secure Log и необработанные файлы журналов).
  • Поддерживает хеширование журналов.
  • Поддерживает графическое отображение командной строки.
  • Поддерживает обнаружение и подсчет слов с использованием общих стоп-слов в данных журнала.
  • Поддерживает уменьшение журнала для удобства чтения.
  • Предоставляет различные фильтры по умолчанию и специально созданные фильтры.
  • Поддерживает отпечатки пальцев, что полезно при идентификации и исключении сигнатур перезагрузки.
  • Предлагает несколько вариантов вывода для широкоэкранных терминалов, выбор символов и многое другое.

В этом руководстве мы покажем вам, как установить и использовать инструмент анализа журналов Petit в Linux, чтобы различными способами извлекать полезную информацию из системных журналов.

Как установить и использовать инструмент анализа журналов Petit в Linux

Petit можно установить из репозиториев по умолчанию Debian/Ubuntu и его производных с помощью инструмента управления пакетами apt, как показано ниже.

sudo apt install petit

В системах RHEL/CentOS/Fedora загрузите и установите пакет .rpm следующим образом.

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

После установки пришло время увидеть базовое использование Petit на примерах.

Хеширование файла журнала

Это простая функция petit — она суммирует количество строк, обнаруженных в файле журнала. Его выходные данные включают количество похожих строк, найденных в журнале, и то, как в целом выглядела группа, как показано ниже.

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

Определение количества строк, созданных демоном

Использование опции --daemon помогает вывести базовый отчет о строках, созданных конкретным системным демоном, как показано в примере ниже.

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

Определение количества строк, созданных хостом

Чтобы найти все количество строк, сгенерированных конкретным хостом, используйте флаг --host, как показано ниже. Это может быть полезно при анализе файлов журналов для нескольких хостов.

petit --host /var/log/syslog

999:	tecmint

Подсчет слов в файле журнала

Эта функция используется для поиска и отображения качественно значимых слов в файле журнала.

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

Графическое представление файла журнала

Это работает в формате гистограммы «ключ/значение» для параллельного сравнения распределений, как показано в примерах ниже.

Чтобы отобразить первые 60 секунд в системном журнале, используйте такой флаг --sgrapg.

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

Отслеживание отдельных слов в файле журнала

В этом примере показано, как отслеживать и отображать определенное слово (например, «dhcp» в приведенной ниже команде) в файле журнала.

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

Кроме того, чтобы показать образцы для каждой записи в файле журнала, используйте параметр –allsamples, подобный этому.

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

Важные файлы Petit:

  • /var/lib/petit/fingerprint_library – используется для создания пользовательских файлов отпечатков пальцев.
  • /var/lib/petit/fingerprints (агрегированные файлы отпечатков пальцев) – используется для фильтрации перезагрузок и других событий, которые системный администратор не считает важными.
  • /var/lib/petit/filters/

Для получения дополнительной информации и вариантов использования прочитайте справочную страницу petit, подобную этой.

man petit
OR
petit -h

Домашняя страница Petit: http://crunchtools.com/software/petit/

Также прочитайте эти полезные руководства по мониторингу журналов и управлению ими в Linux:

  1. 4 хороших инструмента для мониторинга и управления журналами с открытым исходным кодом для Linux
  2. Как управлять системными журналами (настройка, ротация и импорт в базу данных) в Linux
  3. Как настроить и управлять ротацией журналов с помощью Logrotate в Linux
  4. Мониторинг журналов сервера в режиме реального времени с помощью инструмента «Log.io» в Linux

Вы можете отправить нам любые вопросы через форму обратной связи ниже или поделиться с нами информацией о полезных инструментах анализа журналов для Linux, о которых вы слышали или сталкивались.