📜  使用 filebeat 将我的日志推送到 elk - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:36:27.790000             🧑  作者: Mango

使用 Filebeat 将我的日志推送到 ELK

简介

Filebeat 是一个轻量级的日志传输工具,可以将你的日志内容从文件、系统日志、或者网络中的各种数据源收集起来传输到其他地方进行分析。

ELK 是一个集成的日志管理平台,包括 Elasticsearch、Logstash 和 Kibana 三个组件。使用 ELK 可以实时地对收集的日志进行搜索、分析和可视化,为应用程序的错误排查和性能优化提供了很大的帮助。

本文将介绍如何使用 Filebeat 将你的应用程序日志推送到 ELK,以实现更好的日志管理和分析。

步骤
  1. 安装 Filebeat

    首先需要安装 Filebeat。具体的安装步骤可以参照官方文档

    # 安装命令
    sudo apt-get install filebeat
    
  2. 配置 Filebeat

    在 Filebeat 安装完成后,需要进行一些配置。主要包括输入源、输出目标和数据过滤等。

    示例配置如下:

    filebeat.inputs:
    - type: log
      paths:
        - /var/log/*.log
      json.keys_under_root: true
      json.overwrite_keys: true
      json.add_error_key: true
    filebeat.output.elasticsearch:
      hosts: ["localhost:9200"]
      index: "my-application-logs-%{+yyyy.MM.dd}"
    

    上述配置指定了需要收集的日志路径和数据格式,以及输出到 ELK 的地址和索引名称。

    具体的配置项可以参照官方文档

  3. 启动 Filebeat

    配置完成后启动 Filebeat,即可开始收集和传输日志。

    # 启动命令
    sudo systemctl start filebeat
    
  4. 验证日志是否正确推送到 ELK

    在 Kibana 中添加 Filebeat 的索引,然后通过搜索、过滤、可视化等功能来验证是否能够正确地接收和分析 Filebeat 收集的日志数据。

    示例搜索请求:

    GET my-application-logs-2022.01.01/_search
    

    示例搜索结果:

    {
      "took" : 10,
      "timed_out" : false,
      "_shards" : {
        "total" : 4,
        "successful" : 4,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : {
          "value" : 10,
          "relation" : "eq"
        },
        "max_score" : 1.0,
        "hits" : [
          {
            "_index" : "my-application-logs-2022.01.01",
            "_type" : "_doc",
            "_id" : "FW6LG3wBB-PaL3wf4a8P",
            "_score" : 1.0,
            "_source" : {
              "timestamp" : "2022-01-01T00:00:01",
              "message" : "Hello, World!",
              "level" : "INFO",
              "logger" : "com.example.Application",
              "thread" : "main",
              "stack_trace" : null
            }
          },
          ...
        ]
      }
    }
    

    可以看到,通过搜索请求能够找到 Filebeat 收集的日志数据,并且可以查看其具体的字段和值。

结论

使用 Filebeat 将应用程序日志推送到 ELK 中,可以大大提高日志管理和分析的效率和可靠性。同时也能够帮助开发人员更加快速地排查应用程序的错误和瓶颈,以更好地提升软件的质量和可用性。