Log4j 输入插件
编辑Log4j 输入插件
编辑- 插件版本:v3.1.3
- 发布日期:2018-04-06
- 变更日志
有关其他版本,请参阅 版本化插件文档。
获取帮助
编辑如有关于插件的问题,请在 Discuss 论坛中发布主题。对于错误或功能请求,请在 Github 中打开问题。有关 Elastic 支持的插件列表,请参阅 Elastic 支持矩阵。
弃用通知
编辑此插件已弃用。建议您使用 Filebeat 收集来自 Log4j 的日志。
以下部分是有关如何从 SocketAppender 迁移到使用 Filebeat 的指南。
要从 Log4j SocketAppender 迁移到使用 Filebeat,您需要进行以下更改
- 将您的 log4j.properties(在您的应用程序中)配置为写入本地文件。
- 安装并配置 Filebeat 以收集这些日志并将其发送到 Logstash
- 配置 Logstash 以使用 Beats 输入。
配置 Log4j 以写入本地文件
编辑在您的 log4j.properties 文件中,删除 SocketAppender 并将其替换为 RollingFileAppender。
例如,您可以使用以下 log4j.properties 配置来写入每日日志文件。
# Your app's log4j.properties (log4j 1.2 only) log4j.rootLogger=daily log4j.appender.daily=org.apache.log4j.rolling.RollingFileAppender log4j.appender.daily.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy log4j.appender.daily.RollingPolicy.FileNamePattern=/var/log/your-app/app.%d.log log4j.appender.daily.layout = org.apache.log4j.PatternLayout log4j.appender.daily.layout.ConversionPattern=%d{YYYY-MM-dd HH:mm:ss,SSSZ} %p %c{1}:%L - %m%n
更详细地配置 log4j.properties 不在本迁移指南的范围内。
配置 Filebeat
编辑接下来,安装 Filebeat。根据上面的 log4j.properties,我们可以使用此 Filebeat 配置
# filebeat.yml filebeat: prospectors: - paths: - /var/log/your-app/app.*.log input_type: log output: logstash: hosts: ["your-logstash-host:5000"]
有关配置 Filebeat 的更多详细信息,请参阅 配置 Filebeat。
配置 Logstash 以接收来自 Filebeat 的数据
编辑最后,使用 Beats 输入配置 Logstash
# logstash configuration input { beats { port => 5000 } }
强烈建议您还在 Filebeat 和 Logstash Beats 输入中启用 TLS,以保护和保障日志数据的安全。
有关配置 Beats 输入的更多详细信息,请参阅 Logstash Beats 输入文档。
描述
编辑通过 TCP 套接字从 Log4j SocketAppender 读取事件。此插件仅适用于 Log4j 版本 1.x。
可以接受来自客户端的连接或连接到服务器,具体取决于 mode
。根据配置的 mode
,您需要在远程端使用匹配的 SocketAppender 或 SocketHubAppender。
每个接收到的 Log4j LoggingEvent 都创建一个事件,其架构如下
-
timestamp
⇒ 从 1970 年 1 月 1 日开始到创建日志事件为止经过的毫秒数。 -
path
⇒ 记录器的名称 -
priority
⇒ 此事件的级别 -
logger_name
⇒ 记录器的名称 -
thread
⇒ 发出日志请求的线程名称 -
class
⇒ 发出日志请求的调用者的完全限定类名。 -
file
⇒ 发出日志请求的调用者的源文件名和行号,以冒号分隔的格式“fileName:lineNumber”。 -
method
⇒ 发出日志请求的调用者的方法名称。 -
NDC
⇒ NDC 字符串 -
stack_trace
⇒ 多行堆栈跟踪
此外,如果原始 Log4j LoggingEvent 包含 MDC 哈希条目,则它们将作为字段合并到事件中。
Log4j 输入配置选项
编辑此插件支持以下配置选项以及稍后描述的 通用选项。
另请参阅 通用选项,以获取所有输入插件支持的选项列表。
proxy_protocol
编辑- 值类型为 布尔值
- 默认值为
false
代理协议支持,目前仅支持 v1 http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt