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
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: youcl
在日志文件中执行字数计数
此功能用于在日志文件中搜索和显示定性有意义的词。
# 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
绘制日志文件
这可以按照键/值条形图格式进行,用于并行比较分布,如下面的示例所示。
要在syslog中绘制前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中/佩蒂特/过滤器/
有关更多信息和使用选项,请阅读这个小写手册页。
# man petit OR # petit -h
Petit主页: http : //crunchtools.com/software/petit/
还要阅读有关Linux中日志监控和管理的有用指南:
- 4良好的Linux开源日志监控和管理工具
- 如何在Linux中管理系统日志(配置,旋转和导入数据库)
- 如何使用Logrotate在Linux中设置和管理日志轮换
- 监控服务器通过Linux上的“Log.io”工具实时登录
您可以通过下面的反馈表单向我们发送任何疑问,或者与我们分享有关Linux中有用的日志分析工具的信息,您听说过或遇到过。