ACP雲原生容器工程師 - 日誌與監控

概述

阿里雲的可觀測性體系: 日誌管理、監控管理

日誌管理

Kubernetes可觀測性體系概述

  • 可觀測性指如何從外部輸出推測及衡量體系內部狀態

  • Kubernetes可觀測性體系包括:監控和日誌,是大型分佈式系統的重要基礎設施

    • 監控可以幫助開發者插卡系統的運行狀態
    • 日誌可以協助問題的排查和診斷
    • 在Kubernetes中,監控和日誌屬於生態的一部分,他並不是核心組件,因此大部分的能力依賴上層的雲廠商的適配。
    • Kubernetes定義了介入的接口標準和規範,任何符合接口的組件都可以快速集成。
  • Logging-日誌

    • 基於阿里雲日誌服務SLS提供了完整的日誌方案,可以對應用日誌進行收集、處理,並提供了操作審計,kubernetes事件中心等能力。
  • Metrics-監控指標

    • 對基礎設施服務(比如ECS、存儲、網絡),雲監控提供了全面的監控。
    • 對於業務應用的性能指標,ARMS無需修改業務代碼即可對Java和PHP應用提供全方位的性能監控。
  • Tracing-全鏈路追蹤

    • Tracing Analysis爲開發者提供了完整的分佈式應用調用鏈路統計、拓撲分析等工具。
    • 能夠幫助開發者快速發現和診斷分佈式應用中的性能瓶頸,提升微服務應用的性能和穩定性。

Kubernetes日誌使用場景

Kubernetes日誌使用場景主要分爲四個大的場景:

  • 主機內核的日誌: 協助開發者進行一些常見的問題與診斷:網絡棧異常、驅動異常、文件系統異常、影像節點(內核)穩定的異常。
  • Runtime日誌:主要包括Docker日誌
  • 核心組件的日誌:APIServer日誌可以用來審計,Scheduler日誌可以診斷調度,etcd日誌可以查看存儲狀態,Ingress日誌可以分析接入層流量
  • 部署應用的日誌:可以通過應用日誌分析插卡業務層的狀態,狀態異常。

Kubernetes日誌的採集

從採集位置上劃分,主要分爲三種:

  • 宿主機文件
  • 容器內文件
  • 容器標準/錯誤輸出

阿里雲ACK日誌服務

可創建兩種日誌:

  • 集羣日誌服務
  • 應用配置日誌服務

監控

監控類型

從監控類型上劃分,在Kubernetes中可以分成4個不同的類型:

  • 資源監控:主要監控CPU、內存、網絡等常規指標
  • 性能監控:應用的內部監控,通常是通過Hook的機制在虛擬機層、字節碼執行層通過隱式調用,或者是在應用層顯示注入,獲得更深層次的一個監控指標,一般是用來應用的調優和診斷的。
  • 安全監控:安全監控主要是對安全進行的一系列的監控監控,類似像越權管理、安全漏洞掃描等。
  • 事件監控:事件監控緊密貼合Kubernetes的設計理念,補充常規監控方案的欠缺和弊端。

監控工具

  • Cloud Monitor: 基礎資源監控
  • SLS: 阿里雲日誌服務
  • AHAS: 架構感知監控,應用高可用服務AHAS
  • ARMS APM:阿里雲應用性能監控ARMS
  • ARMS Prometheus:阿里雲託管版Prometheus
  • XTrace:鏈路追蹤Tracing Analysis

基礎資源監控Cloud Monitor

  • 雲監控

    • 是一項針對阿里雲資源和互聯網應用進行監控的服務
    • 雲監控用於監控各雲服務資源的監控指標,探測雲服務ECS和運營商站點的可用性,並針對制定監控指標設置報警。
    • 全面瞭解阿里雲上資源的使用情況和業務運行狀況,並及時對故障資源進行處理,保證業務正常運行。
  • 查看容器監控數據

  • 管理報警規則

日誌服務SLS

  • 主要負責日誌的採集、分析

  • 可採集以下日誌:

    • APIServer等核心組件的日誌
    • Service Mesh/Ingress等接入層的日誌
    • 應用的標準日誌
  • 提供上層的日誌分析能力

  • 默認提供了基於API Server的審計分析能力、接入層的可觀測性展現,應用層的日誌分析

應用實時監控服務ARMS

  • 是一款阿里雲應用性能管理(APM)類監控產品
  • 可以基於前端、應用、業務自定義等維度,迅速便捷地爲企業構架秒級響應的業務監控能力
  • ARMS提供一系列的監控定製功能,包括數據接入、數據計算、數據存儲、大盤展示與報警、下游API對接等環節
  • 用戶需要關心三件事:數據從哪裏來、實時計算怎麼編排、數據怎麼用

架構感知監控AHAS

  • AHAS是架構感知監控,通常在Kubernetes集羣中負載的類型大部分爲微服務,微服務的調用拓撲也比較複雜,因此當集羣的網絡鏈路出問題時,如何快速定位問題、發現問題、診斷問題則成爲了最大的難題。
  • AHAS通過網絡的流量和走向,將集羣的拓撲進行展現,提供更高層次的問題診斷方式。
  • 爲Kubernetes應用安裝AHAS探針後,AHAS能自動識別系統中的Pod、Deployment、Service和它們與其他組件的依賴關係
  • 通過採集Kubernetes元信息,構建Kubernetes資源的物理拓撲關係,支持自建Kubernetes集羣、阿里雲容器服務Kubernetes集羣

不同層次的監控解決方案

從可觀測性的角度,以ACK爲基礎的系統架構可以粗略分爲4個層次,自下而上分別是:

  • 基礎設施層
  • 容器性能層
  • 應用性能層
  • 用戶業務層

阿里雲容器服務ACK監控方案詳解

  • 基礎設施層可觀測性:包括架構可視化感知方案和基礎設施指標監控方向

  • 集羣、容器的性能指標監控:阿里雲託管版Prometheus監控方案、開源Prometheus監控方案、事件的監控方案

  • 應用性能可觀測性:無侵入應用監控APM監控方案、侵入應用監控APM監控方案

  • 用戶業務可觀測性:自定義日誌監控方案

小結

  • 阿里雲容器服務ACK版可觀測性體系包括:

    • Logging-日誌

    • Metrics-監控指標

    • Tracing-全鏈路追蹤

  • 阿里雲容器服務ACK版集成了日誌服務、在創建集羣時啓用日誌服務、快速採集Kubernetes集羣的容器日誌、包括容器的標準輸出以及容器內的文本文件

  • 阿里雲容器服務ACK版提供了雲原生標準的監控接口

    • 它將監控的數據消費能力進行了標準化解耦

    • 可以實現和不同雲廠商提供的監控服務進行標準化接入

    • 目前已經實現多個監控雲服務打通接入

  • 阿里雲容器服務ACK版監控生態解決方案分爲:

    • 基礎設施層場景的可觀測性

    • 容器性能層場景的可觀測性

    • 應用性能層場景的可觀測性

    • 用戶業務層場景的可觀測性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章