在微服务架构下基于 Prometheus 构建一体化监控平台的佳实践
微服务、容器化技术演进的监控之痛 云原生时代,为什么是 Prometheus
阿里云 Prometheus 在微服务场景的落地实践 大规模落地实践挑战和解决方案
云原生可观测性的发展趋势和展望
微服务、容器化技术演进的监控之痛
Aliware
个挑战:监控对象动态化
第二个挑战:监控层次/对象多样化
第三个挑战:监控内容复杂化
云原生时代,为什么是 Prometheus
Aliware
动态化:Prometheus 具有先发优势。在 Kubernetes 诞生之初,标配监控工具就是 Prometheus,天然契合 Kubernetes 的架构与技术特征,可以去自动发现监控目标。在大规模、监控目标不停变化的监控场景下,根据实践经验,主动拉取采集是一种比较好的实现方式,可以避免监控目标指标漏采,监控目标需要解决维护采集点配置以及 push 模式实现成本较大等一系列问题。其次,动态化的容器指标通过 Kubernetes 的 Kubelet/VK 组件采集,它们天然采用 Prometheus 格式生产和暴露指标数据。
多样化:因为 Kubernetes 有很多的控制面组件,比如 API server 等组件,也是天然通过 Prometheus 数据格式来暴露监控指标,这使得 Prometheus 采集这些组件的监控指标非常标准和简单。其次,Prometheus 是一个开放性社区,有 100+ 个官方或非官方 exporter 可以供大家使用。比如,你想监控数据库、消息队列、分布式存储、注册中心、网关,各种各样的 exporter 开箱即用,可以把原组件非 Prometheus 标准的数据格式转化成 Prometheus 的数据格式供采集器进行采集。再者,Prometheus 支持 go、Python、Java 等 20 多种语言,可以非常简单的为应用生成和暴露监控的 metric。后,Prometheus 可扩展性非常强,如果上面都满足不了应用需求,它也有强大的工具可以帮助业务方轻松的写出自己的 exporter。
-
复杂化:Prometheus 定义了一个多维模型。多维模型可以简单理解为我可以给任何事情都打上标签,通过标签的方式来描述对象的系统状态。多维模型听起来比较简单,但很多监控工具开始无法用这种方式去描述它的监控目标。通过多维模型,我们可以很容易刻画出整个监控目标的复杂状态,还可以刻画出应用之间的依赖关系。
Prometheus 落地实践方案
Aliware
大规模落地实践挑战和解决方案
Aliware
多云、多租场景 规模化运维
可用性降低,MTTD 和 MTTR 时间长 大数据量、大时间跨度查询性能差
GlobalView 高基数问题
高基数问题
大时间跨度查询
采集能力
云原生可观测性的发展趋势和展望
Aliware
相关文章