Slide 1

Slide 1 text

五倍學院 讓數據說話 高見龍

Slide 2

Slide 2 text

五倍學院 資料 投影片 5xcamp.us/mopcon2024a 程式碼 5xcamp.us/mopcon2024b

Slide 3

Slide 3 text

五倍學院 等級:科普 / 新 手 以上,中階未滿

Slide 4

Slide 4 text

五倍學院 介紹 & 實際演練

Slide 5

Slide 5 text

五倍學院 愛玩、愛現,喜歡冷 門 的玩具 網站開發者、講師、作家 技術推廣、企業訓練、技術諮詢 部落格:kaochenlong.com 高見龍 @eddiekao

Slide 6

Slide 6 text

五倍學院 高見龍

Slide 7

Slide 7 text

五倍學院 第4x刷 發售中 發售中 發售中

Slide 8

Slide 8 text

五倍學院 11月 底發售

Slide 9

Slide 9 text

五倍學院 發售中

Slide 10

Slide 10 text

五倍學院 讓數據說話 高見龍

Slide 11

Slide 11 text

五倍學院 Telemetry /təˈlem.ə.tri/ Observability relies on three main types of telemetry data: metrics, logs and traces. Those are often referred to as "pillars of observability".

Slide 12

Slide 12 text

五倍學院 Telemetry /təˈlem.ə.tri/ metrics 定期收集「指標」,以數值 方 式呈現系統或服務的性 能,如 CPU 使 用 率、記憶體消耗量、網路流量等 舉例: 每 小 時賣了幾杯咖啡? 客 人 排隊等候平均時間是多久?

Slide 13

Slide 13 text

五倍學院 Telemetry /təˈlem.ə.tri/ 「 日 誌」是系統或應 用 程式在運 行 過程中產 生 的 文 字訊 息,通常 用 來紀錄重要事件或錯誤,包括時間戳記。 舉例: 10:02 咖啡機啟動。 10:03 沖泡了 一 杯拿鐵。 10:05 咖啡交給客 人 。 logs

Slide 14

Slide 14 text

五倍學院 Telemetry /təˈlem.ə.tri/ 「追蹤」請求如何在不同系統中流動,描述跨多個服務 的路徑。 舉例: 「顧客下單後,確認訂單 → 沖泡咖啡 → 結帳,每步驟花費的 時間是:訂單 2 秒、沖泡 45 秒、結帳 5 秒。」 traces

Slide 15

Slide 15 text

五倍學院 Telemetry /təˈlem.ə.tri/ 搜集、傳輸及分析資料,監控運作狀況和成效。

Slide 16

Slide 16 text

五倍學院 Prometheus /prəˈmiː.θi.əs/ Prometheus is an open-source systems monitoring and alerting toolkit with an active ecosystem.

Slide 17

Slide 17 text

五倍學院

Slide 18

Slide 18 text

五倍學院 Prometheus /prəˈmiː.θi.əs/ 收集、儲存、查詢、呈現資料 資料查詢語法(PromQL) 時間序列資料庫(TSDB) 警報通知 ⚠

Slide 19

Slide 19 text

五倍學院 Metrics Types Counter 發 生 了多少次? Gauge 目 前的值是多少? Histogram 持續多久?檔案多 大 ?

Slide 20

Slide 20 text

五倍學院 Metrics HTTP Endpoint /metrics 格式需符合規格 api_http_requests_total{method="POST", handler="/messages"}

Slide 21

Slide 21 text

五倍學院 Exporter 善 心大大 幫我們這些凡 人 寫的 收集資訊 → 轉換成符合 metrics 格式 HTTP Endpoint /metrics

Slide 22

Slide 22 text

五倍學院 Client Library 支 援好幾種程式語 言 寫程式抓取、分析、準備資訊 → library → 轉換成符 合 metrics 格式 HTTP Endpoint /metrics

Slide 23

Slide 23 text

五倍學院 Python /ˈpaɪ.θɑːn/ Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

Slide 24

Slide 24 text

五倍學院 Python /ˈpaɪ.θɑːn/

Slide 25

Slide 25 text

五倍學院

Slide 26

Slide 26 text

五倍學院 Python /ˈpaɪ.θɑːn/ 收集、分析資料。 爬蟲程式。 主動餵食!

Slide 27

Slide 27 text

五倍學院 Model, View, Controller Controller: Prometheus, Python Model: Prometheus View: ?

Slide 28

Slide 28 text

五倍學院 Grafana Grafana is a multi-platform open source analytics and interactive visualization web application. It can produce charts, graphs, and alerts for the web when connected to supported data sources.

Slide 29

Slide 29 text

五倍學院

Slide 30

Slide 30 text

五倍學院 Grafana 視覺化呈現。 華麗、華麗、很華麗的圖表!

Slide 31

Slide 31 text

五倍學院 架構

Slide 32

Slide 32 text

五倍學院 Pull vs Push Pull 可能遇到... 沒有厲害的 大大 幫我寫 exporter!🥺 防火牆、公司資安政策 要同時 Pull 好幾個不同的資料來源 資料 生 命週期短,還沒等到 Pull 來抓就消失了 😭

Slide 33

Slide 33 text

五倍學院 Pushgateway: 把資料主動推給 Pushgateway Prometheus 再跟 Pushgateway 把資料 Pull 拉回來 Pull vs Push

Slide 34

Slide 34 text

五倍學院 實際演練

Slide 35

Slide 35 text

五倍學院 資料 程式碼 5xcamp.us/mopcon2024b

Slide 36

Slide 36 text

五倍學院 啟動 安裝、啟動 Prometheus (9090) Grafana (3000) 分 支 : 00-up-and-running

Slide 37

Slide 37 text

五倍學院 監看:作業系統 CPU、記憶體使 用 量 網路流量 分 支 : 01-node-exporter-local & 02-node-exporter-remote

Slide 38

Slide 38 text

五倍學院 監看:Nginx 網 頁 瀏覽次數 分 支 : 03-nginx-exporter

Slide 39

Slide 39 text

五倍學院 覺得不夠好看嗎?

Slide 40

Slide 40 text

五倍學院 說故事

Slide 41

Slide 41 text

五倍學院 來說 一 個地震的故事 氣象資料開放平台

Slide 42

Slide 42 text

五倍學院

Slide 43

Slide 43 text

五倍學院

Slide 44

Slide 44 text

五倍學院 來說 一 個地震的故事 氣象資料開放平台的資料不是即時資訊 氣象局的網站有點不好抓... 分 支 : 04-earthquake-data

Slide 45

Slide 45 text

五倍學院 來說 一 個地震的故事 Metrics date 日 期 timestamp 時間 分 支 : 05-earthquake-metrics

Slide 46

Slide 46 text

五倍學院 來說 一 個地震的故事

Slide 47

Slide 47 text

五倍學院 還可以做些什麼事?

Slide 48

Slide 48 text

五倍學院 指揮艇,組合! Python 搜集、分析、餵食資料 Prometheus 搜集、存放、查詢資料 & 通知 Grafana 視覺化呈現

Slide 49

Slide 49 text

五倍學院 指揮艇,組合! 這是 一 種組合 不 一 定是最好的組合

Slide 50

Slide 50 text

五倍學院 指揮艇,組合! 在 手 握鐵鎚的 人 眼中 所有東 西 看起來都像釘 子 。

Slide 51

Slide 51 text

五倍學院 指揮艇,組合! 依賴單 一工 具 容易忽略更適合的解決 方 案

Slide 52

Slide 52 text

五倍學院 讓數據說話 高見龍

Slide 53

Slide 53 text

五倍學院 資料 投影片 5xcamp.us/mopcon2024a 程式碼 5xcamp.us/mopcon2024b

Slide 54

Slide 54 text

五倍學院 高見龍