《李平辉-如何进行多集群统一监控(GOTC深圳会场)(24页).pdf》由会员分享,可在线阅读,更多相关《李平辉-如何进行多集群统一监控(GOTC深圳会场)(24页).pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、CNCF云原生专场李平辉 2021年08月01日本期议题:如何进行多集群统一监控大纲1.云原生监控概览2.多集群场景的监控需求3.方案的对比选型4.实践总结Prometheus是Kubernetes监控的事实标准为什么是Prometheus多维度数据模型 基于键值对,类似于Kubernetes用label组织数据,可以提供灵活的时序数据存储查询。简单直接的指标格式和接口 Prometheus指标由HTTP协议暴露,是自描述、可读的格式。可以简单地用浏览器作检查。服务发现 可以自动发现和更新指标采集的目标,从而适应容器平台易变的应用负载。模块化组件 指标采集、告警、图形化交给不同组件去做,各组件
2、支持高可用。Prometheus does one thing,and it does it well.Brian BrazilPrometheus的局限基于指标(Metrics)的拉取(Pull)模型 非事件驱动。统计误差,如速率函数推断,降采样降低数据精度。HA的数据一致性 多副本普罗米修斯不保证数据一致性。横向扩缩容 不能支持灵活的横向扩缩容。管理多集群是普遍的需求:77.8%的受访者表示在使用多云或混合云 K8s和云原生运维报告,Canonical,2021多集群场景的监控需求全局视图 能聚合查询多个集群的基础设施和应用服务的监控指标提供良好的扩容能力 避免全局监控系统随集群/服务数量
3、的增加成为瓶颈。监控系统与受监控服务之间的可达性 监控系统需要能采集到不同集群的服务指标。可用性 监控系统的高可用。多集群监控方案对比1.Prometheus2.Cortex3.ThanosPrometheus Federation示意图Prometheus Federation示意图Prometheus Federation示意图Prometheus Federation架构简单横向扩容数据子集重复采集多副本数据去重总结:Cortex示意图Cortex示意图Cortex提供鉴权和访问控制提供整合的全局视图高可用架构较复杂要调整Prometheus配置总结:Thanos示意图Thanos示意图Thanos总结:架构简单无侵入配置提供整合的全局视图高可用没有鉴权和访问控制Cortex vs.Thanos特性CortexThanos多租户可用性长期持久存储压测性能架构复杂度社区活跃度产品化方案定型经验总结1.监控系统本身的稳定性-配置监控系统本身指标相关的告警-失能开关2.Prometheus性能主要受样本量影响,三百万以上规模考虑分片3.容量规划-大规模场景Prometheus内存占用较大-指标存储用量:size_per_sample*scrape_rate*series_number-远端存储轮换4.减少不必要的指标采集,避免告警泛滥THANKS