https://cloud.tencent.com/developer/article/1889851
(1) Metrics + Logging => Loki
Promtail + Loki + Grafana
(2) Metrics + trace => exemplars
(3) Logging + Tracing => Tempo
Grafana Tempo 初體驗 - 雲+社區 - 騰訊雲 (tencent.com)
#####################################
#####################################
Opentelemetry調研實踐一(可觀測性到底在說什么) | Z.S.K.'s Records (izsk.me)
【痛苦】
同時,也會發現一個很痛苦的問題:這些開源項目大多是孤立的,之間沒有多大的關聯性,大公司可能有能力研發自己的可觀測平台實現大一統,對於小公司來說,需要在多個平台之前進行切換,如果有架構調整,那切換的成本相信是巨大的。
【觀測性能否做到統一呢?】
這也其實也是【思考】中第2個問題,簡單地說,能不能通過日志系統中的關鍵字,跳轉到trace系統中看這條日志所處的請求的所有鏈路。
答案是肯定的,grafana就做的非常不錯,統一了agent,從logging、trace、metrics三個緯度進行采集,loki實現了日志的存儲,新貴tempo實現trace的追蹤,metrics則原生支持prometheus,grafana則提供了統一的可視化界面,從agent到view集成度非常高。
但grafana不是作者要介紹的主角,client端的實現才是作者要深入調研實踐的主角,這就是CNCF牽頭開源的新項目: OpenTelemetry
總結一下,以上主要介紹了可觀性測是什么以及為什么需要可觀測性,但沒有回答一個很重要的問題:如何實現可觀測性,這其實是接下來要分享的內容,會詳細介紹借用OpenTelemetry如何實現可觀測性
################
AWS:從CloudWatch到AMP/AMG,全面擁抱開源
CloudWatch一直以來都是AWS最主要的監控服務,包含了監控、告警、日志、事件等功能。為了應對雲原生可觀測性場景,CloudWatch推出了Container Insights功能,並支持Prometheus指標接入。Container Insights為用戶構建了Prometheus指標面板,應用性能監控、集群拓撲圖等功能。
另外,AWS還與Grafana Labs合作,推出了兩款雲原生容器監控服務。一款是完全托管的Grafana服務Amazon Managed Service for Grafana(AMG),一款是完全托管兼容Prometheus的監控服務Amazon Managed Service for Prometheus (AMP)。同時,AWS跟進OpenTelemetry項目,發布了定制版的Otel Collector: AWS Distro for OpenTelemetry(ADOT)。通過ADOT、AMP、AMG的組合,AWS解決了安全性、高可用性、擴展性等問題,讓客戶在AWS上可以借助開源社區的優勢與力量實現雲原生可觀測性。
從CloudWatch Container Insights到AMG/AMP,再到AWS Distro for OpenTelemetry,可以看出AWS在不斷增強CloudWatch能力的同時,積極主動的與開源社區合作,並利用社區生態構建雲原生可觀測性產品。
################
阿里雲ARMS:以應用監控為核心,構建全鏈路監控能力
阿里雲ARMS主要能力圍繞應用監控構建,包括前端監控、后端監控、移動端監控、業務監控,雲撥測等。整體功能如下圖:
為了補足雲原生可觀測性能力,ARMS又陸續發布了Prometheus監控、容器監控(Container Insights)等功能。
ARMS Prometheus監控采用輕量PromAgent+托管存儲的策略,具備更輕量、更穩定、完全兼容開源生態等優點。如下圖所示:
ARMS 容器監控借助ARMS Prometheus監控的能力,實現對阿里雲容器服務的深度洞察。如下圖:
阿里雲ARMS不支持日志、鏈路追蹤能力,需要與日志服務SLS,鏈路追蹤服務配合使用才能實現完整的可觀測性體驗。不過ARMS依托強大的全鏈路應用監控能力,依然具備很強的市場競爭力。
################
Azure Monitor:發布Container Insights,兼容Prometheus開源生態
Azure Monitor是Azure統一的監控服務,支持Metrics, Logs, Traces等多種數據類型接入,為客戶提供可視化、分析、告警、洞察等功能。
與AWS CloudWatch類似,為了更好的支撐雲原生可觀測性,Azure Monitor推出了Container Insights功能,支持Prometheus類型的Metrics接入。
Azure Monitor也沒有直接使用Prometheus,而是基於自研的統一Agent(Log Analytics Agent)支持Prometheus類型Metrics抓取。Azure Monitor Container Insights架構圖如下:
Azure Monitor通過自研Agent的方式兼容開源Prometheus,來實現容器洞察。這種做法與AWS Distro for OpenTelemetry和阿里雲PromAgent異曲同工,有利於與開源生態整合。同時,統一Agent不僅負責Metrics指標抓取,還負責Logs數據寫入。這種統一數據接入能力,有利於節省租戶資源和整體可觀測性能力統一構建,用戶體驗較好。
#######################################
華為雲CIE:雲原生可觀測性統一解決方案
CIE(CloudNative Insight Engine)是華為雲容器團隊打造的可觀測性統一解決方案。CIE提供跨集群集中統一的雲原生容器化應用監控運維能力,支持多集群集中告警、事件管理,指標管理和分布式調用鏈跟蹤能力。借助CIE,用戶可以在華為雲上獲得容器化應用的全棧易用的可觀測性能力。CIE有如下產品特點:
1)全面兼容雲原生技術
基於原生K8s+Prometheus的監控架構體系,特性增強的開箱即用能力
從容應對容器生命周期動態變化、海量指標的挑戰
2)以應用為中心,聚焦業務指標
聚焦應用Golden Signal(RPS,Error,Duration)等,並適時關聯資源指標
3)Everything in One Place, 快捷排障
應用全景視圖和資源映射,無縫關聯告警、事件、日志
分布式調用鏈和依賴拓撲,應對服務網格化,快速排障
4)一鍵診斷,主動預測預警
一鍵式集群業務診斷,關鍵指標主動預測,提前預警
#######################