测试使用skywalking_Spring Cloud 整合 SkyWalking

Java Agent 服务器探针

探针,用来收集和发送数据到归集器。 参考官网给出的帮助 Setup java agent,我们需要使用官方提供的探针为我们达到监控的目的,按照实际情况我们需要实现三种部署方式

  • IDEA 部署探针
  • Java 启动方式部署探针(我们是 Spring Boot 应用程序,需要使用 java -jar 的方式启动应用)
  • Docker 启动方式部署探针(需要做到一次构建到处运行的持续集成效果,本章节暂不提供解决方案,到后面的实战环节再实现)

探针文件在 apache-skywalking-apm-incubating/agent 目录下

dba910bc78dca66df9d31b117a74cd07.png

源码目录

IDEA 部署探针

继续之前的案例项目,创建一个名为 hello-spring-cloud-external-skywalking 的目录,并将 agent 整个目录拷贝进来

ff2a32c4fcb2b98b021a82c8c975a456.png

image

修改项目的 VM 运行参数,点击菜单栏中的 Run -> EditConfigurations...,此处我们以 nacos-provider 项目为例,修改参数如下

-javaagent:D:WorkspaceOthershello-spring-cloud-alibabahello-spring-cloud-external-skywalkingagentskywalking-agent.jar-Dskywalking.agent.service_name=nacos-provider-Dskywalking.collector.backend_service=localhost:11800
496e2bf3c930f3d2187c653958256222.png

image

  • -javaagent:用于指定探针路径
  • -Dskywalking.agent.service_name:用于重写 agent/config/agent.config 配置文件中的服务名
  • -Dskywalking.collector.backend_service:用于重写 agent/config/agent.config 配置文件中的服务地址

Java 命令行启动方式

java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=nacos-provider -Dskywalking.collector.backend_service=localhost:11800 -jar yourApp.jar

测试监控

启动 nacos-provider 项目,通过观察日志可以发现,已经成功加载探针 注: 如果无法访问到,请重启skywalking容器

3cec142fc8f82cc52c68c71093794d37.png

image

访问之前写好的接口 http://localhost:8081/echo/hi 之后再刷新 SkyWalking Web UI,你会发现 Service 与 Endpoint 已经成功检测到了

2e7b239bd01d0f225d6edc120f47b0bb.png

image

18de919aca64f0756afc2580bc0977bb.png

image

至此,表示 SkyWalking 链路追踪配置成功

SkyWalking Trace 监控

SkyWalking 通过业务调用监控进行依赖分析,提供给我们了服务之间的服务调用拓扑关系、以及针对每个 Endpoint 的 Trace 记录。

调用链路监控

点击 Trace 菜单,进入追踪页

0647444d88f9c952fd0cd9c9af494090.png

image

点击 Trace ID 展开详细信息

c24fda8910141bdea0a15a1bb57836b6.png

image

62e9e2d1e0f4b5998b50d06615780614.png

image

上图展示了一次正常的响应,总响应时间为 185ms 共有一个 Span(基本工作单元,表示一次完整的请求,包含响应,即请求并响应)

Span /echo/{message} 说明如下:

  • Duration:响应时间 185 毫秒
  • component:组件类型为 SpringMVC
  • url:请求地址
  • http.method:请求类型

服务性能指标监控

点击 Service 菜单,进入服务性能指标监控页

8f4b73b9343ae654f1d2edf9181dd55f.png

image

选择希望监控的服务

f48a53a6fe0eb03192a5404a9370d6ad.png

image

  • Avg SLA: 服务可用性(主要是通过请求成功与失败次数来计算)
  • CPM: 每分钟调用次数
  • Avg Response Time: 平均响应时间

点击 More Server Details... 还可以查看详细信息

be4d10f2aee408aa6394c935745bbd61.png

image

f3254d5e47717af8303b1acb9a1bc84d.png

image

上图中展示了服务在一定时间范围内的相关数据,包括:

  • 服务可用性指标 SLA
  • 每分钟平均响应数
  • 平均响应时间
  • 服务进程 PID
  • 服务所在物理机的 IP、Host、OS
  • 运行时 CPU 使用率
  • 运行时堆内存使用率
  • 运行时非堆内存使用率
  • GC 情况

附A: 配置文件详解

/config/agent.config

# 当前的应用编码,最终会显示在webui上。# 建议一个应用的多个实例,使用有相同的application_code。请使用英文agent.application_code=Your_ApplicationName# 每三秒采样的Trace数量# 默认为负数,代表在保证不超过内存Buffer区的前提下,采集所有的Trace# agent.sample_n_per_3_secs=-1# 设置需要忽略的请求地址# 默认配置如下# agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg# 探针调试开关,如果设置为true,探针会将所有操作字节码的类输出到/debugging目录下# skywalking团队可能在调试,需要此文件# agent.is_open_debugging_class = true# 对应Collector的config/application.yml配置文件中 agent_server/jetty/port 配置内容# 例如:# 单节点配置:SERVERS="127.0.0.1:8080" # 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600" collector.servers=127.0.0.1:10800# 日志文件名称前缀logging.file_name=skywalking-agent.log# 日志文件最大大小# 如果超过此大小,则会生成新文件。# 默认为300Mlogging.max_file_size=314572800# 日志级别,默认为DEBUG。logging.level=DEBUG


链接:https://www.jianshu.com/p/e81e35dc6406

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值