一款开源的系统性能监控工具(APM)
背景
在解决提报的IT性能问题时,由于缺乏系统性能监控运维的工具,导致问题排查非常困难,尤其是偶发的问题,无法进行问题复现还原,需要一套能实时监控线上系统性能的工具平台。
SkyWalking介绍
Apache SkyWalking 是一个应用性能监控(APM, Application Performance Monitoring)工具,主要用于分布式系统的观测性分析。它提供了一整套的功能来帮助开发者和运维人员理解和优化他们的应用程序性能。
追踪(Tracing):SkyWalking 支持分布式追踪,可以跟踪请求在微服务架构中各个组件间的流转路径,帮助识别系统瓶颈和故障点。
度量(Metrics):收集并展示各种性能指标,如响应时间、吞吐量、错误率等,以图形化的方式呈现,便于用户直观地了解应用的健康状况。
诊断(Diagnostics):基于收集到的数据进行异常检测,并提供报警机制,当发现潜在问题时能够及时通知相关人员。
可视化(Visualization):内置了丰富的仪表盘和报表功能,允许用户自定义视图,从不同角度查看系统的运行状态。
告警(Alerting):设置阈值规则,当某些关键性能指标超出预设范围时触发告警,确保团队能够在第一时间采取行动。
拓扑图(Topology Map):绘制出服务之间的调用关系图,清晰展现整个系统的架构布局和服务依赖关系。
日志关联(Log Correlation):将追踪数据与日志信息相结合,方便定位具体的问题代码行或事件。
配置管理(Configuration Management):支持动态调整探针的行为,例如采样率、上报频率等,无需重启应用即可生效。
SkyWalking应用场景
SkyWalking 广泛应用于微服务架构下的性能监测和故障排查,尤其适合那些采用容器化(如 Docker)、Kubernetes 或者 Serverless 技术构建的应用程序。它帮助企业更好地理解其复杂的分布式系统,快速定位并解决性能问题,从而提升用户体验和服务质量。
系统性能指标监控:收集并展示各种性能指标,如响应时间、吞吐量、错误率等,以图形化的方式呈现,便于用户直观地了解应用的健康状况。
系统异常告警:基于收集到的数据进行异常检测,并提供报警机制,当发现潜在问题时能够及时通知相关人员。
慢接口、慢sql查询:对系统慢接口、慢sql进行查询。
全链路日志追踪(问题定位):SkyWalking 支持分布式追踪,可以跟踪请求在微服务架构中各个组件间的流转路径,帮助识别系统瓶颈和故障点。
应用接入SkyWalking
第一步:搭建一个 Elasticsearch 服务
第二步:下载 SkyWalking 软件包。
第三步:搭建一个 SkyWalking OAP 服务。
第四步:启动一个 Spring Boot 应用,并配置 SkyWalking Agent。
第五步:搭建一个 SkyWalking UI 服务。
SpringBoot应用接入
下载Agent软件包
配置 Java 启动脚本
日志收集配置
引入依赖
配置文件增加日志收集Appender