Filebeat的基本使用

Filebeat的基本使用_我就是我的博客-CSDN博客_filebeat

一篇文章搞懂filebeat(ELK) - 一寸HUI - 博客园

Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

  Filebeat的工作方式如下:启动Filebeat时,它将启动一个或多个输入,这些输入将在为日志数据指定的位置中查找。对于Filebeat所找到的每个日志,Filebeat都会启动收集器。每个收集器都读取单个日志以获取新内容,并将新日志数据发送到libbeat,libbeat将聚集事件,并将聚集的数据发送到为Filebeat配置的输出。

       工作的流程图如下:

 Filebeat收集日志并输出到控制台

编辑vim test-filebeat.yml 文件 

vim test-filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/logs/youyue/api*.log
  fields:
    api_name: pay/center
  fields_under_root: true
- type: log
  enabled: true
  paths:
    - /data/logs/youyue/admin*.log
  fields:
    admin_name: admin
  fields_under_root: true
output.console:
  pretty: true

读取.log结尾的日志数据并输出到控制台

## -d 以debug方式启动
./filebeat -e -c test-filebeat.yml -d "publish"

返回结果

 Filebeat收集Nginx运行日志并输出到es

vim filebeat-es.yml

filebeat.inputs:

- type: log
  enabled: true
  paths:
    - /data/logs/youyue/api*.log
  fields:
    api_name: pay/center
  fields_under_root: true
  tags: ["nginx"]

- type: log
  enabled: true
  paths:
    - /data/logs/youyue/admin*.log
  fields:
    admin_name: admin
  fields_under_root: true
  tags: ["nginx"]

setup.template.settings:
  index.number_of_shards: 1

output.elasticsearch:
  hosts: ["http://localhost:9200"]

前提需要开启elasticsearch

启动filebeat 

查看是否存储到elasticsearch

 基于Nginx module使用Filebeat收集Nginx运行日志并输出到es

## 查看module集合
./filebeat modules list
## 启用module
./filebeat modules enable module名称
## 禁用module
./filebeat modules disable module名称

启动nginx module

./filebeat modules enable nginx

配置Nginx Module

Nginx Module配置文件路径 ${FILEBEAT_HOME}/modules.d/nginx.yml

备注:未启用的module配置文件 后缀是.disabled

- module: nginx
  # Access logs
  access:
    enabled: true
    var.paths: ["/data/logs/youyue/*.log"]

  # Error logs
  error:
    enabled: true
    var.paths: ["/home/wwwlogs/nginx_error.log"]

  # Ingress-nginx controller logs. This is disabled by default. It could be used in Kubernetes environments to parse ingress-nginx logs
  ingress_controller:
    enabled: false

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    #var.paths: 

 配置filebeat

## 模块日志
filebeat.inputs:

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
  reload.period: 10s # 对路径下的文件进行更改检查的周期

setup.template.settings:
  index.number_of_shards: 1

output.elasticsearch:
  hosts: ["http://localhost:9200"]

Filebeat配置检测报 “setup.template.name and setup.template.pattern have to be set if index name is modified” 错误
       解决方案:这个错误本身提示很明显,只要我们配置了索引名格式,就必须要同时配置setup.template.name 和setup.template.pattern,但是,我配置了这两项怎么还是不行呢,还是同样的错误,重点来了:这两项的配置必须要顶格配置,不可以和index对齐写到一个缩进级别!这个是很容易写错的,大家注意!正确的写法:

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值