天天看點

可觀測性-Elastic Stack 實戰手冊

可觀測性-Elastic Stack 實戰手冊
https://developer.aliyun.com/topic/download?id=1295 · 更多精彩内容,請下載下傳閱讀全本《Elastic Stack實戰手冊》 https://developer.aliyun.com/topic/download?id=1295 https://developer.aliyun.com/topic/es100 · 加入創作人行列,一起交流碰撞,參與技術圈年度盛事吧 https://developer.aliyun.com/topic/es100

創作人:亢偉楠

審稿人:曾紅

在開發技術越來越成熟便捷的今天,我們可以很輕松寫出來一個程式,用來進行各種各樣的業務流程。你能想象如果我們營運一個銀行系統,但是不知道每天轉賬的成功率、取現的效率嗎?

和銀行系統一樣,我們日常中的軟體系統,都需要盡量良好的觀測和測量,才能保證系統的健康。

正如管理大師彼得德魯克的名言,”If you can’t measure it, you can’t manage it.” 我們必須對我們的計算系統進行測量和觀測,才能進一步管理它。

業界對可觀測性的定義由Logging(日志),Metrics (名額)和 Tracing(跟蹤)組成。其中大多數軟體都僅在一個領域内發力,這導緻了實施可觀測性時的高昂成本。需要建設多個技術棧的軟體,才能實作完整的可觀測性。大多數企業基本都使用了 5個+ 的技術棧,有的甚至能達到10個技術棧。

那有沒有什麼低成本便捷的方案能幫助我們在企業中實施可觀測性?

Elastic 可觀測性 :一站式低成本解決方案

Elastic Stack 的可觀測性 (Observability) 産品是一個讓人滿意的答案。相較于市面上其他的可觀測性系統,Elastic Stack 能提供一站式全棧的可觀測性解決方案,而其他系統基本隻能提供一個方法的功能,實際落地中,需要搭配多套不同技術棧的系統實作,繁瑣且複雜。

Elastic Stack 提供開源的可觀測性能力,并且在雲原生計算基金會(CNCF)的2020年9月的可觀測性技術雷達評測中,獲得了“采納(ADOPT)”評級。

可觀測性-Elastic Stack 實戰手冊

圖1 可觀測性技術雷達

Elastic Stack 的可觀測性由 Logs 、APM(application performance monitor)、Uptime、Metrics 四個子產品組成,他們分别由四個元件提供支援。

元件對應情況如下:

  • Logs -- Filebeat
  • APM -- APM Server & APM agent
  • Uptime -- Heartbeat
  • Metrics -- Metricbeat

Logs

Kibana 中的 Logs 應用實作任何資料源日志的中心化,搜尋。Elastic Stack 是天然的日志處理的集大成者。最新的 Logs 子產品更是能實作在 web 的實時 tail、搜尋、分類和異常檢測功能。我們可以通過 Filebeat 或者 Logstash 把日志導入到 Elasticsearch 中。

可觀測性-Elastic Stack 實戰手冊

圖2 Logs 頁面

APM(Application Performance Monitor)

Kibana 中的 APM 應用可以實作分布式鍊路跟蹤、事務監控、依賴分析和基于真實使用者體驗的監控。該功能通過 APM Server 和 APM Agent 元件提供支援。

可觀測性-Elastic Stack 實戰手冊

圖3 APM 頁面

Uptime

為了幫助您在可用性問題,進而影響使用者之前快速做出相應。Uptime 子產品提供了對主機,網絡裝置以及第三方服務的整體可用性快照報告。根據其監控資料,可以檢視出目前的總監控點和分别處于 up\down 狀态的監控點。該功能通過 Heartbeat 元件提供支援。

可觀測性-Elastic Stack 實戰手冊

圖4 Uptime 頁面

Metrics

Metricbeats 支援讀取多大 50 種系統/資料源的 Metrics 采集,包括:資料庫,消息隊列,作業系統,檔案系統和網關等系統。将 Metrics 資料采集完畢後,在 Metrics 應用中可實作一站式的統一檢視、管理,甚至是基于機器學習的異常檢測。

可觀測性-Elastic Stack 實戰手冊

圖5 Metrics 頁面

以上四個子產品均支援告警功能。

Fleet:更友善的資料收集

Fleet Agent 提供了更簡單友善的統一的 Logs 資料、Metrics 資料和主機的其他資料。不在需要安裝多個 Beat 來實作對資料的收集。

Fleet 目前處于 Beta 階段。

參考連結:

  1. CNCF End User Technology Radar https://radar.cncf.io/2020-09-observability

創作人簡介:

亢偉楠,目前就職于 58 同城資訊安全部,任架構師。 在 Elastic 社群任日報編輯,曾

獲得中文社群傑出貢獻者獎項。平時對高并發、高可用等方向有較多關注,目前主要推

動可觀測性落地。

部落格:

https://cyberdak.github.io/