举例来说,您有来自某个地方的日志流(系统日志服务器、转发的 Windows 事件日志、“典型的可怜系统管理员的邮箱”、Splunk 索引器等等……)
想象一下这串未分类、未过滤的日志,其中一些是唯一的,并且每天只会发生一次:
5 Feb 2014 cake: Kernel panic - not syncing: Fatal exception. Backtrace: ....
其他的则会像雪崩一样:(
smbd/server.c:open_sockets_smbd(491) Reloading services after SIGHUP : 1 Time(s)
smbd/server.c:open_sockets_smbd(491) Reloading services after SIGHUP : 2 Time(s)
还有 100 次)
对日志进行去重和汇总的技术叫什么?
就是把上述所有流都提取出来,然后进行清晰的汇总:
严重错误:
蛋糕
Kernel panic - not syncing: Fatal exception. Backtrace: ....
频繁出现未知日志:
someserver smbd/server.c:open_sockets_smbd(491) Reloading services after SIGHUP : X Time(s)
(重复 100 次)
someotherserver apache GET /some/imaginary/example
(重复 35 次)
等等
答案1
通常,这是所有产品中都具有的功能日志分析和日志管理工具,我希望这些术语能够描述将机器生成的数据转换为智能的过程。
如果你想减少在分析之前存储的数据量,可以减少可管理的报告:
大多数软件都带有配置开关,以减少日志消息的数量和详细程度。
rsyslog 提供 $重复消息减少配置开关,通过记录“最后一行重复 n 次”将这些重复的消息变成一个。
如果你使用 rsyslog,你也可以选择筛选消息很容易。丢弃消息的一个基本示例如下:
# /etc/rsyslog.cof
# These rules filter messages:
:msg, contains, "smbd/server.c:open_sockets_smbd" ~
波浪号~
是丢弃包含字符串“smbd/server.c:open_sockets_smbd”的消息的指令。