📘喬叔帶你上手 Elastic Stack - 探索與實踐 Observability 系列
Last updated
Last updated
這系列文章是在 iThome 2021 年 IT邦幫忙 鐵人賽 時所撰寫,參加 DevOps 分組主題並得到冠軍的肯定,原始文章發佈於 iT邦幫忙網站。 (但排版不易閱讀,因此整理到 GitBook 這邊來)
以下針對這次的 喬叔帶你上手 Elastic Stack - 探索與實踐 Observability 系列 進行總覽介紹,方便讀者們掌握系列文章的架構與脈絡。
首先針對 Observability 的定義,以及 Elastic 對於 Observability 的觀點及所提出的解決方案進行介紹,並且在這邊帶出了 Elastic Observability 解進方案中的四大主軸 Uptime、Metrics、Logs、Traces。
針對 Elastic Observability 中的 Uptime 進行介紹 ,如何掌握系統的生命徵象,甚至如何從使用者體驗的角度來驗證服務的運作狀態。
Metrics 是系統 Monitoring 的基礎,在這裡將介紹 Elastic Observability 中的 Metrics 提供了什麼樣的能力,如何實作在自己安裝的機器上、Docker、K8S、甚至是 AWS 的雲端環境,以及如何使用 Metricbeat 來掌握 Elastic Stack 的健康狀態。
Logs 是系統運作細節的記錄,也是我們用來挖掘系統內部運作時發生什麼狀況的重要參考資訊,Elastic Observability 的解決方案之中,使用了 Filebeat 來負責收集散落在四處的 Logs,並且如何將收集到的 Logs 使用 Elastic Observability 來進行查閱。
Observability 的一個核心精神,是讓我們有能力觀察系統運作的狀況,Elastic Observability 當中的 APM (Application Performance Monitoring) 就是實現 Observability 這部份精神的其中一個重要的工具,幫助我們能輕鬆的掌握系統運作的效能分析、發生異常時環節、或是在複雜的多層次架構或是微服務架構之下,服務元件之間的相依性及影響的關連,這樣的工具要如何來使用及應用,將會是這個章節的主軸。
許多實務上的痛點,常常是收集一堆的 Logs,卻不容易使用,結構化的 Logs 會是 Logs 治理的重要關鍵之一,這個章節介紹了 Elastic Common Schema 的設計規範及準則,可以當作我們自行管理 Logs 的很好的參考,同時也介紹當我們要將 Logs 結構化時,如何使用 Elasticsearch 內建的 Ingest Pipeline。
針對前面章節所收集的各種 Observability 資料,說明如何使用進階的 Machine Learning 進行更有效的運用,並且在異常時主動通知的設定方式,以及 Observability 的資料管理,最後將分享實際參加 ElasticOn Observability Workshop 的競賽經歷,以及使用 Elastic Observability 的心得。