filebeat 日志采集到 elasticsearch

该教程详细介绍了Filebeat的下载与安装过程,包括在Linux和Windows平台上的解压步骤。接着,它展示了如何修改配置文件来收集正常日志和JSON格式日志,以及如何配置Elasticsearch模板和输出设置。最后,文章提供了在Linux和Windows环境下启动Filebeat的命令。
摘要由CSDN通过智能技术生成

一、下载与安装

1.下载

https://www.elastic.co/cn/downloads/beats/filebeat

根据自己的需求下载对应的版本

2. 解压

# windows平台直接解压

# linux平台解压:
tar -zxvf filebeat-7.6.1-linux-x86_64.tar.gz

二、修改配置文件

1. 正常日志采集

# ============================== Filebeat inputs ===============================
filebeat.inputs:
# 文本算法类型日志采集
- type: log
  enabled: true
  encoding: UTF-8
  fields:
    algo_type: text 
  paths:
    - /home/script/text/logs/*log*
 
# 图片算法日志采集
- type: log
  enabled: true
  encoding: UTF-8
  fields:
    algo_type: image
  paths:
    - /home/script/image/logs/*log*


# ======================= Elasticsearch template setting =======================
# es索引模板配置
setup.ilm.enabled: false
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.template.settings:
  index.number_of_shards: 3
  index.number_of_replicas: 1
  index.codec: best_compression

# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  hosts: ["192.168.19.100:9200"]
  protocol: "http"
  # es账号密码,没有设置的可以不用配置
  username: "root"
  password: "123456"
  # 根据不同的日志类型配置不同的es索引
  indices:
    - index: "filebeat-text-%{+yyyy-MM-dd}"
      when.equals:
        fields:
          algo_type: "text"
    - index: "filebeat-image-%{+yyyy-MM-dd}"
      when.equals:
        fields:
          algo_type: "image"


# ================================= Processors =================================
processors:
  # 将自带的一些字段可以去除
  # - add_host_metadata:
  #     when.not.contains.tags: forwarded
  # - add_cloud_metadata: ~
  # - add_docker_metadata: ~
  # - add_kubernetes_metadata: ~
  # 在这里可以设置要去除的字段
  - drop_fields:
      # when: 可以设置去除的条件
      #   condition
      fields: ["log","host","input","agent","ecs"]
      ignore_missing: false

2. JSON格式日志采集

采集JSON格式数据需要将日志输出JSON格式的日志,如下:

{"start_time": "2020-12-13 10:37:01.072","type": "CsbTest","level": "INFO","message":"数据1","parameter":["6677"]}
{"start_time": "2020-12-13 10:37:01.072","type": "CsbTest","level": "INFO","message":"数据2","parameter":["12121"]}

配置如下:

# ============================== Filebeat inputs ===============================
filebeat.inputs:
# 文本算法类型日志采集
- type: log
  enabled: true
  encoding: UTF-8
  fields:
    algo_type: text 
  paths:
    - /home/script/text/logs/*log*
  json:
    keys_under_root: true
    overwrite_keys: true
    add_error_key: true
 
# 图片算法日志采集
- type: log
  enabled: true
  encoding: UTF-8
  fields:
    algo_type: image
  paths:
    - /home/script/image/logs/*log*
  json:
    keys_under_root: true
    overwrite_keys: true
    add_error_key: true


# ======================= Elasticsearch template setting =======================
# es索引模板配置
setup.ilm.enabled: false
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"
setup.template.settings:
  index.number_of_shards: 3
  index.number_of_replicas: 1
  index.codec: best_compression

# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
  hosts: ["192.168.19.100:9200"]
  protocol: "http"
  # es账号密码,没有设置的可以不用配置
  username: "root"
  password: "123456"
  # 根据不同的日志类型配置不同的es索引
  indices:
    - index: "filebeat-text-%{+yyyy-MM-dd}"
      when.equals:
        fields:
          algo_type: "text"
    - index: "filebeat-image-%{+yyyy-MM-dd}"
      when.equals:
        fields:
          algo_type: "image"


# ================================= Processors =================================
processors:
  # 将自带的一些字段可以去除
  # - add_host_metadata:
  #     when.not.contains.tags: forwarded
  # - add_cloud_metadata: ~
  # - add_docker_metadata: ~
  # - add_kubernetes_metadata: ~
  # 在这里可以设置要去除的字段
  - drop_fields:
      # when: 可以设置去除的条件
      #   condition
      fields: ["log","host","input","agent","ecs"]
      ignore_missing: false

三、启动

# linux中,后台启动, 先进入到安装目录中,将所有标准输出及标准错误输出到/dev/null空设备,即没有任何输出
nohup  ./filebeat  -c  filebeat.yml  -e  >/dev/null  2>&1  &

# windows中启动,先进入到安装目录中
.\filebeat.exe -e -c .\filebeat.yml
  • -c:配置文件位置
  • -e:关闭日志输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值