XpoLog 的更新版本已经在这里,不会忽略任何原始数据,无论它看起来多么小或微不足道。在本系列文章中,我将介绍您可以从 XpoLog V6 的新功能和增强功能中受益的一些方法。我将主要关注如何从 log4j 事件日志中获取最有价值的信息。
将 log4j 日志传输到 XpoLog Center 并在其中正确定义后,您可以通过对 log4j 数据运行分析搜索来排除 Java 应用程序的故障,测量应用程序性能,创建自己的 AppTags 以更好地监控,并创建仪表板、图表、幻灯片-显示,并利用其他可视化工具进行最大程度的分析。有关详细信息,请查看我们的 手册 。
这篇文章将向您展示如何定义和编辑您的事件和日志模式,在它们到达 XpoLog 中心之前和之后,当它们通过 SysLog 发送时。通过创建最易读的数据,您将允许 XpoLog 对您的日志执行最详细的分析。为了更轻松地跟随我的步伐,您可以 免费下载该软件 。
由于日志是以自由格式编写的,XpoLog 有一个先进的内置机制来检测传入日志的结构或模式。作为用户,您可以编辑和微调这些模式以满足您的需要。
在 SysLog Appender 中定义模式
通过 SysLog 将事件发送到 XpoLog 时,请确保在配置 log4j SysLog appender 时创建详细的转换模式。这是一个例子:
#记录器定义
log4j.logger., 系统日志
#appender 系统日志的数据
log4j.appender..apache.log4j.net.SyslogAppender
log4j.appender.SYSLOG..0.0.1
log4j.appender.SYSLOG..apache.log4j.PatternLayout
log4j.appender.SYSLOG.layout.conversionPattern=[%t] %c - %m%n
log4j.appender.SYSLOG。
( t = 线程, c = 类, m = 消息, n = 新行)
SysLog appender 会将此事件记录器写入 SysLog。 请记住在 XpoLog Center 中定义一个 SysLog Listener 帐户。 有关如何执行此操作的说明,请参阅我之前的文章。
到达 XpoLog Center 的事件是在内部写入的。下面是它们由 XpoLog SysLog 侦听器创建时的样子:
XPLG:[1436716542132] [local1] [INFO] [test-1] []: [http-30303-Processor24] audit - [Master] [-] [LOGIN] [login/logout] [SECURITY] [http-30303- Processor24][-][-][-][-]释放用户admin
XPLG:[1436716542140] [local1] [INFO] [test-1] []: [http-30303-Processor24] 审计 - [Master] [Admin] [LOGIN] [login/logout] [SECURITY] [http-30303- Processor24] [EDA6FECA79A7BBB4480BAFC0FFB911F1] [administrators] [127.0.0.1] [127.0.0.1] 使用用户名 admin 登录 ok
最开始的文字是 XpoLog Syslog 侦听器添加的额外数据。 SysLog 文件中文本的其他部分对应于您在 log4j SysLog 附加程序中创建的布局。
一旦数据到达 XpoLog,就会创建一个具有默认 SysLog 模式的日志:
XPLG:[{timestamp:Timestamp,MM/dd/yyyy HH:mm:ss.SSS}] [{text:Facility}] [{priority:Level,DEBUG;INFO;WARN;ERROR;FATAL}] [{text:源设备}] {block,start,}{string:Message}
编辑日志并设置模式以反映您在 log4j 配置中定义的布局。
在 XpoLog 中编辑日志中的模式:
- 在 XpoLog Center 中,转到 Administration 并在左侧边缘的树中的 Folders and Logs 下找到日志。右键单击日志并选择 编辑 。
- 单击 Next 进入 Log Pattern 部分。可以在 Pattern Editor 的 Pattern1 字段中编辑该模式,或者您可以通过单击 New 选项卡在现有模式之外添加一个新模式。
-
在 “手动” 按钮(最右侧)和 “向导” 按钮之间切换以查看任一版本的模式。您可以通过单击 “新建” 选项卡添加任意数量的模式。 XpoLog 会将所有这些模式保存为即将发布的日志的模板。
- 单击 保存 。
在下面的屏幕截图中,您可以看到如何定义日志数据模式。它显示在 Pattern1 字段中。此日志的模式如下:
XPLG:[{timestamp:Timestamp,MM/dd/yyyy HH:mm:ss.SSS}] [{text:Facility}] [{priority:Level,DEBUG;INFO;WARN;ERROR;FATAL}] [{text:源设备}] {block,start,}{text:Application Name}[{text:Process Id}]: {block,end,}{string:Message}
大多数模式,直到并包括 {block,end,} 都是 SysLog 协议的一部分,并作为消息的前缀——它包含 SysLog 时间戳、设施、优先级和源设备。
如前所述,您可以在发送事件日志后在 XpoLog Center 中编辑模式。如果您的消息都遵循相同的结构,我们建议进一步编辑模式以包含此结构,以接收更精确的解析。这是上面显示的日志的更精确的模式:
XPLG:[{timestamp:Timestamp,MM/dd/yyyy HH:mm:ss.SSS}] [{text:Facility}] [{priority:Level,DEBUG;INFO;WARN;ERROR;FATAL}] [{text:源设备}] {block,start,}{text:Application Name}[{text:Process Id}]: {block,end,}[{text:ServerIp}] [{text:User,User}] [{choice :Action Type,LOGIN;VIEW;CHANGE}] [{text:Action description,Action description}] [{choice:Context,LOGS;FOLDERS;VERIFIERS;CONFIGURATION;SECURITY;REPROTS;TASKS;JOBS;NODES;SEARCH_ENGINE}] {字符串:消息}
以下屏幕截图显示了与上面相同的日志,经过编辑。您可以看到原始消息已拆分为相关的列。
请注意,通过创建最易读的数据,您将从 XpoLog 收到最详细的日志分析。
在我的下一篇文章中,我将讨论如何使用 AppTags 标记日志,以便更轻松地监控、故障排除和搜索。请继续关注或直接转到我们的 动手指南 。