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

中文翻譯的配置參數:Filebeat6.3文檔—Log input配置

 

 更多參考官網學習

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM