第一次查看這系列文章的讀者,歡迎參考 文章總覽與心得 幫助你了解這系列文章的架構與脈絡。
另外這系列文章有在我的網站整理成GitBook的格式,較易閱讀,提供大家參考。
去年參加第 12 屆的 iT邦幫忙鐵人賽,在飽受煎熬的度過 30 天之後,沒想過會要再參加下一屆,今年在經歷超過 100 次想放棄的念頭之後,在 9/15 最後一天報名截止日,填了報名表單,按下了送出,於是在 9/16 當天開始動筆寫下這篇文章。
(你沒看錯,就是學不會教訓,第二次參賽了還不懂得要先累積一些文章…)
本來少女人妻這次想落跑,今年換我把他推進坑!(不知她是誰的,她是我們上一屆的團長、也是推我入鐵人坑的兇手!)
今年除了我們去年團隊的三個成員,另外多找了三位新成員,總共六人報名,要團體完賽的難度加倍…夥伴們加油!也歡迎大家多鼓勵餵食我們!
最近幾年,特別是 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 絕對不會是唯一合適的選擇,而我會選擇他,是因為他提一個整合度、生態圈都蠻完整的整體解決方案,最重要的是能較快速的將好的理念實現出來,能實際幫助到團隊、產品、客戶,盡快產生出實際的價值,希望這系列的文章能幫助到有需要的人。
查看最新 Elasticsearch 或是 Elastic Stack 教育訓練資訊: https://training.onedoggo.com
歡迎追蹤我的 FB 粉絲頁: 喬叔 - Elastic Stack 技術交流
不論是技術分享的文章、公開線上分享、或是實體課程資訊,都會在粉絲頁通知大家哦!