Filebeat中文指南
Filebeat中文指南
翻译自:https://www.elastic.co/guide/en/beats/filebeat/current/index.html
译者:kerwin
鸣谢:tory chuck
一、概述
Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的任职文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。
以下是filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。
二、Filebeat入门
开始配置使用filebeat之前,你需要安装并配置好这些依赖程序:
Elasticsearch 作为存储和索引这些数据。
Kibana 作为展示平台。
Logstash(可选)去插入数据到elasticsearch。
在安装完毕elastic集群之后,阅读接下来的选项学习怎样安装,配置,与运行filebeat。
第一步:安装filebeat
请选择你系统中的下载安装命令来下载安装filebeat。(deb for Debian/Ubuntu, rpm for Redhat/Centos/Fedora, mac for OS X, and win for Windows).
如果你使用yum或者apt,你可以从我们的安装仓库中更方便的安装或更新到新版本。
deb:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-amd64.deb
sudo dpkg -i filebeat-5.1.1-amd64.deb
rpm:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpm
sudo rpm -vi filebeat-5.1.1-x86_64.rpm
mac:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-darwin-x86_64.tar.gz
tar xzvf filebeat-5.1.1-darwin-x86_64.tar.gz
win:
略。
第二步:配置filebeat
编辑配置文件来配置filebeat,对于rpm或者deb来说,配置文件是/etc/filebeat/filebeat.yml这个文件,对于MAC或者win来说,请查看你的解压文件中。
这里有一个简单的filebeat的配置文件filebeat.yml的样本,filebeat会使用很多默认的选项。
filebeat.prospectors:
- input_type: log
paths:
- /var/log/*.log
#- c:\programdata\elasticsearch\logs\*
让我们来配置filebeat:
1、定义你的日志文件的路径(一个或多个)
对于大多数的基本filebeat配置,你可以定义一个单一探测器针对一个单一的路径,例如:
filebeat.prospectors:
- input_type: log
paths:
- /var/log/*.log
在这个例子中,探测器会收集/var/log/*.log的所有匹配文件,这意味这filebeat会手机所有的/var/log下以.log结尾的文件,此处还支持Golang Glob支持的所有模式。
在预定义级别的子目录中获取所有文件,可以使用这个配置:/var/log/*/*.log,这会找到/var/log下所有子目录中所有的以.log结尾的文件。但它并不会找到/var/log文件夹下的以.log结尾的文件。现在它还不能递归的在所有子目录中获取所有的日志文件。
如果你设置输出到elasticsearch中,那么你需要在filebeat的配置文件中设置elasticsearch的IP地址与端口。
output.elasticsearch:
hosts: ["192.168.1.42:9200"]
如果你设置输出到logstarsh,那么请参考第三步,配置filebeat使用logstarsh
第三步:配置filebeat使用logstarsh
如果要使用logstash对filebeat收集起来的数据执行其他处理,你需要配置filebeat使用logstash。
你需要编辑filebeat的配置文件,注释elasticsearch的选项,并打开logstash的配置的注释:
#----------------------------- Logstash output --------------------------------
output.logstash:
hosts: ["127.0.0.1:5044"]
hosts选项需要指明logstash服务所监听的地址和它的端口。
对于这个配置,你必须手动将索引模板加载到elasticsearch中,因为自动加载模板的选项仅适用于Elasticsearch输出。
注:若要测试你的配置文件,切换到你安装好的filebeat的可执行文件的目录,然后在命令行运行以下选项:./filebeat -configtest -e ,确保您的配置文件在默认配置文件目录下,见 目录布局。
在使用这个配置之前,你需要提前设置好logstash来接收数据。
第四步:在elasticsearch中加载索引模板
在Elasticsearch中,索引模板是用于定义字段应如何分析的设置和映射。
推荐的filebeat索引模板文件已经在filebeat的安装包中了,如果你允许默认的模板加载到配置文件filebeat.yml中,filebeat会在成功链接elasticsearch后自动加载这些模板。如果模板已经存在了,除非你配置了filebeat.yml,否则它不会被复写。
如果你不想自动加载索引模板,或者你想加载你自己的索引模板,你你可以在filebeat的配置文件中改变模板的配置,如果你选择了关闭自动加载模板,你需要手动加载模板。更多的信息请看:
配置模板加载:只支持输出到elasticsearch
手动加载模板:需要输出到logstash时
配置模板加载
默认上,filebeat自动加载推荐的模板文件,filebeat.template.json,如果禁用输出到elasticsearch,你可以配置filebeat.yml中的template.name和template.path选项:
output.elasticsearch:
hosts: ["localhost:9200"]
template.name: "filebeat"
template.path: "filebeat.template.json"
template.overwrite: false
默认上,如果索引里已经有这个模板,新的并不会覆盖旧的。若是想覆盖现有的模板,在配置文件中设置template.overwrite:ture。
若禁用自动加载模板,注释掉elasticsearch输出下模板的那一部分。
如果使用Logstash输出,则不支持自动加载模板的选项。
手工加载模板
如果你禁止了模板的自动加载,你需要运行接下来的命令来加载模板:
curl -XPUT 'http://localhost:9200/_template/filebeat' -d@/etc/filebeat/filebeat.template.json
这里的location:9200是elasticsearch监听的ip和端口
注:如果你已经使用filebeat输出索引数据到elasticsearch中,这些索引可能包含旧的文档,在你加载了索引模板后,你可以从filebeat-*中删除旧的文档,以强制kibana查看新的索引文档。
命令如下:
curl -XDELETE 'http://localhost:9200/filebeat-*'
第五步:启动filebeat
rpm安装:
sudo /etc/init.d/filebeat start
现在,filebeat已经准备好读取你的日志文件并发送到你定义的输出中了!
Filebeat中文指南的更多相关文章
- ELKStack的基础入门和中文指南
一.ELKStack的中文指南 redhat系列配置repo源 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch vi / ...
- ELKstack 中文指南
https://www.elastic.co/downloads ELKstack 中文指南 .net Elasticsearch 学习入门笔记 一. es安装相关1.elasticsearch安 ...
- Kali Linux安装及中文指南
Kali Linux安装及中文指南 Kali Linux安装教程:https://blog.csdn.net/u012318074/article/details/71601382 Kali Linu ...
- Day05 - Flex 实现可伸缩的图片墙 中文指南
Day05 - Flex 实现可伸缩的图片墙 中文指南 作者:liyuechun 简介:JavaScript30 是 Wes Bos 推出的一个 30 天挑战.项目免费提供了 30 个视频教程.30 ...
- 苹果应用商店AppStore审核中文指南
目录 1. 条款与条件2. 功能3. 元数据.评级与排名4. 位置5. 推送通知6. 游戏中心7. 广告8. 商标与商业外观9. 媒体内容10. 用户界面11. 购买与货币12. 抓取与聚合13. 设 ...
- 苹果应用商店AppStore审核中文指南 分类: ios相关 app相关 2015-07-27 15:33 84人阅读 评论(0) 收藏
目录 1. 条款与条件 2. 功能 3. 元数据.评级与排名 4. 位置 5. 推送通知 6. 游戏中心 7. 广告 8. 商标与商业外观 9. 媒体内容 10. 用户界面 11. 购买与货币 12. ...
- Hugo 博客中文指南(基础教程)
1. 安装 Hugo 从 Hugo 项目主页下载 Releases 文件,解压 hugo.exe 文件到 C:\Windows\System32 目录下. 2. 创建站点 hugo new site ...
- Webpack 中文指南
来源于:http://webpackdoc.com/index.html Webpack 是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资 ...
- Elasticsearch + logstash中文指南
http://kibana.logstash.es/content/logstash/examples/nginx-access.html http://es.xiaoleilu.com/030_Da ...
随机推荐
- yii中常用路径<转>
调用YII框架中jquery:Yii::app()->clientScript->registerCoreScript(‘jquery’); framework/web/js/source ...
- Java字符串的10大热点问题,你都懂吗?
转自 威哥干JAVA http://www.codingke.com 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧: 1.如何比较字符 ...
- (转)用JS判断ckeditor3.6版本编辑器内容为空的方法
因为编者我还是一个初学入门者,无论是JS还是PHP,都是懂了点皮毛.今天在研究ckeditor编辑器的时候遇到了一些问题,虽然这只是我的个人问题,但觉得可以分享给其他人,或许也有像我这样的初学者也会遇 ...
- Android开发手记(13) 几种Alertdialog的使用
本文主要讨论七种形式的AlertDialog,及其编写方法. 1.退出 在用户退出的时候提示用户是否退出,含有“确定”和“退出”两个按键. btnExit.setOnClickListener(new ...
- Activity的学习
安卓的四大组件分别是 Activity ,Service服务, BroadcastReceiver广播接收器,ContentProvide内容提供器 . Activity: Activity是应用程序 ...
- SQL 2008R2 日期转换
--SQL CONVERT日期转换 print GETDATE() --相同 Select CONVERT(varchar(100), GETDATE(), 0) AS NDateTime --: 0 ...
- 执行start-dfs.sh后,datenode没有启动
Hadoop2.2.0启动异常 – Incompatible clusterIDs 2014年08月29日 ⁄ 综合 ⁄ 共 2399字 ⁄ 字号 小 中 大 ⁄ 评论关闭 今天启动Hadoop2.2 ...
- MultipeerConnectivity
Multipeer connectivity是一个使附近设备通过Wi-Fi网络.P2P Wi-Fi以及蓝牙个人局域网进行通信的框架.互相链接的节点可以安全地传递信息.流或是其他文件资源,而不用通过网络 ...
- php中iconv函数的一个小bug--转载
iconv转换字符集很好用,但是有时候你会发现iconv转换的时候会返回false或者空字符串,严格说来这算不上是iconv的问题,这其实是字符集的问题,但是实际编码中应该算是iconv的bug了. ...
- 关于C++条件运算符(三目运算符)右结合的说明
C++条件运算符 a ? c : d;是右结合的,但是这个右结合要怎么理解呢? 对于a ? b : c ? d : e; 这样的表达式如果按照右结合来解读的话,那不应该是先运算c,然后返回d或者e,返 ...