使用 elasticsearch 从简单的日志文件中读取

Reading from simple Logs file with elasticsearch

我 运行 ElasticSearch.bat (集群) 和 kibana.bat 在 windows 上,据我所知 Elasticsearch 索引 Json 格式...

我有 3 个带有日志文件的 SpringBoot 项目(例如:dd-mm-yyyy.log)由 log4j 生成 这是我的问题:

有什么方法可以使我的项目成为节点并从这些日志中读取、索引和搜索

如果没有,是否有任何改变使其成为可能?

我的目标是使用 ElasticSearch

在这些日志中搜索字符串

谢谢

第一个install Filebeat

configure Filebeat 通过列出您的日志文件的路径

这应该会在 Elasticsearch 中为您的日志编制索引。如果您希望能够查询来自单个应用程序的日志,记录将包含一个 "source" 字段,它是日志文件的完整路径。您可以使用它来指定要查询的日志。

如果你想区分日志来源,你也可以在 Filebeat 配置中添加自定义字段。调整 example from the docs 假设应用程序登录到文件夹 c:/app1/logs/ 和 c:/app2/logs/

filebeat.inputs:
- type: log
  paths:
    - 'c:/app1/logs/*.log'
  fields:
    app: 1
  field_under_root: true
- type: log
  paths:
    - 'c:/app2/logs/*.log'
  fields:
    app: 2
  fields_under_root: true