网站首页 > 博客文章 正文
Java Agent 服务器探针
探针,用来收集和发送数据到归集器。 参考官网给出的帮助 Setup java agent,我们需要使用官方提供的探针为我们达到监控的目的,按照实际情况我们需要实现三种部署方式
- IDEA 部署探针
- Java 启动方式部署探针(我们是 Spring Boot 应用程序,需要使用 java -jar 的方式启动应用)
- Docker 启动方式部署探针(需要做到一次构建到处运行的持续集成效果,本章节暂不提供解决方案,到后面的实战环节再实现)
探针文件在 apache-skywalking-apm-incubating/agent 目录下
源码目录
IDEA 部署探针
继续之前的案例项目,创建一个名为 hello-spring-cloud-external-skywalking 的目录,并将 agent 整个目录拷贝进来
image
修改项目的 VM 运行参数,点击菜单栏中的 Run -> EditConfigurations...,此处我们以 nacos-provider 项目为例,修改参数如下
-javaagent:D:\Workspace\Others\hello-spring-cloud-alibaba\hello-spring-cloud-external-skywalking\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=nacos-provider
-Dskywalking.collector.backend_service=localhost:11800
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容器
image
访问之前写好的接口 http://localhost:8081/echo/hi 之后再刷新 SkyWalking Web UI,你会发现 Service 与 Endpoint 已经成功检测到了
image
image
至此,表示 SkyWalking 链路追踪配置成功
SkyWalking Trace 监控
SkyWalking 通过业务调用监控进行依赖分析,提供给我们了服务之间的服务调用拓扑关系、以及针对每个 Endpoint 的 Trace 记录。
调用链路监控
点击 Trace 菜单,进入追踪页
image
点击 Trace ID 展开详细信息
image
image
上图展示了一次正常的响应,总响应时间为 185ms 共有一个 Span(基本工作单元,表示一次完整的请求,包含响应,即请求并响应)
Span /echo/{message} 说明如下:
- Duration:响应时间 185 毫秒
- component:组件类型为 SpringMVC
- url:请求地址
- http.method:请求类型
服务性能指标监控
点击 Service 菜单,进入服务性能指标监控页
image
选择希望监控的服务
image
- Avg SLA: 服务可用性(主要是通过请求成功与失败次数来计算)
- CPM: 每分钟调用次数
- Avg Response Time: 平均响应时间
点击 More Server Details... 还可以查看详细信息
image
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
# 日志文件最大大小
# 如果超过此大小,则会生成新文件。
# 默认为300M
logging.max_file_size=314572800
# 日志级别,默认为DEBUG。
logging.level=DEBUG
链接:https://www.jianshu.com/p/e81e35dc6406
猜你喜欢
- 2024-09-18 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- 2024-09-18 如何使用 SpringCloud 搭建服务注册中心?
- 2024-09-18 springcloud-microservice 快速构建分布式系统
- 2024-09-18 Eureka搭建分布式SpringCloud项目
- 2024-09-18 Spring Cloud 微服务实战——nacos 服务注册中心搭建(附源码)
- 2024-09-18 Spring cloud + vue + oAuth2.0搭建企业级微服务项目源码分享
- 2024-09-18 Nacos + Spring Cloud Gateway动态路由配置
- 2024-09-18 快速创建 Spring Cloud 应用的 Spring Initializr 使用及原理
- 2024-09-18 记录Spring Cloud应用在阿里云架构的一次部署
- 2024-09-18 SpringCloud在idea环境热部署微服务开发
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)