





實現全面的系統監控和分析!
從零開始,構建強大的可觀測性架構
內容簡介
全面介紹 Grafana、Prometheus、Loki、OpenTelemetry 等核心工具!
實現全面的系統監控和分析!
從零開始,構建強大的可觀測性架構
概念導覽
深入淺出解析可觀測性概念
完整範例
使用 Docker Compose 展示多種實戰範例
多處適用
Kubernetes 與傳統服務皆適用
資訊整合
結合 Metrics、Logs 和 Traces 全面洞察
---
提升穩定/增加效率/結合應用
無論前後端,全面掌握系統運行!
本書改編自第15屆 iThome 鐵人賽 Cloud Native 組冠軍系列文章《時光之鏡:透視過去、現在與未來的 Observability》,提供完整且易於理解的可觀測性學習路徑,涵蓋核心概念和實踐方法。詳細介紹 Grafana、Prometheus、Loki、OpenTelemetry 等工具,並透過多個實戰範例,展示如何實現系統的可觀測性。
不僅如此,本書還特別強調了如何結合應用各種可觀測性資訊,讓脈絡更加豐富,有別於傳統的監控方法。新增的 Grafana Faro 章節讓前端服務也能配有可觀測性,並與後端的可觀測性結合,實現全面的監控和分析。
可觀測性不僅是技術的提升,更是對系統運行的全面掌握。透過《可觀測性入門指南》,你將學會如何利用主流工具和方法,提升系統穩定性和運行效率。本書將成為你在可觀測性領域的得力助手,幫助你在工作中如虎添翼。期待與你一同探索可觀測性的無窮樂趣!
❖目標讀者
●追蹤 Bug 感到頭痛的 Dev:學習高效定位和解決問題的方法與工具。
●定位線上問題疲於奔命的 Ops:提升問題排查效率,減少故障排除時間。
●希望了解和導入可觀測性的工程師:從基礎到實踐,全方位學習快速上手。
❖專業推薦
本書除了分解架構之外,還分享並解釋了這些架構背後的思路,值得所有 IT 從業者參考與學習。對於每個專案,不應盲目使用,而應以自己的方式進行分類,並將這種方法應用於其他相似的專案中。透過這種方式,可以加深對專案的理解,提升對整體架構的掌握。希望讀者能透過本書,不僅提升技術能力,還能在實踐中探索出屬於自己的學習方法,應對日益複雜的系統挑戰,成為引領技術發展的先鋒。
邱宏瑋(hwchiu)
本書的內容涵蓋廣泛,從三大基本的遙測信號──Metrics、Logs 和 Traces──出發,深入探討各種信號的使用場景與工具選擇。每個章節不僅介紹了理論知識,還搭配了實際操作的 Lab,使讀者能夠親自動手,迅速掌握各種工具的使用方法。這種理論與實踐相結合的方式,能幫助讀者在理解可觀測性核心概念的同時,熟練掌握操作技能。無論是初學者還是有一定經驗的技術人員,都能從中獲益匪淺。在閱讀這本書的過程中,我們不僅能掌握遙測信號的理論基礎與實際操作,還能體會到可觀測性在系統維運中的重要性與實用性。
可觀測性工程戰友 雷N
產品目錄
Chapter01 可觀測性的過去與現在
可觀測性要解決的問題
可觀測性資訊
可觀測性資訊的處理與使用
資料收集 Pattern
常見元件名稱
小結
參考資料
Chapter02 Grafana──洞察一切資訊的羅盤
Components
Data Source
Explore
Dashboard
Alerting
Concepts
Dashboard 設計的最佳實踐
Lab
小結
參考資料
PART2 Metrics
Chapter03 Metrics 緒論──萬物皆可度量
指標的基礎定義
指標資訊的處理流程
生成
收集
儲存
使用
小結
Chapter04 Prometheus──照亮來時路與前方途的火炬
Components
Prometheus Server
Exporter
Prometheus Client Library
Alerting
Concepts
Scrape Job
Prometheus Web UI Status
Metric Types
PromQL
Lab
Prometheus 與 PromQL 操作練習
Prometheus 與 Exporter
小結
其他補充資料
Chapter05 Monitoring Best Practices──監控的黃金法則
The USE Method
The Four Golden Signals
The RED Method
Lab
小結
參考資料
Chapter06 Long-Term Storage──指標的記憶殿堂
Mimir──收羅萬象的智者
Features
Concepts
Lab
Cortex──指標長期儲存的大師兄
高可用性(High Availability)與 Hash Ring
Lab
Thanos──統御 Prometheus 群集的霸者
Concepts
Lab
小結
參考資料
StatsD Library
StatsD Exporter
Lab
StatsD + Graphite
小結
參考資料
Chapter07 StatsD──捍衛效能的守護神
Concepts
Metrics Type
UDP
StatsD Library
StatsD Exporter
Lab
StatsD + Graphite
小結
參考資料
Chapter08 Zabbix──指標界的沙場老兵
Concepts
Host
Template
Group
Web Scenario
Lab
小結
參考資料
PART3 Logs
Chapter09 Logs 緒論──紀錄的一切都將成為呈堂證供
日誌資訊的處理流程
生成
收集
儲存
使用
小結
Chapter10 Loki──解開日誌空間與時間束縛的法杖
Concepts
Label
LogQL
快還要更快
儲存
Loki Docker Driver
Lab
小結
參考資料
Chapter11 Promtail──Loki 御用 Log 收集器
Concepts
Tail
Service Discovery
Pipeline
Lab
小結
參考資料
Chapter12 Fluent Bit──資料收集界的萬能瑞士刀
Concepts
Event
Config File
Pipeline
Service
Lab
Basic
Container Log with Loki
Container Log with Vivo
小結
參考資料
Chapter13 Vector──速度至上的資料收集界新星
Concepts
Pipeline
Config
Lab
Basic
Container Log with Loki
小結
參考資料
PART4 Traces
Chapter14 Traces 緒論──看系統,一個兩個三個四個,連成線
分散式追蹤發展歷程
Trace 資訊的處理流程
生成
收集
儲存
使用
小結
參考資料
Chapter15 OpenTelemetry SDK──Zero-code Instrumentation 給你一對翅膀
Zero-code Instrumentation
Config
Logging with OpenTelemetry
Python Zero-code Instrumentation
Java Zero-code Instrumentation
Lab
小結
參考資料
Chapter16 Tempo──小孩才做選擇,Trace 我全都要
Concepts
TraceQL
儲存格式
Metrics-generator
Lab
Basic
Fake Traces
小結
參考資料
Chapter17 Jaeger──系統軌跡,無所遁形
Concepts
Architecture
API 選擇
Sampling
Lab
小結
參考資料
Chapter18 OpenTelemetry Collector──依賴反轉,解耦應用程式與儲存後端
Concepts
Deployment
Configuration
Lab
小結
參考資料
PART5 綜合應用
Chapter19 Observability Signal Correlation──使用 Grafana 三劍合一,發揮綜效
Metrics and Logs
Metrics to Traces
Traces and Logs
Traces to Metrics
Lab
小結
參考資料
Chapter20 Span Metrics──OpenTelemetry Collector 的 Trace 鍊金術
Metrics from Traces
Jaeger Service Performance Monitoring
Lab
Basic
Jaeger SPM
小結
參考資料
Chapter21 Grafana Cloud 與 Alloy──Grafana Labs 的野望
Grafana Cloud
Grafana Alloy
Configuration
Metrics
Logs
Traces
To Grafana Cloud
Lab
Grafana Alloy
Grafana Cloud
小結
參考資料
Chapter22 Profiles 與 eBPF──Unlocking The Kernel
Profiles
Grafana Pyroscope
eBPF
Grafana Beyla
Lab
Pyroscope
Beyla
小結
參考資料
Chapter23 Faro──前端的可觀測性
Concepts
Web Vital
Architecture
Log-based Metrics
Usage
Alloy
Faro Web SDK
Faro Web Tracing
Lab
小結
參考資料
Chapter24 In Production 1──準備釋放你的 Observability 原力吧!
成本與效益
網路的複雜性
告警疲勞
小結
Chapter25 In Production 2 ──能力越強責任越大,別成為單點故障
可擴展性 Scalability
Grafana Stack
Kafka
高可用性 High Availability
Lab
Loki Scalable Monolithic
Jaeger with Kafka
小結
參考資料
Chapter26 In Production 3──如果資料要加上一個期限,我希望是一萬年
儲存哪些
Metrics
Traces
儲存多久
怎麼儲存
Lab
Loki Tempo Mimir with MinIO
OpenTelemetry Collector Filter
小結
Chapter27 總結──可觀測性的未來
可觀測性開源專案的未來──CNCF Projects
可觀測性資訊的未來
可觀測性技術的未來
可觀測性商業的未來
結語
參考資料
作者介紹
目前擔任 DevOps Engineer,樂於分享與交流技術。
擔任開發人員時前端、後端、ML 服務都略有接觸,有感於問題排除與監控的不足,於是開始研究與推廣可觀測性。
個人網站:https://blueswen.github.io/
【演講經歷】
PyCon Taiwan 2024 - 全方位強化Python服務可觀測性:以 FastAPI 和 Grafana Stack 為例
MWC 2023 - 從零開始打造可觀測性平台
DevOpsDays Taipei 2023 - 可觀測性實踐
iThome 鐵人賽獲獎
2023 Cloud Native 組冠軍《時光之鏡:透視過去、現在與未來的 Observability》
規格
退貨說明
退貨須知:
- 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
- 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。
依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
- 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
- 報紙、期刊或雜誌。
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
- 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
- 國際航空客運服務。
若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:
- 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
- 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
- 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
- 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。








