可观测性-LOG
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)一键诊断,主动预测预警
一键式集群业务诊断,关键指标主动预测,提前预警
#######################