https://www.jianshu.com/p/e81e35dc6406
探针,用来收集和发送数据到归集器。
参考官网给出的帮助 Setup java agent,我们需要使用官方提供的探针为我们达到监控的目的,按照实际情况我们需要实现三种部署方式
java -jar
的方式启动应用)探针文件在 apache-skywalking-apm-incubating/agent
目录下
继续之前的案例项目,创建一个名为 hello-spring-cloud-external-skywalking
的目录,并将 agent
整个目录拷贝进来
修改项目的 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
-javaagent
:用于指定探针路径-Dskywalking.agent.service_name
:用于重写 agent/config/agent.config
配置文件中的服务名-Dskywalking.collector.backend_service
:用于重写 agent/config/agent.config
配置文件中的服务地址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容器
访问之前写好的接口 http://localhost:8081/echo/hi 之后再刷新 SkyWalking Web UI,你会发现 Service 与 Endpoint 已经成功检测到了
至此,表示 SkyWalking 链路追踪配置成功
SkyWalking 通过业务调用监控进行依赖分析,提供给我们了服务之间的服务调用拓扑关系、以及针对每个 Endpoint 的 Trace 记录。
点击 Trace
菜单,进入追踪页
点击 Trace ID
展开详细信息
上图展示了一次正常的响应,总响应时间为 185ms
共有一个 Span(基本工作单元,表示一次完整的请求,包含响应,即请求并响应)
Span /echo/{message}
说明如下:
点击 Service
菜单,进入服务性能指标监控页
选择希望监控的服务
点击 More Server Details...
还可以查看详细信息
上图中展示了服务在一定时间范围内的相关数据,包括:
/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