Filebeat使用
1、Beat家族
Beats可以直接(或者通过Logstash)将数据发送到Elasticsearch,在那里你可以进一步处理和增强数据,然后在Kibana中将其可视化。
2、FileBeat安装
2.1 安装
https://www.elastic.co/cn/downloads/beats/filebeat
直接下载,解压
2.2 配置
配置文件:filebeat.yml
1). 定义日志文件路径
对于最基本的Filebeat配置,你可以使用单个路径。例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
#=========================== Filebeat inputs ==============
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/test.log
#============================== Dashboards ===============
#setup.dashboards.enabled: false
#============================== Kibana ==================
#setup.kibana:
# host: "192.168.101.5:5601"
#-------------------------- Elasticsearch output ---------
output.elasticsearch:
hosts: ["192.168.8.101:9200"]
在这个例子中,获取在/var/log/*.log路径下的所有文件作为输入,这就意味着Filebeat将获取/var/log目录下所有以.log结尾的文件。
为了从预定义的子目录级别下抓取所有文件,可以使用以下模式:/var/log/ * / *.log。
这将抓取/var/log的子文件夹下所有的以.log结尾的文件。
它不会从/var/log文件夹本身抓取。
目前,不可能递归地抓取这个目录下的所有子目录下的所有.log文件。
假设配置的输入路径是/var/log/ * / *.log,假设目录结构是这样的:
那么只会抓取到2.log和3.log,而不会抓到1.log和4.log。
因为/var/log/aaa/ccc/1.log和/var/log/4.log不会被抓到。
2). 如果你发送输出目录到Elasticsearch(并且不用Logstash),那么设置IP地址和端口以便能够找到Elasticsearch:
output.elasticsearch:
hosts: ["192.168.8.101:9200"]
3). 如果你打算用Kibana仪表盘,可以这样配置Kibana端点:
setup.kibana:
host: "localhost:5601"
3:配置Filebeat以使用Logstash
如果你想使用Logstash对Filebeat收集的数据执行额外的处理,那么你需要将Filebeat配置为使用Logstash。
output.logstash:
hosts: ["192.168.8.101:5044"]
4. 如果你的Elasticsearch和Kibana配置了安全策略,那么在你启动Filebeat之前需要在配置文件中指定访问凭据。
例如:
output.elasticsearch:
hosts: ["192.168.8.101:9200"]
username: "filebeat_internal"
password: "{pwd}"
setup.kibana:
host: "192.168.8.101:5601"
username: "my_kibana_user"
password: "{pwd}"
Filebeat tag,field使用