Beats介紹
Beats 是輕量型數據采集器,Beats 是一個免費且開放的平台,集合了多種單一用途數據采集器。它們從成百上千或成千上萬台機器和系統向 Logstash 或 Elasticsearch 發送數據。
官網:https://www.elastic.co/cn/beats/
文檔:https://www.elastic.co/guide/en/beats/libbeat/current/index.html
架構圖
Filebeat介紹
FileBeat 是一款輕量型日志采集器,當您要面對成百上千、甚至成千上萬的服務器、虛擬機和容器生成的日志時,請告別 SSH 吧。Filebeat 將為您提供一種輕量型方法,用於轉發和匯總日志與文件,讓簡單的事情不再繁雜。
Filebeat使用
使用准備:
系統:CentOS 7.4
本例使用的是ES 7.6.1版,Filebeat也是7.6.1版
ES安裝參考:【ElasticSearch】 ElasticSearch安裝(一)
使用步驟
1、下載Filebeat,filebeat-7.6.1-linux-x86_64.tar.gz
2、解壓到指定目錄
命令:tar -zxvf filebeat-7.6.1-linux-x86_64.tar.gz /data/soft/
Filebeat目錄結構如下:
目錄布局
類型 | 描述 | 默認位置 | 配置選項 |
home | Filebeat安裝的主目錄。 | path.home | |
bin | 二進制文件的位置。 | {path.home}/bin | |
config | 配置文件的位置。 | {path.home} | path.config |
data | 永久數據文件的位置。 | {path.home}/data | path.data |
logs | Filebeat創建的日志的位置。 | {path.home}/logs | path.logs |
3、在主目錄中,自定義一個測試配置文件test.yml,內容如下:
1 # 輸入 2 filebeat.inputs: 3 # 標准輸入 4 - type: stdin 5 enabled: true 6 7 # 輸出 8 # 輸出到控制台 9 output.console: 10 pretty: true 11 enable: true
4、啟動filebeat,指定配置文件運行filebeat
命令:./filebeat -e -c test.yml
5、在控制台輸入hello,效果如下:
6、命令說明
命令:./filebeat -e -c filebeat.yml
-
- -c:配置文件位置
- -path.logs:日志位置
- -path.data:數據位置
- -path.home:家位置
- -e:關閉日志輸出
- -d 選擇器:啟用對指定選擇器的調試。 對於選擇器,可以指定逗號分隔的組件列表,也可以使用-d“*”為所有組件啟用調試.例如,-d“publish”顯示所有“publish”相關的消息。
后台啟動filebeat
-
- nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 & 將所有標准輸出及標准錯誤輸出到/dev/null空設備,即沒有任何輸出
- nohup ./filebeat -e -c filebeat.yml > filebeat.log &
關閉命令:
-
- 查看filebeat進程:ps -ef|grep filebeat
- 殺死進程:kill pid
讀取文件
filebeat讀取文件示例
1、自定義一個測試配置文件test-log.yml,內容如下:
1 # 自定義測試配置文件test-log.yml 2 3 # 輸入 4 filebeat.inputs: 5 - type: log 6 enabled: true 7 paths: 8 - /data/logs/*.log 9 # 輸出 10 output.console: 11 pretty: true 12 enable: true
2、指定配置文件運行filebeat
命令:./filebeat -e -c test-log.yml
3、增加日志文件,並添加內容到日志文件中
命令:echo "hello" >> /data/logs/test.log
命令:echo "world" >> /data/logs/test.log
4、查看filebeat控制台輸出內容,如下:
輸出到Elasticsearch
1、自定義一個測試配置文件test-log.yml,內容如下:
1 # 自定義測試配置文件test-log.yml 2 3 # 輸入 4 filebeat.inputs: 5 - type: log 6 enabled: true 7 paths: 8 - /data/logs/*.log 9 10 # 指定索引的分區數 11 setup.template.settings: 12 index.number_of_shards: 3 13 14 # 輸出到指定ES的配置 15 output.elasticsearch: 16 hosts: ["127.0.0.1:9200"] 17 username: "elastic" 18 password: "123456"
2、指定配置文件運行filebeat
命令:./filebeat -e -c test-log.yml
3、增加日志文件,並添加內容到日志文件中
命令:echo "abc" >> /data/logs/test.log
命令:echo "123" >> /data/logs/test.log
4、查看ES索引數據,如下:
增加了2個索引
索引數據