Log4j 输入插件
编辑Log4j 输入插件编辑
- 插件版本:v3.1.3
- 发布时间:2018 年 4 月 6 日
- 更新日志
有关其他版本,请参阅版本化插件文档。
获取帮助编辑
如果您对插件有任何疑问,请在论坛中打开一个主题。对于错误或功能请求,请在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
通用选项编辑
以下配置选项受所有输入插件支持