摘要:之前的分享曾講過,日誌採集的方式、採集的日誌如何存儲、採集的數據展示分析等幾個環節,並提了一下當下最流行的開源輪子EFK,如果你是第一次聽到這些,建議看看我前段時間分享的《一文講懂線上應用系統監控》那篇文章。神奇的是這款技術輪子,還真能把採集的日誌展示出來了,自此鳥槍換炮,媽媽再也不用擔心我因爲查詢日誌下班晚回家喫飯啦。

關注"一猿小講"的猿友們都知道,前段時間我在《一文講懂線上應用系統監控》給大家簡單提到了日誌歸集,埋下了伏筆,今天的這篇分享是來給大家還債的,主要從整體到局部,深入瞭解一下日誌歸集。如果你正在困惑於每天登錄服務器查詢業務日誌的繁瑣,或正在尋找一個業務日誌歸集的方案,那麼就請跟緊我的腳步,莫掉隊。

01.  放空大腦,去思考

衆所周知,生活中每做一件大事要有有計劃有步驟的進行。日誌歸集也不例外,就讓我們放下陳穀子爛芝麻的瑣事,靜下來隨着我思考一二。

“日誌歸集”四個字,從中我們看到操作的對象是:日誌;進行的動作是:歸集。

那該如何做呢?

之前的分享曾講過,日誌採集的方式、採集的日誌如何存儲、採集的數據展示分析等幾個環節,並提了一下當下最流行的開源輪子EFK,如果你是第一次聽到這些,建議看看我前段時間分享的《一文講懂線上應用系統監控》那篇文章。今天主要是實戰,理論性的東西點到爲止。

02. 拒絕空想,就是幹,傻瓜也能用 EFK

一切技術輪子都是紙老虎。有時,發現打破紙老虎的最佳方法,莫過於親身實踐。那就讓我們行動起來,真槍實彈從 0 到 1 搭建一個輕量級的日誌採集服務。

Filebeat

能輕鬆地將你關心的數據推送至你想存儲的地方,讓日誌採集的事情變的簡單化。

選擇適合自己的,纔是最好的 Filebeat 對不同的系統提供不同的可執行版本。 下載最新版本(Mac系統進行演示):

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.1.1-darwin-x86_64.tar.gz

要採集誰。

vi filebeat-7.1.1-linux-x86_64/filebeat.yml

往哪兒推。

vi filebeat-7.1.1-linux-x86_64/filebeat.yml

由於本次進行本機演示操作,所以默認地址配置就滿足需求。

一鍵啓動。

./filebeat -e -c filebeat.yml

Elasticsearch

可以集中存儲我們的數據,而且快到不可思議的查詢。

提供千萬款,總有一款適合你。 下載最新版本(Mac系統進行演示)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-darwin-x86_64.tar.gz

一鍵啓動。

bin/elasticsearch

論成敗。

curl http://localhost:9200/

Kibana

能夠對 Elasticsearch 中的數據進行可視化。集可點擊、可拖動、可挖掘本領於一身的可視化組件高手。

樂享 Kibana。縱佳麗三千,擇其一而終老。 下載最新版本(Mac系統進行演示)

wget  https://artifacts.elastic.co/downloads/kibana/k ibana-7.1.1-darwin-x86_64.tar.gz

一鍵啓動。

bin/kibana

啓動初戀的感覺。

一探究竟。

在瀏覽器中訪問 http://localhost:5601 ,效果圖如下。

到此採用 EFK 簡易的日誌採集架構就完成了。神奇的是這款技術輪子,還真能把採集的日誌展示出來了,自此鳥槍換炮,媽媽再也不用擔心我因爲查詢日誌下班晚回家喫飯啦。

03. 帶你牛,帶你飛

站在巨人的肩膀上。

由於 Kibana 功能比較多,有太多的功能用不到,相對還是比較笨重。所以公司往往都進行二次開發輕量級的查詢組件。

其中實現思路特別簡單:分析 kibana 日誌搜索向後臺發送的請求;摘取 elasticsearch 請求相關API;按照公司需求提供個性化查詢展示頁面。

輕量級 vs 重量級。

如果是輕量級的採集方案,那麼 EFK + 定時清理 elasticsearch 的腳本就夠用(目前線上採取的方案);如果是重量級 + 高可用,那麼在Fliebeat 與 Elasticsearch 中間加上一個隊列緩衝組件會比較靠譜。

04. 寫在最後

拒絕溫水煮青蛙,拒絕一味的 CRUD,如果平時工作中遇到痛點不妨稍微思考一二,看看有沒有更好的技術輪子可以引進,說不定會提高工作效率,那麼就可以抽出更多時間去喝咖啡、抽出更多時間去忙點自己的事情。

相關文章