LogStash 接收 Filebeat

介绍

Filebeat 在应用中往往会采集不同的日志,业务上会对不同的日志进行不同的存储。Logstash 如何判断两个日志,需要在 Filebeat 加入一字段用来区别,Logstash 使用区别字段来区分。

案例

1. filebeat 配置文件

添加 type 字段,并赋值

filebeat.inputs:
- type: log
  tail_files: true
  backoff: "1s"
  paths:
      - /var/logs/applog/*.txt
  fields:
    type: apptxt
  fields_under_root: true

- type: log
  tail_files: true
  backoff: "1s"
  paths:
      - /var/logs/appjson/*.json
  fields:
    type: appjson
  fields_under_root: true
  
output:
  logstash:
    hosts: ["192.168.200.165:5044"]

type: appjson 、type: apptxt :自定义字段,logstash 接收信息,根据次字段走不同 Pipeline。

2. logstash 配置文件

通过 filebeat 定义的 type 字段做判断

input {
        beats {
                port => "5044"
                type => "port"
        }
}

filter {
        if [type] == "appjson" {
                json {
                        source => "message"
                        remove_field => ["message","@version","path","beat","input","log","offset","prospector","source","tags"]
                }
        }
}

output {
        if [type] == "apptxt" {
                stdout {
                        codec => rubydebug
                }
        }
        else if [type] == "appjson" {
                stdout {
                        codec => rubydebug
                }
        }
}

3. 启动 filebeat logstash

参照其他博客,本篇不做讲解

4. 在 /var/logs/applog/ 目录下写文件

在这里插入图片描述

5. 查看 logstash 输出信息

在这里插入图片描述

6. 在 /var/logs/appjson/ 目录下写文件

在这里插入图片描述

7. 查看 logstash 输出信息

在这里插入图片描述

LogstashFilebeat是两个常用的开源工具,用于处理和传输日志数据。它们通常与Elasticsearch和Kibana一起使用,形成ELK堆栈,用于实时日志分析和可视化。 Logstash是一个用于收集、处理和转发日志和事件数据的工具。它可以从各种来源(如文件、网络、消息队列等)收集数据,并对数据进行过滤、换和增强,然后将其发送到目标位置(如Elasticsearch、Kafka等)。Logstash使用插件来实现各种功能,例如输入插件、过滤器插件和输出插件。通过配置Logstash的管道,可以定义数据的流动和处理方式。 Filebeat是一个轻量级的日志数据传输工具,用于将日志数据从服务器发送到中央存储或分析系统。它可以监视指定的日志文件或位置,将新的日志事件发送到指定的目标位置(如Logstash、Elasticsearch等)。Filebeat具有低资源消耗和高性能的特点,适用于在大规模分布式环境中收集和传输日志数据。 通过LogstashFilebeat的结合使用,可以实现以下功能: 1. 收集和传输日志数据:Filebeat负责监视和传输日志文件,Logstash负责接收和处理传入的日志数据。 2. 数据过滤和转换:Logstash可以使用各种过滤器插件对日志数据进行过滤、解析和转换,以便更好地理解和分析数据。 3. 数据增强和丰富:Logstash可以对日志数据进行增强,例如添加额外的字段、记事件等,以便更好地进行分析和可视化。 4. 数据存储和索引:Logstash可以将处理后的日志数据发送到Elasticsearch等目标位置,以便进行存储和索引,以供后续的搜索和分析。 下面是一个演示LogstashFilebeat的例子: 1. 配置Filebeat: ```yaml filebeat.inputs: - type: log paths: - /var/log/nginx/access.log output.logstash: hosts: ["localhost:5044"] ``` 2. 配置Logstash: ```conf input { beats { port => 5044 } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" } } } output { elasticsearch { hosts => ["localhost:9200"] index => "nginx-access-%{+YYYY.MM.dd}" } } ``` 3. 启动FilebeatLogstash: ``` # 启动Filebeat filebeat -e -c filebeat.yml # 启动Logstash logstash -f logstash.conf ``` 通过以上配置和命令,Filebeat将监视Nginx访问日志文件,并将新的日志事件发送到LogstashLogstash将使用Grok过滤器对日志数据进行解析和转换,然后将处理后的数据发送到Elasticsearch进行存储和索引。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟厚非

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值