Petiti  - 用于Linux SysAdmins的开源日志分析工具

Petit是一款基于 Unix的免费和开源的基于命令行的日志分析工具 ,以及Cygwin系统 ,旨在快速分析企业环境中的日志文件。

它旨在遵循Unix小巧快捷的使用理念,可用于检查/支持不同的日志文件格式,包括syslog和Apache日志文件。

小特点

  • 支持日志分析。
  • 自动检测并支持各种日志文件格式(例如Syslog,Apache Access,Apache Error,Snort Log,Linux Secure Log和原始日志文件)。
  • 支持日志哈希。
  • 支持命令行图形化。
  • 在日志数据中支持字词发现和计数与常用停止词。
  • 支持日志减少,便于阅读。
  • 提供各种默认和特制过滤器。
  • 支持指纹,有助于识别和排除重新启动签名。
  • 提供多种输出选项,适用于宽屏终端和字符选择等等。

在本教程中,我们将介绍如何在Linux中安装和使用Petit日志分析工具,以各种方式从系统日志中提取有用的信息。

如何在Linux中安装和使用小型日志分析工具

Petit可以从Debian / Ubuntu及其派生类的默认存储库安装,使用apt包管理工具 ,如下所示。

$ sudo apt install petit

RHEL / CentOS / Fedora系统上,下载并安装.rpm包。

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

一旦安装,现在是时候看到Petit的基本用法与例子..

哈希日志文件

这是一个简单的小功能 - 它总结了日志文件中发现的行数。 它的输出包括在日志中找到的类似行数,以及组中的广泛看起来如下所示。

# petit --hash /var/log/yum.log
OR
# petit --hash --fingerprint /var/log/messages
Petit - 监控Yum日志记录
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
Petit - 监视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:	youcl

在日志文件中执行字数计数

此功能用于在日志文件中搜索和显示定性有意义的词。

# petit --wordcount /var/log/syslog
Petit - 列表日志中的字数计数
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

绘制日志文件

这可以按照键/值条形图格式进行,用于并行比较分布,如下面的示例所示。

要在syslog中绘制前60秒,请使用这样的--sgrapg标志。

# petit --sgraph /var/log/syslog
Petit - 绘制日志文件
#                                                           
#                                                           
#                                                           
#                                                           
#                                                           
############################################################
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
Petit - 在日志中跟踪一个词
#                        #                          #       
#                        #                          #       
#                        #                          #       
#                        #                          #       
#                        #                          #       
############################################################
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中/佩蒂特/过滤器/

有关更多信息和使用选项,请阅读这个小写手册页。

# man petit
OR
# petit -h

Petit主页: http : //crunchtools.com/software/petit/

还要阅读有关Linux中日志监控和管理的有用指南:

  1. 4良好的Linux开源日志监控和管理工具
  2. 如何在Linux中管理系统日志(配置,旋转和导入数据库)
  3. 如何使用Logrotate在Linux中设置和管理日志轮换
  4. 监控服务器通过Linux上的“Log.io”工具实时登录

您可以通过下面的反馈表单向我们发送任何疑问,或者与我们分享有关Linux中有用的日志分析工具的信息,您听说过或遇到过。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏