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。

详见 beat和elastic的入门

在安装完毕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中文指南的更多相关文章

  1. ELKStack的基础入门和中文指南

    一.ELKStack的中文指南 redhat系列配置repo源 rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch vi / ...

  2. ELKstack 中文指南

    https://www.elastic.co/downloads ELKstack 中文指南 .net Elasticsearch 学习入门笔记   一. es安装相关1.elasticsearch安 ...

  3. Kali Linux安装及中文指南

    Kali Linux安装及中文指南 Kali Linux安装教程:https://blog.csdn.net/u012318074/article/details/71601382 Kali Linu ...

  4. Day05 - Flex 实现可伸缩的图片墙 中文指南

    Day05 - Flex 实现可伸缩的图片墙 中文指南 作者:liyuechun 简介:JavaScript30 是 Wes Bos 推出的一个 30 天挑战.项目免费提供了 30 个视频教程.30 ...

  5. 苹果应用商店AppStore审核中文指南

    目录 1. 条款与条件2. 功能3. 元数据.评级与排名4. 位置5. 推送通知6. 游戏中心7. 广告8. 商标与商业外观9. 媒体内容10. 用户界面11. 购买与货币12. 抓取与聚合13. 设 ...

  6. 苹果应用商店AppStore审核中文指南 分类: ios相关 app相关 2015-07-27 15:33 84人阅读 评论(0) 收藏

    目录 1. 条款与条件 2. 功能 3. 元数据.评级与排名 4. 位置 5. 推送通知 6. 游戏中心 7. 广告 8. 商标与商业外观 9. 媒体内容 10. 用户界面 11. 购买与货币 12. ...

  7. Hugo 博客中文指南(基础教程)

    1. 安装 Hugo 从 Hugo 项目主页下载 Releases 文件,解压 hugo.exe 文件到 C:\Windows\System32 目录下. 2. 创建站点 hugo new site ...

  8. Webpack 中文指南

    来源于:http://webpackdoc.com/index.html Webpack 是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资 ...

  9. Elasticsearch + logstash中文指南

    http://kibana.logstash.es/content/logstash/examples/nginx-access.html http://es.xiaoleilu.com/030_Da ...

随机推荐

  1. automatically select architectures

    各位在用XCode 5.x 打开用XCode 4.x 创建的项目时候.会遇到编译器警告automatically select architectures. 1. This is because th ...

  2. Vitamio 多媒体框架 介绍

    功能 Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染.Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐.到目前 ...

  3. JS类百度的动态提示框思路及完成

    参考的代码来自这里: http://www.jb51.net/article/28075.htm 不过说实话,这个网站太烂了,不适合看代码,另外写代码的人是个大牛,但是却没有模块化思想,所以朕不高兴直 ...

  4. [php基础]PHP.INI配置:Session配置详细说明教程

    网上有很多PHP.INI文件配置的中文说明,但是对于PHP初学者来说在进行PHP运行环境搭建配置时还是容易一头雾水,今天换一种角度来分享如何进行php.ini配置,以求达到解决实际问题的效果,开篇以P ...

  5. 【JQuery学习笔记】一、基础篇

    Lesson2 Ready 和onload类似,但onload只能注册一次,后注册的取代现注册的,而Ready可以多次注册都会执行 onload是所有院所创建完毕.图片.Css等都加载完毕后才触发,而 ...

  6. 你好,C++(16)用表达式表达我们的设计意图——4.1 用操作符对数据进行运算

    第4章    将语句编织成程序 学过C++中的各种数据类型, 就知道如何使用各种数据类型定义变量来描述现实世界中的各种事物了.现在,我们可以将一个工资统计程序大致写成下面这个样子: // 工资统计程序 ...

  7. PyQt5+python3的FindDialog

    import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt, pyqtSignal class FindDialog(QD ...

  8. pythond对象、异常、反射的学习笔记

    python多继承,刚开始我是表示惊讶的,毕竟学的php,哪来的多继承?顶多也就是利用接口模拟多继承后者使用反射机制实现.那么还是来看看python的强大吧 1 首先,Python的类继承了多个类,那 ...

  9. 你不知的IE的bug及其解决方案

    E令人咬牙切齿的bug不胜枚举,其中IE6更是臭名昭著,令人发指.这里总结出IE下最为严重的5个bug,及其应对方案. 1.IE6下无法显示png格式的透明信息 这个bug是众多网页设计师的噩梦,虽然 ...

  10. twsited(4)--不同模块用redis共享以及用web发送数据到tcpserver

    上一章开头我们说,要连接之前flask系列文章中的用户,结果篇幅不够,没有实现. 今天我们把它实现一下.话说,不同模块之间,该如何联系在一起,通常都是mysql.redis.rabbitmq还有RPC ...