filebeat

概览:

采集数据,并上报到Logstash或Elasticsearch,Beats对于收集数据非常有用。它们位于你的服务器上,将数据集中在Elasticsearch中,Beats也可以发送到Logstash来进行转换和解析。

es有各种各样的beat,

安装

有rpm方式和源码包解压使用

配置文件是filebeat.yml文件

示例:

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log   #Filebeat将获取/var/log目录下所有以.log结尾的文件

如果你发送输出目录到Elasticsearch(并且不用Logstash),那么设置IP地址和端口以便能够找到Elasticsearch:

output.elasticsearch:
    hosts: ["192.168.1.42:9200"]

如果你的Elasticsearch和Kibana配置了安全策略,那么在你启动Filebeat之前需要在配置文件中指定访问凭据。例如:

output.elasticsearch:
      hosts: ["myEShost:9200"]
      username: "filebeat_internal"
      password: "{pwd}" 
setup.kibana:
      host: "mykibanahost:5601"
      username: "my_kibana_user"  
      password: "{pwd}"

配置Filebeat以使用Logstash

output.logstash:
      hosts: ["127.0.0.1:5044"]

在Elasticsearch中加载索引模板

在Elasticsearch中,索引模板用于定义设置和映射,以确定如何分析字段。(画外音:相当于定义索引文档的数据结构,因为要把采集的数据转成标准格式输出)

Filebeat包已经安装了推荐的索引模板。如果你接受filebeat.yml中的默认配置,那么Filebeat在成功连接到Elasticsearch以后会自动加载模板。如果模板已经存在,不会覆盖,除非你配置了必须这样做。

通过在Filebeat配置文件中配置模板加载选项,你可以禁用自动模板加载,或者自动加载你自己的目标。

配置模板加载
默认情况下,如果Elasticsearch输出是启用的,那么Filebeat会自动加载推荐的模板文件 ——— fields.yml。
加载不同的模板

setup.template.name: "your_template_name"
setup.template.fields: "path/to/fields.yml"

覆盖一个已存在的模板
setup.template.overwrite: true

禁用自动加载模板

setup.template.enabled: false

修改索引名称

默认情况下,Filebeat写事件到名为filebeat-6.3.2-yyyy.MM.dd的索引,其中yyyy.MM.dd是事件被索引的日期。为了用一个不同的名字,你可以在Elasticsearch输出中设置index选项。例如:

output.elasticsearch.index: "customname-%{[beat.version]}-%{+yyyy.MM.dd}"
setup.template.name: "customname"
setup.template.pattern: "customname-*"
setup.dashboards.index: "customname-*"

命令行

./filebeat -e -c filebeat.yml -d "publish"

问题

  1. 启动filebeat后,查看日志,在显示完

    提示: INFO [monitoring] log/log.go:124 Non-zero metrics in the last 30s

在配置文件中已经设置了信息导入到es中,但是es中没有收到数据,查询问题,在社区中提示将input 和output的enabled的选项设置为true,修改后再启动,发现器发现了指定目录下的日志文件,同时数据导向了es


原文地址:https://www.cnblogs.com/cizao/p/12349218.html