iT邦幫忙

2021 iThome 鐵人賽

DAY 1
1
DevOps

喬叔帶你上手 Elastic Stack - 探索與實踐 Observability系列 第 1

01 - 前言 & 淺談 Observability

第一次查看這系列文章的讀者,歡迎參考 文章總覽與心得 幫助你了解這系列文章的架構與脈絡。

參賽背景

去年參加第 12 屆的 iT邦幫忙鐵人賽,在飽受煎熬的度過 30 天之後,沒想過會要再參加下一屆,今年在經歷超過 100 次想放棄的念頭之後,在 9/15 最後一天報名截止日,填了報名表單,按下了送出,於是在 9/16 當天開始動筆寫下這篇文章。

(你沒看錯,就是學不會教訓,第二次參賽了還不懂得要先累積一些文章…)

本來少女人妻這次想落跑,今年換我把他推進坑!(不知她是誰的,她是我們上一屆的團長、也是推我入鐵人坑的兇手!)

今年除了我們去年團隊的三個成員,另外多找了三位新成員,總共六人報名,要團體完賽的難度加倍…夥伴們加油!也歡迎大家多鼓勵餵食我們!

什麼是 Observability (可觀察性) ?

最近幾年,特別是 2019~2020 年時,Observability 這個字變得非常的熱門,一方面微服務架構的普及化,傳統的系統服務監控方式開始發現不足以應付這樣複雜的系統,另一方面 DevOps 的理念及各種實踐方法也愈來愈被大家重視,因此如何能有效的掌握系統的運作狀態,也就被受重視。

針對 Observability 字面上可以簡單的解讀為:

透過系統外部所揭露資訊的觀察,能有效的掌握到系統內部的運作狀態

有不少針對 Monitoring (監控) 與 Observability (可觀察性) 進行比較的討論,有人覺得根本是一樣的,這個 observability 只是個 buzzword,而我這邊和大家分享一下我自己對於這兩個字的解讀。

Monitoring,可以比喻像是我們透過心電圖、心跳、血壓…等各種方式來掌握一個人的生命狀態,透過身體本身就會產生的各種訊息,來觀察我們身體的狀態,用來解讀甚至能監控我們身體健康情況,一但有異常就能即時發現,甚至是可以當作生病時找尋病源的參考資訊。

Observability,重點是 Observable (可被觀察的),如果今天是一個鋼鐵人,身穿盔甲,我們從外部測不到心跳、心電、血壓,這樣也就缺少了可被觀察的能力。

也就是說,讓身體的數據可以被取得、可以被觀察,也就是 Observability,並且因為有這樣的能力,我們也才有辦法做 Monitoring,因此若只是使用一堆 Monitoring 的工具,把系統的資訊給拉成一個個的 Dashboard,這樣並不適合叫做提升 Observability,而透過工具讓本來很不容易取得的資訊,能更容易的被觀察、分析、監控,甚至在服務或應用程式的設計上,將有被觀察意義的資訊給揭露出來,讓負責維護系統的人能有效的掌握系統狀況、盤查問題,這才是有效的提升系統的 Observability。

此系列文章的目的

這次會以 Observability 當作主題,主要是喬叔自己在軟體領域 20 多年來,在實務中深感 Observability 的重要,因此希望一方面透過這個主題,能將這方面的經驗與觀念整理出來,另一方面也想透過寫這篇文章時,能再次精煉我自己對於 Elastic Stack 的熟練程度,因此這系列會以 Elastic Stack 來當作提升系統 Observability 的解決方案,另外不會去和其他的競品比較,在這邊要先要解釋一下,Elastic Stack 絕對不會是唯一合適的選擇,而我會選擇他,是因為他提一個整合度、生態圈都蠻完整的整體解決方案,最重要的是能較快速的將好的理念實現出來,能實際幫助到團隊、產品、客戶,盡快產生出實際的價值,希望這系列的文章能幫助到有需要的人。


下一篇
02 - Elastic 的 Observability 解決方案
系列文
喬叔帶你上手 Elastic Stack - 探索與實踐 Observability31

2 則留言

0
華叔
iT邦新手 5 級 ‧ 2021-09-16 15:00:20

雖然今年不用怕喬叔叔不給我吃烤雞,但我們還是來一起衝向終點吧!

喬叔 iT邦新手 4 級 ‧ 2021-09-17 00:27:09 檢舉

我會努力跟上你的腳步,一起到終點的 XDDD

0

沒關係~~這個月碗都給你洗瞜

喬叔 iT邦新手 4 級 ‧ 2021-09-17 00:27:55 檢舉

/images/emoticon/emoticon14.gif

我要留言

立即登入留言