Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Datacon 2019-ksql-kubernetes-prometheus

500 views

Published on

大部分使用容器技術的企業,不約而同都會搭配以 Kubernetes為首的容器管理調度平台。Kubernetes 己經成為各大雲端供應商相繼支持的平台, 同時也廣泛地在企業內部擔負起重要的角色。
為了能夠對 Kubernetes 有更完整的 Day2 運維機制, 佈建 Prometheus來收集 metrics 並搭配 alert manager 及 grafana 來搭建監控與預警的平台己經成為業界標準。
然而 Prometheus 的資料模型並無法讓我們簡單地加入一些額外要分析的 label (enrichment/join), 或是客製資料處理的邏輯。
因此, 結合了 Kafka 與 KSQL 來延伸對Kubernetes 的及時串流分析, 不僅補強 Prometheus 的弱項, 同時開展了對 Kubernetes 監控與預警的能力。

Published in: Technology
  • Be the first to comment

Datacon 2019-ksql-kubernetes-prometheus

  1. 1. 使⽤ KSQL 來即時串流分析 Kubernetes (Prometheus) 的 Metrics 訊息流 緯創IT先進技術實驗室
  2. 2. 有關講者 • 5年的生產管理/物料管理 • 3年的MES/SFC系統開發運維 • 3年的ERP (SAP-MM模組)/EAI 的導入開發Leader • 2年的End-To-End Business Integration Analyst • 1年的OEM Sales Team Leader • 4年的企業營運分析/集團合併財報系統部門經理 • 6年的大數據新技術研究/推廣 • 緯創IT先進技術實驗室(witlab) – 主持人 • 緯創工業4.0/數位轉型IT系統架構 – 架構師 • 2017 ,2018, 2019臺灣資料工程協會年會(Data-Conf.)的講者 2
  3. 3. 摘要 3 • ⼤部分使⽤容器技術的企業,不約⽽同都會搭配以 Kubernetes為⾸的 容器管理調度平台。Kubernetes ⼰經成為各⼤雲端供應商相繼⽀持的 平台, 同時也廣泛地在企業內部擔負起重要的⾓⾊。 • 為了能夠對 Kubernetes 有更完整的 Day2 運維機制, 佈建 Prometheus來收集 metrics 並搭配 alert manager 及 grafana 來搭建 監控與預警的平台⼰經成為業界標準。 • 然⽽ Prometheus 的資料模型並無法讓我們簡單地加入⼀些額外要分 析的 label (enrichment/join), 或是客製資料處理的邏輯。 • 因此, 結合了 Kafka 與 KSQL 來延伸對Kubernetes 的及時串流分析, 不 僅補強 Prometheus 的弱項, 同時開展了對 Kubernetes 監控與預警的 能⼒。
  4. 4. ⼀個房東的念想 4 • 資源池化意味著IT資源可以被統⼀管理、統⼀調度,可以根據業務的需 要提供最適合的資源,從⽽使有限的資源得到充分的利⽤。 • 服務化意味著終端租⼾(各個開發Team) 只需要進⾏簡單的⾃主服務 (Self-Service)訂閱操作,就可以迅捷地獲得服務與資源。
  5. 5. ⼀個房東的念想 5 平台的⽬標(1111): • One Cloud à IT的資源匯集在⼀朵雲中,資源可以在雲中以可控制與管 理的⽅式來流動 • One Stop à ⼀站式管理數據中⼼的資源和應⽤ • One Click à 租⼾可以⾃主式⼀鍵式取得資源(⽤多少, 付多少) • One Minute à 從租⼾申請服務到租⼾獲得服務的時間低於1分鐘
  6. 6. ⼀個房東的念想: 多租⼾管理 PaaS IaaS Bare metal SaaS Tenant Tenant Tenant Tenant 團隊#2團隊#1 團隊#3 團隊… 6
  7. 7. ⼀個房東的念想: 多租⼾管理 PaaS IaaS Bare metal SaaS Tenant 團隊#1 • 房東指定房客要住那⼀層樓 • 把樓層錀匙交給簽約的房客 • 把樓層的⽔表, 電表及⽡斯表設定使⽤額度 • 房客分配樓層裡的房間給每⼀個家⼈及房 間錀匙 7
  8. 8. ⼀個房東的念想: 資源池 PaaS IaaS Bare metal SaaS Tenant Tenant Tenant Tenant 團隊#2團隊#1 團隊#3 團隊… 8
  9. 9. ⼀個房東的念想: 應⽤程式市集 PaaS IaaS Bare metal SaaS Tenant Tenant Tenant Tenant 團隊#2團隊#1 團隊#3 團隊… Apps市集 9
  10. 10. ⼀個房東的念想: ⾃主監控 PaaS IaaS Bare metal SaaS Tenant Tenant Tenant Tenant 團隊#2團隊#1 團隊#3 團隊… 10
  11. 11. 當Kubernetes, Docker 偶遇 Rancher 11
  12. 12. 多租⼾管理/資源池 12
  13. 13. 多租⼾管理/資源池 13
  14. 14. 應⽤程式市集 Apps市集 14
  15. 15. ⾃主監控 15
  16. 16. ⼀個房東的念想 16 • 那怎麼算錢呢? • 那怎麼出細⽬呢? • 那房客⽤電暴錶怎麼即時知道? • ….
  17. 17. Prometheus簡介及其核⼼概念 17
  18. 18. 18 使⽤Prometheus進⾏Kubernetes監控:架構概述
  19. 19. 19 1. Prometheus服務器需要進⾏監控⽬標(target)⾃動發現。 使⽤Prometheus進⾏Kubernetes監控:架構概述
  20. 20. 20 2. 除了應⽤程序指標之外,我們還希望Prometheus收集與Kubernetes服 務,節點和業務流程狀態相關的指標。 使⽤Prometheus進⾏Kubernetes監控:架構概述
  21. 21. 21 3. Prometheus可以配置規則以使⽤PromQL觸發警報,alertmanager將負 責管理警報通知,分組等。 使⽤Prometheus進⾏Kubernetes監控:架構概述
  22. 22. 22 4. Alertmanager組件配置接收器,網關以發送警報通知。 使⽤Prometheus進⾏Kubernetes監控:架構概述
  23. 23. 23 5. Grafana可以作為Prometheus數據的顯⽰⾯板和儀表板。 使⽤Prometheus進⾏Kubernetes監控:架構概述
  24. 24. 串流處理Prometheus與Rancher資料 24
  25. 25. 如何及時處理不同資料源/事件 25
  26. 26. 26 Prometheus Remote write 6 架構: Kafka 與 KSQL 來延伸對Kubernetes 的及時串流分析
  27. 27. 27 Prometheus Remote write 6 Prometheus Remote write Connector prometheus-remote-write-1.0.0.jar 1. 啟動Prometheus “Remote Write”
  28. 28. Prometheus “Remote Write” https://prometheus.io/docs/operating/integrations 28
  29. 29. 啟動Prometheus “Remote Write” 在spec的下⽅ 增加remote write的設定 29
  30. 30. 啟動Prometheus “Remote Write” 確實收到從 Prometheus拋出 來的metrics了 kafka-avro-console-consumer --property schema.registry.url=http://xx.xx.xx.xx:8081 --bootstrap-server xx.xx.xx.xx:9092 --topic metrics 30
  31. 31. 31 Prometheus Remote write 6 Prometheus Remote write Connector prometheus-remote-write-1.0.0.jar 2. 取得Rancher的Project-to-Namespaces rancher-metadata-extractor-1.0.0.jar
  32. 32. 取得Rancher的Project-to-Namespaces https://medium.com/@gflourenco/part-i-rancher-2-java-api-client-hello-world-972c01e11bb6 32
  33. 33. 33 Prometheus Remote write 6 Prometheus Remote write Connector prometheus-remote-write-1.0.0.jar 3. 及時地Filter, Join 與Aggregate
  34. 34. Kafka 串流處理的演進 34
  35. 35. 什麼是KSQL? 35
  36. 36. 使⽤Kafka來進⾏串流處理 Stream Processing Filter / Aggregate / Join Kafka Cluster 36
  37. 37. KSQL與Kafka Kafka Brokers Zookeeper Source Systems Target Systems Avro Schema Avro Schema Producer Consumer Apache NiFi Confluent Schema Registry Kafka Streams KSQL ksql-cli Kafka Connect Java Producer Apache NiFi Kafka Connect Java Consumer 37
  38. 38. 3. 及時地Filter, Join 與Aggregate 38
  39. 39. 39

×