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依然放在下一篇文章中講解,這里先放上架構圖。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM