Filebeat簡介和演示
1.1 什么是filebeat?
Filebeat是用於轉發和集中日志數據的輕量級傳送程序。作為服務器上的代理安裝,Filebeat監視您指定的日志文件或位置,收集日志事件,並將它們轉發到Elasticsearch或Logstash進行索引。
Filebeat的工作方式如下:啟動Filebeat時,它將啟動一個或多個輸入,這些輸入將在為日志數據指定的位置中查找。對於Filebeat所找到的每個日志,Filebeat都會啟動收集器。每個收割機都讀取一個日志以獲取新內容,並將新日志數據發送到libbeat,libbeat會匯總事件並將匯總的數據發送到您為Filebeat配置的輸出。

1.2 filebeat的文件夾結構
| 描述 |
|
| filebeat |
用於啟動filebeat的二進制文件 |
| data |
持久化數據文件的位置 |
| logs |
Filebeat創建的日志的位置 |
| modules.d |
簡化filebeat配置的模板文件夾,如nginx/kafka等日志收集模板 |
| filebeat.yml |
filebeat配置文件 |
2.1 filebeat配置解析
首先進入filebeat文件夾下(ddcvc或dddvc都可以)

su elastic
vim filebeat.yml
2.1.1 輸入類型配置解析

從 /var/log/ 文件夾下收集后綴為 .Log 的文件,類型是log,不收集包含 .gz 的文件
2.1.2 輸出類型配置解析

hosts:要連接到的ElasticSearch節點的列表。事件按循環順序分發到這些節點。如果一個節點無法訪問,則事件將自動返送到另一個節點。每個Elastic節點都可以定義為URL或IP:PORT。若沒有指定port,則默認是9200
index:索引名稱。默認的格式是filebeat-%{[beat.version]}-%{+yyyy.MM.dd}(如filebeat-6.5.4-2020-09-23)。如果修改了這個配置,則必須同時配置setup.template.name和setup.template.pattern
2.1.3 Logstash輸出

hosts:指定配置的LogStash服務器和監聽的端口。
3.1 filebeat簡單示例
自己創建一個簡單配置文件(.yml)
vim filebeat_log.yml

Paths 收集自己文件logs下的log文件
Output.console 輸出到控制台(便於演示)
賦予其權限
chmod 755 filebeat_log.yml
#啟動filebeat命令
./filebeat -e -c filebeat_log.yml -d "publish"
-c 后面跟自定義配置文件 -d 是開啟debug模式

現在開始就在實時收集設定目錄下的log文件,可以再開一個窗口去log文件中寫入一些單詞看效果。

vim a.log
寫入一個filebeat

再切回原來那個窗口

控制台就輸出了這些內容
3.2 filebeat輸出到ElasticSearch示例
我們重新寫一個配置文件
vim filebeat_log2.yml

依舊監控我們filebeat的logs目錄
先賦予權限
chmod 755 filebeat_log2.yml
#然后運行該配置文件
./filebeat -e -c filebeat_log2.yml -d “publish”
切到第二個窗口在/ddhome/bin/filebeat/logs/下創建b.log
vim b.log
隨便寫幾個單詞

讓我們打開ElasticSearch頁面查看

已經自動生成了filebeat的索引,默認是以日期結尾
再點擊數據瀏覽

就能看見剛寫的幾條數據已經進入ElasticSearch了
