1、云原生可观测平台-Hera在小米的最佳实践2023 深圳站张志勇小米微服务与效率体系从0到1的建设者小米云原生的主导者和推动者云原生技术专家,开源社区参与者和贡献者,Apache Dubbo Committer、HERA 项目负责人2023 深圳站目录CONTENTS2023 深圳站HERA 介绍2023 深圳站Hera 介绍-云原生应用观测平台Hera机器应用容器网络Hera是由小米-中国区-Mione团队开源的一款云原生应用观测平台(https:/ 应用健康状态、指标看板、接口大盘、应用大盘 等丰富的监测看板及简洁明了的可视化明文报警。Hera 是什么?2023 深圳站Hera 介绍-云原
2、生应用观测平台Hera 核心特性快 报警-指标-链路-日志的串联和联动,给用户带来极致的问题排查效率准 基于业务错误码提取可用性指标,更理解业务请求的状况经济 小于1%存储成本,满足99.9%的tracing诉求拥抱云原生 遵循Opentracing标准、深度适配K8S、集成Opentelemetry、Grafana、Prometheus、ES等多个开源明星组件低侵入 基于Opentelemetry探针机制2023 深圳站Hera 产品介绍2023 深圳站Hera挑战20秒排查线上故障2023 深圳站HERA 在小米-中国区的最佳实践2023 深圳站Hera 探索-小米对云原生的探索基于Doc
3、ker自研容器编排技术,资源和网络隔离,内部进行大量的验证拥抱开源拥抱开源,积极推进开源社区发展(Hera目前已开源),积极参与反馈调研 k8s operator 使用场景,拓展k8s 能力。探索基于 operator 的自动扩缩容,心跳检测等服务拥抱Kubernetes推出基于 k8s 的 CICD 平台,基于云原生架构,快速部署、高效管理探索研发2023 深圳站Hera建设的背景&痛点服务质量指标缺失业务接入效率低报警效率低问题发现难故障定位难监控工具多、分散、链路无法串联工程依赖复杂、排查难度高依赖经验丰富的高级工程师,定位周期远大于5分钟修复周期长低效的问题发现与定位结合冗长的上线验证
4、流程将导致过长的事故恢复周期痛点服务稳定性保障的1-5-10之痛?1分钟发现,5分钟定位,10分钟解决2023 深圳站微服务可观测核心要点RPC可观测“三剑客”2023 深圳站Hera实践1:统一微服务架构微服务化容器化统一语言微服务统一Java统一RPC:MSF统一注册&配置中心:Nacos熔断限流:Sentinel以K8S为底座,封装CI/CD流水线平台,让业务应用完成容器化升级2023 深圳站Hera实践2:业务可用性指标生怕遗漏:日志关键字告警、指标告警、异常告警、重试告警、rpc告警等等告警多(多等于无)告警不准并不影响最终业务:异常重试、预警类的等等漏报:业务catch住了异常,封
5、装错误码能不能面向SLA预警?业务可用性指标(业务可用性=正确请求数/总请求数)统一业务错误码对象Result 统一错误码规范:5xx错误码为影响SLA请求 业务只需配置一个可用性指标告警即可2023 深圳站Hera实践3:metrics、tracing、logging联动 异常的span数据,会提取traceId、应用、实例、接口等属性进行单独存储;Request-scoped metrics 由链路数据按规范生成;告警触发时,可以从指标中可以提取到应用、接口、实例等信息,通过这些信息查询异常链路,实现联动;指标和链路联动 在Java 应用,接入链路追踪探针后,在log pattern中配置
6、%Xtrace_id,日志输出时,将会自动打印traceId。Go应用可自行打印 traceId 到日志中。日志和链路联动MetricsMetricsTracingTracingLoggingLoggingaggregatablerequest scopedeventsrequest scoped metric1423request scoped eventsaggregatable eventsrequest scoped,aggregatable events2023 深圳站Hera实践4:业务应用一键接入He