转载*请注明原始出处:http://blog.csdn.net/a464057216/article/details/50987695
后续此博客不再更新,欢迎大家搜索关注微信公众号“测开之美”,测试开发工程师技术修炼小站,持续学习持续进步。
Filebeat的基本原理其实就是有一群prospector,每个prospector手下管着一批harvester,每个harvester负责监视一个日志文件,把变动的内容由spooler汇总之后交给Logstash或者Elasticsearch。如果想快速搭建一个可以工作的Filebeat,无非有三点:
1.说明要监视哪些文件
filebeat:
prospectors:
-
paths:
- "/var/log/lmz.log"
2.说明收集的日志发给谁
如果直接发送给Elasticsearch,可以设置如下:
output:
elasticsearch:
hosts: ["localhost:9200"]
如果需要发给Logstash,可以注释掉Elasticsearch的配置,然后设置Logstash如下:
output:
logstash:
hosts: ["localhost:5044"]
当然,也需要在Logstash的配置中指明要从该端口(5044)监听来自Filebeat的数据:
/etc/logstash/conf.d/beats-input.conf:
input {
beats {
port => 5044
}
}
这里的配置举例是把Filebeat、Logstash、Elasticsearch安装在了一台机器上,实际使用中肯定是分开部署的,需要根据实际情况修改配置文件中的IP地址及端口号。
3.让Elasticsearch知道如何处理每个日志事件。
默认的Elasticsearch需要的index template在安装Filebeat的时候已经提供,路径为/etc/filebeat/filebeat.template.json,可以使用如下命令装载该模板:
$ curl -XPUT 'http://localhost:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
当然,也不能忘了,每次修改完Filebeat的配置后,需要重启Filebeat才能让改动的配置生效。
如果觉得我的文章对您有帮助,欢迎关注我(CSDN:Mars Loo的博客)或者为这篇文章点赞,谢谢!