一、windows下安装Filebeat

官网下载安装包

解压到指定目录,打开解压后的目录,打开filebeat.yml进行配置。

1、配置为输出到ElasticSearch

①:配置 Filebeat  prospectors->path 这里的路径是所要收集日志的路径 。。eg:在当前目录下建一个data文件夹,里面放下载的示例文件(在Logstash那篇),人家应该是linux下的文件。

我这里将下载的日志文件 加了后缀.log ,放在data目录下

所以我的配置如下:

- type: log

  # Change to true to enable this input configuration.
enabled: true # Paths that should be crawled and fetched. Glob based paths.
paths:
- E:\filebeat-6.6.2-windows-x86_64\data\logstash-tutorial.log\*.log
#- c:\programdata\elasticsearch\logs\*

②:配置 enabled: true 这个配置很重要,只有配置为true之后配置才可生效,否则不起作用。 
③:配置Outputs ,这里的Outputs有elasticsearch,logstash。按照配置文件下面的示例配置即可。只能配置一个输出。默认是ElasticSearch

output.elasticsearch:
# The Logstash hosts
hosts: ["localhost:9200"]
默认情况下,Filebeat写事件到名为filebeat-6.3.2-yyyy.MM.dd的索引,其中yyyy.MM.dd是事件被索引的日期。为了用一个不同的名字,你可以在Elasticsearch输出中设置index选项。

2、cmd运行

  然后在当前目录下,新建一个bat文件,eg : run.bat  内容

.\filebeat -e -c filebeat.yml 

单击bat,启动filebeat

正常情况下,应该有个链接ES的过程,将数据输出到es。

打开ES能看到多了一个filebeat-6.6.2-年月日的索引。。

若没有这个,而是一直Non-zero metrics inthe last 30s。这个时间参数是个扫描文件的频率,可以修改。那就要看下 配置的路径对不对。命令行中会有读取的文件的路径信息,仔细检查一下。

3、安装为服务启动

  filebeat目录下有POWERSHELL脚本(install-service-filebeat.ps1),运行一下即可。将Powershell脚本的默认打开方式选择为Powershell.exe,直接运行。然后在服务中启动。

4、其他

  • 配置Filebeat以使用Logstash 【在logstash中有讲】

如果你想使用Logstash对Filebeat收集的数据执行额外的处理,那么你需要将Filebeat配置为使用Logstash。

output.logstash:
hosts: ["127.0.0.1:5044"]
  • 如果你打算用Kibana仪表盘,可以这样配置Kibana端点:
setup.kibana:
host: "localhost:5601"

更多配置参数,查看官网

二、工作原理

  Filebeat是使用GO语言开发,由两个主要组件组成:prospector 和harvester。这些组件一起工作来读取文件(tail file)并将事件数据发送到您指定的输出。

工作原理如下:当Filebeat启动时,它会启动一个或者多个prospector监控日志路径或日志文件,每个日志文件会有一个对应的harvester,harvester按行读取日志内容并转发至后台程序。Filebeat维护一个记录文件读取信息的注册文件,记录每个harvester最后读取位置的偏移量。

Filebeat配置

下面是一个简单的Filebeat配置,采集2个文件夹下的日志并转发至Logstash。

filebeat:
prospectors:
-
paths:
- /dir1/access_log.*
input_type: log
document_type: dir1_log
-
paths:
- /dir2/ofbiz.log.*
input_type: log
document_type: dir2_log
output:
logstash:
hosts: ["10.90.4.9:5044"]

在Logstash中根据 document_type定义解析日志的正则并输出到ELasticsearch集群。

input {
beats{
host => "192.2.11.145"
port => 5044
}
}
filter {
if[type]=="dir1_log"{
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
} else if ([type]=="dir2_log") {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:time}\s*%{NUMBER:logtime} \[\s*%{JAVAFILE:class}\:%{NUMBER:lineNumber}\s*\:%{LOGLEVEL:level}\s*\]\s*(?<info>([\s\S]*))"}
}
}
}
output {
elasticsearch {
hosts => ["10.90.4.9","10.90.4.8","10.90.4.7"]
}
}

中文翻译的配置参数:Filebeat6.3文档—Log input配置

更多参考官网学习

Filebeat在windows下安装使用的更多相关文章

  1. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  2. Windows 下安装 MongoDB

    Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D: ...

  3. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

  4. 从零开始学 Java - Windows 下安装 Tomcat

    谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...

  5. 从零开始学 Java - Windows 下安装 JDK

    关于未来 "我要死在火星.在我死去的时候能够想着人类能有一个美好的未来--有可持续的能源,同时能够殖民其他的星球来避免人类灭绝的最坏可能." 官网下载 直接打开官网:http:// ...

  6. windows下安装nginx

    说起开发,自己感到非常惭愧,由于公司让我给<绿电侠>项目写整体架构解决方案,才开始接触nginx这个东东,突然觉得它是一把非常好的利器. 本文主要记录在windows下安装nginx,另参 ...

  7. Redhat/Ubuntu/Windows下安装Docker

    Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...

  8. Windows下安装Redis

    1.首先,Redis官方是支持Linux系统的,我这里不多说,需要的可以参考:http://www.oschina.net/question/12_18065/ 2.Windows 64位下载地址:h ...

  9. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

随机推荐

  1. fastjson框架如何处理boolean?CURRENT_TIMESTAMP使用报错?什么是 ONLINE DDL 及 pt-online-schema-change ? getBytes引起的乱码问题?

    一.使用fastjson框架进行序列化时,若莫个参数为Boolean类型,而json里的值是其它类型时,框架如何处理? 1.true, false,正常赋值2.int类型,若为1,则为true,否则为 ...

  2. [jsp学习笔记]jstl标签的使用

    jstl常用在html嵌套 <body> <% session.setAttribute("q", "yushi"); request.set ...

  3. 进入恢复模式(Recovery HD)

    进入恢复模式(Recovery HD) 1,选中要启动的虚拟机,随后点击VM菜单的启动按钮后面向下箭头,随后点击菜单项”打开电源时进入固件“. 2,在虚拟机里面,用上下键移动到”Enter setup ...

  4. docker-每天5分钟玩转Docker容器技术

    安装 https://www.cnblogs.com/qinxu/p/10032176.html 安装教程,目前只能安装到18版本的,安装完后执行下面命令更新到版本19 yum install doc ...

  5. Programming Principles and Practice Using C++ Notes2

    第三章对象.类型和值 对象:用来保存一个指定类型值的一些内存单元. 类型:定义一组可能的值与一组运算(对于一个对象). 值:根据一个类型来解释的内存中的一组比特. #include <iostr ...

  6. sublime的package control的中文镜像

    参加: http://packagecontrol.cn/installation

  7. Django:Python3.6.2+Django2.0配置MySQL 转载

    Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库... 我使用的版本是:Py ...

  8. CentOS7清理老旧内核

    CentOS7如果是一步步内核升级上来的将会面临一个问题(一般安装了图形化界面的系统常见),由于内核增多/boot/的容量减少,导致启动变慢.这时就需要清理老旧内核,释放/boot/空间. 使用una ...

  9. jmeter多机联合负载

    操作步骤如下: 1.在负载机上部署Jmeter,确保Jmeter的bin目录下存在ApacheJMeter.jar与jmeter-server.bat两个文件. 2.双击启动负载机的jmeter-se ...

  10. Kotlin对象表达式深入解析

    嵌套类与内部类巩固: 在上一次https://www.cnblogs.com/webor2006/p/11333101.html学到了Kotlin的嵌套类与内部类,回顾一下: 而对于嵌套类: 归根结底 ...