《Prometheus大规模业务监控实战-张柳青.pdf》由会员分享,可在线阅读,更多相关《Prometheus大规模业务监控实战-张柳青.pdf(28页珍藏版)》请在三个皮匠报告上搜索。
1、大规模 Prometheus业务监控实战张柳青/百度智能云个人介绍张柳青百度智能云 云原生部2012年加入百度,长期从事监控、云原生方向架构与研发工作现任百度云原生可观测方向技术负责人Prometheus 业务监控遇到的挑战高性能 Prometheus 实践高可用 Prometheus 实践Prometheus 数据准确性问题总结与展望百度监控发展史200820122015脚本化监控统一监控平台开放监控平台智能监控平台平台统一监控能力可配置和自定义能力监控标准库智能异常检测故障根因诊断人工配置采集脚本PrometheusPrometheus、OpenTelemetryOpenTelemetry
2、规范标准化规范标准化指标、指标、TraceTrace、日志关联分析、日志关联分析2019业务监控在 Prometheus 中的落地场景故障管理故障发现故障定位容量管理容量治理自动扩缩容性能分析分阶段响应时间分析运营分析流量分析AB实验对比为什么Prometheus天然适合业务指标灵活的数据模型:Prometheus数据模型天然适合表达业务数据,Counter/Histogram/Summary,多维度指标模型丰富的数据可视化能力:PromQL 灵活分析能力全栈监控关联分析:集成移动端、资源、应用、业务等各类监控为一体,实现数据互通,全局分析大规模业务监控在 Prometheus 架构下的挑战高
3、性能高性能高可用高可用准确性准确性Prometheus单机引擎存在的问题Prometheus-server集采集、数据存储、PromQL查询、预计算、告警检测为一体易部署、易运维性能瓶颈单机Exporter采集性能有限本地存储写入性能存在瓶颈本地存储数据保存时长受磁盘大小限制可用性保障不具备高可用保障能力,单机故障采集失败、所有数据丢失Prometheus联邦高可用集群使用中央的Prometheus Server服务,来聚合多个Prometheus数据,实现扩展性使用主备+负载均衡来实现高可用中央Prometheus Server无法突破写入性能、磁盘大小瓶颈主备高可用方案单节点数据丢失,无法
4、补齐,概率性查询失败Prometheus 业务监控遇到的挑战高性能 Prometheus 实践高可用 Prometheus 实践Prometheus 数据准确性问题总结“降维打击”业务指标降维预聚合方案业务指标量级大原始指标量级:实例*单个实例业务指标采集层业务指标的预聚合降维方案发送到后端数据量减少90%以上采集聚合计算瓶颈优化Prometheus预计算,带来大量CPU和内存消耗。流式预聚合模块替代原有Prometheus预聚合,性能提升10倍基于主动探测的探测任务负载均衡不同类型探测端点产出指标数量不同,对采集端性能压力不同主动探测目标端点感知指标量级变化动态采集分片调整,提升集群整体利用
5、率高性能流式计算与报警引擎为什么要做预计算大指标量级的查询带来性能压力基于查询的预计算性能瓶颈大量级查询,单次查询耗时10s基于Flink的流式预计算方案高性能计算,不影响存储算子类型算子类型处理方式处理方式groupby子句维度取值,hash拆分并行计算聚合算子:sum/avg/.复合算子:sum(rate)/.局部预聚合+全局计算,避免计算热点累加计数器,无需全量缓存,显著降低内存CPU消耗时序数据降采样为什么要做降采样历史大跨度时间段数据检索,带来查询性能瓶颈业务指标长时间(1-5年)存储需求,带来存储压力降采样方案5min、1h多级降采样针对Prometheus算子的降采样方案数据类型
6、数据类型算子算子计算方式计算方式Gaugesum_over_timecount_over_timeavg_over_time.降采样周期内sum/count/avg等取值CounterHistogramSummaryincreaserate.降采样周期内Counter增量值Prometheus 业务监控遇到的挑战高性能 Prometheus 实践高可用 Prometheus 实践Prometheus 数据准确性问题总结采集层高可用容灾架构数据双采,K8S Lease资源自动选主,10s自动容灾切换Prometheu