Filebeat在windows下安裝使用

1、windows下安裝Filebeat

官網下載安裝包 html

解壓到指定目錄,打開解壓後的目錄,打開filebeat.yml進行配置。linux

一、配置爲輸出到ElasticSearch

①:配置 Filebeat  prospectors->path 這裏的路徑是所要收集日誌的路徑 。。eg:在當前目錄下建一個data文件夾,裏面放下載的示例文件(在Logstash那篇),人家應該是linux下的文件。shell

我這裏將下載的日誌文件 加了後綴.log ,放在data目錄下windows

因此個人配置以下:elasticsearch

- 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。按照配置文件下面的示例配置便可。只能配置一個輸出。默認是ElasticSearchide

output.elasticsearch:
  # The Logstash hosts
  hosts: ["localhost:9200"]
默認狀況下,Filebeat寫事件到名爲filebeat-6.3.2-yyyy.MM.dd的索引,其中yyyy.MM.dd是事件被索引的日期。爲了用一個不一樣的名字,你能夠在Elasticsearch輸出中設置index選項。

二、cmd運行

  而後在當前目錄下,新建一個bat文件,eg : run.bat  內容post

.\filebeat -e -c filebeat.yml 

 單擊bat,啓動filebeat學習

正常狀況下,應該有個連接ES的過程,將數據輸出到es。fetch

 

打開ES能看到多了一個filebeat-6.6.2-年月日的索引。。ui

若沒有這個,而是一直Non-zero metrics inthe last 30s。這個時間參數是個掃描文件的頻率,能夠修改。那就要看下 配置的路徑對不對。命令行中會有讀取的文件的路徑信息,仔細檢查一下

三、安裝爲服務啓動

  filebeat目錄下有POWERSHELL腳本(install-service-filebeat.ps1),運行一下便可。將Powershell腳本的默認打開方式選擇爲Powershell.exe,直接運行。而後在服務中啓動。

四、其餘 

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

若是你想使用Logstash對Filebeat收集的數據執行額外的處理,那麼你須要將Filebeat配置爲使用Logstash。

output.logstash:
      hosts: ["127.0.0.1:5044"]
  • 若是你打算用Kibana儀表盤,能夠這樣配置Kibana端點:
setup.kibana:
      host: "localhost:5601"

更多配置參數,查看官網

2、工做原理

  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配置

 

 更多參考官網學習

相關文章
相關標籤/搜索