Beats 平臺集合了多種單一用途數據採集器。這些採集器安裝後可用作輕量型代理,從成百上千或成千上萬台機器向 Logstash 或 Elasticsearch 發送數據。 一、架構圖 此次試驗基於前幾篇文章,需要先基於前幾篇文章搭建基礎環境。 二、安裝Filebeat 下載並安裝Filebeat 修 ...
Beats 平臺集合了多種單一用途數據採集器。這些採集器安裝後可用作輕量型代理,從成百上千或成千上萬台機器向 Logstash 或 Elasticsearch 發送數據。
一、架構圖
此次試驗基於前幾篇文章,需要先基於前幾篇文章搭建基礎環境。
二、安裝Filebeat
下載並安裝Filebeat
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.1-x86_64.rpm yum install ./filebeat-6.0.1-x86_64.rpm
修改Filebeat配置文件
vim /etc/filebeat/filebeat.yml # 主配置文件 \- type: log # 文檔類型 paths: \- /var/log/httpd/access.log* # 從哪裡讀入數據 # 輸出在elasticsearch與logstash二選一即可 output.elasticsearch: #將數據輸出到Elasticsearch。與下麵的logstash二者選一 hosts: ["localhost:9200"] output.logstash: # 將數據傳送到logstash,要配置logstash使用beats接收 hosts: ["172.18.68.14:5044"]
啟動Filebeat
systemctl start filebeat
三、配置Filebeat
配置Logstash接收來自Filebeat採集的數據
vim /etc/logstash/conf.d/test.conf input { beats { port => 5044 # 監聽5044用於接收Filebeat傳來數據 } } filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}" # 匹配HTTP的日誌 } remove_field => "message" # 不顯示原信息,僅顯示匹配後 } } output { elasticsearch { hosts => ["http://172.18.68.11:9200","http://172.18.68.12:9200","http://172.18.68.13:9200"] # 集群IP index => "logstash-%{+YYYY.MM.dd}" action => "index" document_type => "apache_logs" } }
啟動Logstash
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf
四、模擬日誌訪問
通過curl命令來模擬客戶訪問,生成訪問日誌
curl 127.0.0.1
curl 172.18.68.51
curl 172.18.68.52
curl 172.18.68.53
五、驗證信息
清除之前實驗的舊數據(刪除時要在對話框中輸入刪除),然後可以看到filebeat採集數據經過Logtash過濾再送給Elasticsearch的數據。
擴展
隨著ELK日誌系統逐漸升級,現在已經能基於Filebeat採集各節點日誌,Logstash過濾、修剪數據,最後到ELasticsearch中進行索引構建、分詞、構建搜索引擎。現在可以基於Elasticsearch的Head查看在瀏覽器中查看,但是Head僅僅能簡單查看並不能有效進行數據分析、有好展示。要想進行數據分析、有好展示那就需要用到Kibana,Kibana依然放在下一篇文章中講解,這裡先放上架構圖。