配置Filebeat
提示:Filebeat modules为常见的日志格式提供了最快的入门操作。 如果要使用Filebeat模块,请跳过本节,包括剩余的入门步骤,并直接转到快速入门:Quick start: modules for common log formats.
要配置Filebeat,请编辑配置文件。 对于rpm和deb,可以在/etc/filebeat/filebeat.yml找到配置文件。 在Docker下,它位于/usr/share/filebeat/filebeat.yml。 对于mac和win,请查看刚刚提取的存档。 还有一个名为filebeat.reference.yml的完整示例配置文件,它显示了所有未弃用的选项。
以下是filebeat.yml文件的filebeat部分示例。 Filebeat为大多数配置选项使用预定义默认值。
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
配置Filebeat
1、定义日志文件的路径(或多个路径)。
对于最基本的Filebeat配置,可以使用单个路径定义单个input。 例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
此示例中的input收集路径/var/log/*.log中的所有文件,这意味着Filebeat将收集目录/var/log中的所有以.log结尾的文件。 也支持Golang Glob支持的所有模式。
要从预定义的子目录中获取所有文件,可以使用以下模式:/var/log/*/*.log。 这将从/var/log/的子目录中提取所有.log文件。 它不会从/var/log/文件夹本身获取日志文件。 目前无法递归获取目录所有子目录中的所有文件。
2、配置输出。 Filebeat支持各种outputs,但通常可以将事件直接发送到Elasticsearch,也可以发送到Logstash以进行额外处理。
要将输出直接发送到Elasticsearch(不使用Logstash),请设置Elasticsearch安装的位置:
- 如果在Elastic Cloud上运行 hosted Elasticsearch Service ,请指定Cloud ID。
例如:cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw=="
- 如果在自己的硬件上运行Elasticsearch,请设置Filebeat可以找到Elasticsearch安装的主机和端口。 例如:
output.elasticsearch:
hosts: ["192.168.1.42:9200"]
- 如果要将输出发送到Logstash,请确保在步骤3:配置Filebeat中配置Logstash输出以使用Logstash。更多插件查阅:Configure the output.
3、如果打算使用随Filebeat提供的示例Kibana仪表板,请配置Kibana端点。如果Kibana与Elasticsearch在同一主机上运行,则可以跳过此步骤。
setup.kibana:
host: "localhost:5601"
其中host是运行Kibana的机器的主机名和端口,例如localhost:5601。
注意:如果在端口号后面指定路径,则需要包含协议和端口:http://localhost:5601/path。
4、如果已经在filebeat.yml配置文件中确保了Elasticsearch和Kibana的安全性,那么在运行设置并启动Filebeat的命令之前,需要在配置文件中指定凭证。 例如:
- 如果在Elastic Cloud上运行我们hosted Elasticsearch Service 请指定云身份验证凭据。 例如:
cloud.auth: "elastic:YOUR_PASSWORD"
- 如果在自己的硬件上运行Elasticsearch,请指定Elasticsearch和Kibana凭据:
output.elasticsearch:
hosts: ["myEShost:9200"]
username: "filebeat_internal"
password: "{pwd}"
setup.kibana:
host: "mykibanahost:5601"
username: "my_kibana_user"
password: "{pwd}"
其中:password: "{pwd}" :这些示例显示了一个硬编码的密码,但应该将敏感值存储在秘密密钥库中。
其中:username: "my_kibana_user" :Kibana的用户名和密码设置是可选的。 如果没有为Kibana指定凭证,Filebeat将使用为Elasticsearch输出指定的用户名和密码。
如果打算设置Kibana仪表板,则用户必须具有kibana_user内置角色或同等权限。
参考链接: