Filebeat入门

官网

https://www.elastic.co/guide/en/beats/filebeat/6.2/filebeat-getting-started.html

要开始使用自己的Filebeat设置,请安装并配置这些相关产品:

Elasticsearch存储和索引数据。
用于UI的Kibana。
Logstash(可选)用于将数据插入Elasticsearch。
有关更多信息,请参阅Beats和弹性堆栈入门。

安装Elastic Stack之后,请阅读以下主题以了解如何安装,配置和运行Filebeat:

安装

配置Filebeat

Filebeat模块为通用日志格式提供了最快速的入门体验。 请参阅常见日志格式的快速入门以了解如何开始使用模块。 如果您使用Filebeat模块开始使用,您可以跳过本节中的内容(包括剩余的入门步骤),并直接进入常见日志格式快速入门页面。

要配置Filebeat,请编辑配置文件。 对于rpm和deb,你可以在/etc/filebeat/filebeat.yml找到配置文件。 在Docker下,它位于/usr/share/filebeat/filebeat.yml。 对于mac和win,请查看刚刚提取的存档。 还有一个名为filebeat.reference.yml的完整示例配置文件,其中显示了所有未弃用的选项。

有关配置文件结构的更多信息,请参阅Beats平台参考的配置文件格式部分。

以下是filebeat.yml文件的filebeat部分的示例。 Filebeat为大多数配置选项使用预定义的默认值。

filebeat.prospectors:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
    #- c:\programdata\elasticsearch\logs\*

1、定义日志文件的路径(或多个路径)。
对于最基本的Filebeat配置,您可以使用单个路径定义单个探勘器。 例如:

filebeat.prospectors:
- type: log
  enabled: true
  paths:
    - /var/log/*.log

本示例中的探矿者收获路径为/var/log/*.log中的所有文件,这意味着Filebeat将收集以.log结尾的目录/ var / log /中的所有文件。 Golang Glob支持的所有模式也支持此处。

要从预定义级别的子目录中获取所有文件,可以使用以下模式:/var/log//.log。 这将从/ var / log的子文件夹中提取所有.log文件。 它不会从/ var / log文件夹本身获取日志文件。 目前无法递归获取目录所有子目录中的所有文件。

2、如果您直接将输出发送到Elasticsearch(而不是使用Logstash),请设置Filebeat可以找到Elasticsearch安装的IP地址和端口:

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

如果要将输出发送到Logstash,请确保在步骤3:配置Filebeat中配置Logstash输出以使用Logstash。

3、如果您打算使用随Filebeat提供的示例Kibana仪表板,请配置Kibana端点:

setup.kibana:
  host: "localhost:5601"

其中host是运行Kibana的机器的主机名和端口,例如localhost:5601。

如果您在端口号后面指定路径,则需要包含方案和端口:http://localhost:5601/path

4、如果您已经确保了Elasticsearch和Kibana的安全性,那么在运行设置并启动Filebeat的命令之前,您需要在配置文件中指定凭证。 例如:

output.elasticsearch:
  hosts: ["myEShost:9200"]
  username: "elastic"
  password: "elastic"
setup.kibana:
  host: "mykibanahost:5601"
  username: "elastic"  
  password: "elastic"
  • Kibana的用户名和密码设置是可选的。 如果您没有为Kibana指定凭证,Filebeat将使用为Elasticsearch输出指定的用户名和密码。

  • 如果您打算设置Kibana仪表板,则用户必须具有kibana_user内置角色或同等权限。

另请参阅设置Kibana端点和配置Elasticsearch输出中介绍的安全相关选项。

在开始filebeat之前,您应该查看配置文件中的配置选项。 有关这些选项的更多信息,请参阅配置Filebeat。

配置Filebeat以使用Logstash

要将Logstash用作输出,您必须安装并配置Logstash的Beats输入插件。

如果要使用Logstash对Filebeat收集的数据执行附加处理,则需要将Filebeat配置为使用Logstash。

为此,请编辑Filebeat配置文件,通过将Elasticsearch输出注释掉并通过取消注释logstash部分来启用Logstash输出来禁用Elasticsearch输出:

#----------------------------- Logstash output --------------------------------
output.logstash:
  hosts: ["127.0.0.1:5044"]

请确认Elasticsearch选项关闭,参考以下配置

#-------------------------- Elasticsearch output ------------------------------
#output.elasticsearch:
  # Array of hosts to connect to.
  #hosts: ["localhost:9200"]

  # Optional protocol and basic auth credentials.
  #protocol: "https"
  #username: "elastic"
  #password: "changeme"

#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["localhost:5044"]

  # Optional SSL. By default is off.
  # List of root certificates for HTTPS server verifications
  #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]

  # Certificate for SSL client authentication
  #ssl.certificate: "/etc/pki/client/cert.pem"

  # Client Certificate Key
  #ssl.key: "/etc/pki/client/cert.key"

hosts选项指定Logstash服务器和端口(5044),其中Logstash被配置为侦听传入的Beats连接。

对于此配置,您必须手动将索引模板加载到Elasticsearch中,因为用于自动加载模板的选项仅适用于Elasticsearch输出。

在Elasticsearch中加载索引模板

在Elasticsearch中,索引模板用于定义设置和映射,以确定应如何分析字段。

Filebeat推荐的索引模板文件由Filebeat软件包安装。 如果您接受filebeat.yml配置文件中的默认配置,Filebeat在成功连接到Elasticsearch后自动加载模板。 如果该模板已经存在,则不会覆盖它,除非您配置Filebeat来执行此操作。

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

您还可以设置选项来更改索引和索引模板的名称。

加载索引模板需要连接Elasticsearch。 如果输出是Logstash,则必须手动加载模板。

有关更多信息,请参阅:

配置模板加载

手动加载模板 - Logstash输出所需的模板

要手动加载模板,请运行setup命令。 与Elasticsearch的连接是必需的。 如果启用Logstash输出,则需要暂时禁用Logstash输出,并使用-E选项启用Elasticsearch。 这里的示例假定Logstash输出已启用。 如果Elasticsearch输出已经启用,您可以省略-E标志。

如果要连接到安全的Elasticsearch群集,请确保您已按照步骤2:配置Filebeat中所述配置了凭据。

如果运行Filebeat的主机没有直接连接到Elasticsearch,请参阅手动加载模板(备用方法)。

要加载模板,请为您的系统使用适当的命令。

如果是Logstash输出一定不能执行下面这句

./filebeat setup --template -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

强迫Kibana查看最新的文件
如果您已经使用Filebeat将数据索引到Elasticsearch中,则该索引可能包含旧文档。 加载索引模板后,可以从filebeat- *中删除旧文档,以强制Kibana查看最新的文档。 使用此命令:

deb,rpm和mac:

curl -XDELETE 'http://localhost:9200/filebeat-*'

该命令将删除与模式filebeat- *匹配的所有索引。 在运行此命令之前,请确保您要删除与该模式匹配的所有索引。

手动加载模板(备用方法)

如果运行Filebeat的主机没有与Elasticsearch的直接连接,则可以将索引模板导出到文件,将其移至具有连接性的计算机,然后手动安装该模板。

1、导出索引模板
mac

./filebeat export template > filebeat.template.json

2、安装模板
mac

curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-6.2.4 -d@filebeat.template.json

设置Kibana仪表板

因为配置的输出是Logstash,所以这一步运行不成功,先跳过

Filebeat附带示例Kibana仪表板,可视化和搜索可视化Kibana中的Filebeat数据。 在您可以使用仪表板之前,您需要创建索引模式filebeat- *,并将仪表板加载到Kibana中。 为此,您可以运行setup命令(如此处所述)或在filebeat.yml配置文件中配置仪表板加载。

这需要Kibana端点配置。 如果您尚未配置Kibana端点,请参阅配置的Filebeat

确保Kibana正在运行,然后再执行此步骤。 如果您正在访问安全的Kibana实例,请确保您已按照步骤2:配置Filebeat中所述配置了凭据。

要为Filebeat设置Kibana仪表板,请为您的系统使用适当的命令。

./filebeat setup --dashboards

如果遇到

config file ("filebeat.yml") must be owned by the beat user (uid=0) or root

请参考https://www.elastic.co/guide/en/beats/libbeat/5.3/config-file-permissions.html#config-file-permissions

启动Filebeat

通过为您的平台发布适当的命令来启动Filebeat。 如果您正在访问安全的Elasticsearch群集,请确保您已按照步骤2:配置Filebeat中所述配置了凭据。

如果使用init.d脚本以deb或rpm启动Filebeat,则无法指定命令行标志(请参阅命令参考)。 要指定标志,请在前台启动Filebeat。

mac

sudo chown root filebeat.yml 
sudo ./filebeat -e -c filebeat.yml -d "publish"
阅读更多

没有更多推荐了,返回首页