zoukankan      html  css  js  c++  java
  • Filebeat在windows下安装使用

    一、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_64datalogstash-tutorial.log*.log
        #- c:programdataelasticsearchlogs*

    ②:配置 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"]
    View Code

    在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>([sS]*))"}
        }
      }
    }
    output {
        elasticsearch {
          hosts => ["10.90.4.9","10.90.4.8","10.90.4.7"]
        }
    }
    View Code

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

     更多参考官网学习

  • 相关阅读:
    Git学习的网址
    (转)读懂diff
    如何让Beamer的logo放在右上角
    测试面试的一些分享
    python学习-使用制表符或者换行符来添加空白
    python学习-python变量的命名和使用
    python学习-运行.py时,python做了啥
    2020年,很特殊的1年
    python md5验签
    postman使用当前时间戳
  • 原文地址:https://www.cnblogs.com/peterYong/p/11065892.html
Copyright © 2011-2022 走看看