More  

小編的世界 優質文選 主機

面對成百上千台服務器產生的日志,試試這款輕量級日志搬運神器


2020年8月30日 - 主機小編 馬家軍談Java 
   

下載完成後解壓到指定目錄,注意圖中所示的三個地方;

Kibana中早就提供好了Filebeat收集各種日志的教程,我們先進入首頁

點擊Add log data按鈕,可以發現支持的中間件還是很豐富的,涵蓋了常用的;

點開Nginx的日志收集教程看下,是不是很詳細;

接下來我們就要開始配置Filebeat了,配置好Elasticsearch和Kibana的連接地址,修改Filebeat的安裝目錄下的配置文件filebeat.yml即可,修改內容如下。

output.elasticsearch: hosts: <"localhost:9200">setup.kibana: host: "localhost:5601"收集Nginx日志

我們先拿Nginx來練練手,體驗下Filebeat的日志收集功能吧。

使用如下命令開啟Filebeat的Nginx日志收集模塊;

filebeat modules enable nginx

開啟完成後,進入modules.d目錄下,你會發現nginx.yml的disable後綴沒有了,說明已經被開啟;

接下來修改nginx.yml文件,配置好Nginx的access和error日志路徑;

# Module: nginx# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-nginx.html- module: nginx access: enabled: true var.paths: <"I:/developer/env/nginx-1.8.1/logs/access.log"> error: enabled: true var.paths: <"I:/developer/env/nginx-1.8.1/logs/error.log">

由於啟用了Nginx日志收集模塊,我們需要通過如下命令對Filebeat進行設置;

filebeat setup

通過如下命令啟動Filebeat服務;

filebeat -e

我們可以通過之前使用的Kibana中的Nginx教程頁面,檢查下數據是否成功被收集了;

點擊Nginx logs dashboard按鈕可以查看收集到的Nginx日志,先看看概覽日志;

再看看詳細日志,從此不用再去服務器上撈Nginx日志了!

收集Elasticsearch日志

接下來我們再試試收集Elasticsearch的日志。

使用如下命令開啟Filebeat的Elasticsearch日志收集模塊;

filebeat modules enable elasticsearch

接下來修改elasticsearch.yml配置,配置好Elasticsearch的日志路徑;

# Module: elasticsearch# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-elasticsearch.html- module: elasticsearch server: enabled: true var.paths: <"I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch.log"> slowlog: enabled: true var.paths: <"I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_index_indexing_slowlog.log","I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_index_search_slowlog.log"> deprecation: enabled: true var.paths: <"I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_deprecation.log">

設置並啟動Filebeat服務;

filebeat setupfilebeat -e

在Discover頁面中查看Elasticsearch日志。

收集MySQL日志

再來試試收集MySQL的日志。

使用如下命令開啟Filebeat的MySQL日志收集模塊;

filebeat modules enable mysql

接下來修改mysql.yml配置,配置好MySQL的日志路徑,主要是錯誤日志和慢查詢日志;

# Module: mysql# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-mysql.html- module: mysql error: enabled: true var.paths: <"C:/ProgramData/MySQL/MySQL Server 5.7/Data/DESKTOP-5NIMJ19.err"> slowlog: enabled: true var.paths: <"C:/ProgramData/MySQL/MySQL Server 5.7/Data/DESKTOP-5NIMJ19-slow.log">

設置並啟動Filebeat服務;

filebeat setupfilebeat -e

點擊MySQL logs dashboard按鈕可以查看收集到的MySQL日志;

查看MySQL收集到的日志詳情。

總結

本文主要介紹了使用Filebeat去收集Nginx、Elasticsearch和MySQL的文件日志,其他中間件的日志收集用法也基本相同,用Filebeat收集中間件日志是不是方便!

  大家在看