k8s-apm
apm全链路追踪
产品对比
pinpoint
Pinpoint是用 Java / PHP编写的用于大型分布式系统的 APM(应用程序性能管理)工具。受Dapper的启发,Pinpoint 提供了一种解决方案,通过跟踪分布式应用程序中的事务来帮助分析系统的整体结构以及其中的组件如何互连。
Skywalking
分布式系统的应用程序性能监控工具,专为微服务、云原生和基于容器的 (Kubernetes) 架构而设计。
CAT
- CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
- CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
- CAT 很大的优势是它是一个实时系统,CAT 大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。
Zipkin
bonree(收费)
基调听云
Skywalking
helm-k8s安装
1 | #添加仓库 |
springboot接入Skywalking
查看Skywalking oap服务地址
集群管理
->应用负载
->服务
->skywalking-oap
->dns+服务端口=skywalk oap 后端服务地址
idea agent接入
编辑vm参数,添加如下参数:
java -javaagent:~/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=127.0.0.1:11800
通过k8s sidecar无侵入接入
在kind: Deployment
配置文件添加如下配置:
1 | initContainers: #新添加初始化容器,主要用于拷贝skywalking-agent.jar包,也可以在dockerfile里面的基础镜像直接加,就不用初始化容器 |
常见问题
使用hutool工具的
HttpUtil.get
方法发现不能追踪链路?原理:skywalking版本9.2.0,升级agent镜像,升级之后能追踪。
解决:将
apache/skywalking-base:8.1.0-es7
替换成 apache/skywalking-java-agent:8.13.0-java8