Beats是elastic公司的一款輕量級資料采集産品,它包含了幾個子産品:
packetbeat(用于監控網絡流量)、
filebeat(用于監聽日志資料,可以替代logstash-input-file)、
topbeat(用于搜集程序的資訊、負載、記憶體、磁盤等資料)、
winlogbeat(用于搜集windows事件日志)
另外社群還提供了dockerbeat等工具。由于他們都是基于libbeat寫出來的,是以配置上基本相同,隻是input輸入的地方各有差異。
本文按照如下的内容依次進行介紹:
背景知識:關于Powershell的使用
packetbeat的下載下傳、部署、使用、結果樣例
filebeat的下載下傳、部署、使用、樣例
topbeat的樣例
winlogbeat的樣例
如果你是想在linux下使用,那麼可以跳過本節。
elastic中的Beats在windows環境中基本都是使用Powershell的腳本,是以使用者必須對Powershell有一定的了解。Powershell可以了解成windows對指令行的進階封裝,加了個殼,進而支援更多進階的用法。在windows7開始,系統就内置了Powershell工具。是以如果你的系統是xp這種比較老的版本,就需要自己安裝Powershell了。
在windows下,有兩種方式打開Powershell(要以管理者的身份打開)。
在windows下開啟搜尋,輸入powershell,右鍵以管理者身份運作。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CMwcDNzUjN0UTMtYDM2QjMwEDOxEDM4AjNxAjMtQjNwkDN08CX4AjNxAjMvwFN2ATO0QzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.png)
在系統路徑C:\Windows\System32下,以管理者身份啟動cmd.exe(右鍵選擇 以管理者身份運作)。
輸入指令Powershell,進入Powershell指令視窗。
預設的情況下,系統會禁止運作腳本,傳回下面的錯誤提示:
需要修改該參數執行下面的指令,開啟Powershell腳本功能:
Packetbeat屬于beats産品的一部分,專門負責網絡資料包分析,可以:
針對特定的網卡監聽流量;
可以設定相關的監聽對象和端口号,支援dns,http,memcahce,mysql,pgsql,redis,thrift,mongodb等;
可以輸出到特定的目的地,如elasticsearch、logstash、file、console等。
<a href="https://www.elastic.co/downloads/beats">https://www.elastic.co/downloads/beats</a>
下載下傳.tar.gz的安裝包後,解壓:
進入解壓後的檔案夾,裡面有3個檔案:
配置檔案包括了幾大部分:
正常的運作:
如果想要背景運作,則可以像下面這樣:
預設日志都會輸出到nohup.out中。
相比linux,多了兩個powershell的腳本。
進入指定的目錄,運作注冊腳本。
Packetbeat配置如下:
Packetbeat配置如下:
logstash采用logstash-input-beats接收,配置可以參考如下:
PacketBeat配置:
預設是按照檔案大小輪詢。
日志可以設定輸出的位置,以及級别。跟平常使用的log4j差不多:
filebeat是Beats的重要組成部分,它可以作為輕量級的資料采集引擎,替代之前的logstash-forward。
filebeat.yml為filebeat的配置檔案,包括下面幾個部分:
filebeat.template.json 為預設提供的elasticsearch映射模闆
filebeat為主要的執行程式
運作指令解壓安裝包——filebeat.tar.gz
編輯filebeat.yml
啟動filebeat
以管理者身份運作cmd, 并執行<code>Powershell</code>指令,進入PS模式.啟動filebeat注冊腳本:
編輯配置檔案,filebeat.yml
啟動filebeat檔案
啟動方式與前面幾種類似,這裡就不過多贅述了。