本章首先讲述本课程用到的项目结构是什么样的,然后用Docker搭建项目要用的组件,最后手写项目代码并模拟电商下单过程为后面章节正式开发APM系统做好准备。 后面的章节将通过APM涉及的三种功能,链路追踪,指标,日志,对此项目进行改造优化。
本章首先讲述了链路追踪技术的相关概念和面临的挑战,接着单独花一节讲述如何解决这些挑战,从而引出 分布式链路追踪相关的技术框架opentelemetry,jaeger,并对其用法进行了介绍。
本章将讲述APM系统涉及的另一个重要功能,应用服务性能指标的监控。首先介绍了性能监控指标相关的理论,然后引出业界对指标进行监控的解决方案即prometheus和grafana的组合。着重说明了prometheus涉及到的数据模型和常用函数,对之前的微服务项目代码进行改造,使其暴露出性能监控相关的指标,并通过grafana进行展示。最后本章还介绍了如何对这些指标进行告警处理。对电商下单微服务项目添加应用性能监控指标,掌握prometheus和grafana的用法
本章引入了golang 的pprof工具,来方便精准的定位到问题代码同时会介绍自动化pprof机制,方便在线上问题发生时自动保留问题现场。对电商下单微服务项引入自动化pprof机制,掌握golang pprof排查性能问题的方法对电商下单微服务项引入自动化pprof机制,以及golang pprof排查性能问题的方法。
本章将讲述实现APM系统涉及的第三种功能,日志收集进行介绍。首先介绍了日志收集的挑战,然后引出当前业界流行的解决方案ELK技术栈,进而介绍ELK中的各个组件,然后对此前微服务项目进行优化来支持后续的日志收集,最后实际演练日志收集过程。对电商下单微服务项目添加日志收集功能,掌握ELK技术实现对日志的收集以及如何运用日志进行监控。
本章首先分析了之前章节实现的告警机制的不足,提出了需要做的优化点,然后就是手写代码对这些优化点进行实现。基于Golang自研一个告警系统,形成监控告警的闭环。 掌握如何对针对指标和日志进行告警处理。
本章作为拓展篇,着重对APM系统提出了两个问题,如何衡量APM系统本身是正常运行的?,如何针对当前APM系统进行扩容? 并对这两个问题给出了解决方案。 这两个问题也是生产上必定会遇到的问题,特别在大规模集群监控环境下,尤其需要注意。讲解如何对APM系统组件做自监控,掌握APM系统升级扩容的思路和方法。
选课、学习遇到问题?
扫码添加指导老师 1V1 帮助你!
添加后老师会第一时间解决你的问题