本文将为您介绍如何使用 SkyWalking 协议上报 Java 应用数据。
前提条件
打开 SkyWalking 下载页面,下载 SkyWalking 8.5.0 以上的(包含8.5.0)版本,并将解压后的 Agent 文件夹放至 Java 进程有访问权限的目录。
插件均放置在
/plugins
目录中。在启动阶段将新的插件放进该目录,即可令插件生效。将插件从该目录删除,即可令其失效。另外,日志文件默认输出到/logs
目录中。新的 Agent 文件夹目录如下所示:
新 Agent 文件夹目录
+-- agent
+-- activations
apm-toolkit-log4j-1.x-activation.jar
apm-toolkit-log4j-2.x-activation.jar
apm-toolkit-logback-1.x-activation.jar
.......
+-- config
agent.config
+-- plugins
apm-dubbo-plugin.jar
apm-feign-default-http-9.x.jar
apm-httpClient-4.x-plugin.jar
.......
+-- optional-plugins
apm-gson-2.x-plugin.jar
.......
+-- bootstrap-plugins
jdk-http-plugin.jar
......
+-- logs
skywalking-agent.jar
接入步骤
步骤1:获取接入点和 Token
1. 登录 腾讯云可观测平台 控制台。
2. 在左侧菜单栏中选择应用性能监控 > 应用监控,单击应用列表 > 接入应用。
3. 在右侧弹出的数据接入抽屉框中,单击 Java 语言。
4. 在接入Java应用页面,选择您所要接入的地域以及业务系统。
5. 选择接入协议类型为 Skywalking。
6. 上报方式选择您所想要的上报方式,获取您的接入点和 Token。
说明:
内网上报:使用此上报方式,您的服务需运行在腾讯云 VPC。通过 VPC 直接联通,在避免外网通信的安全风险同时,可以节省上报流量开销。
外网上报:当您的服务部署在本地或非腾讯云 VPC 内,可以通过此方式上报数据。请注意外网通信存在安全风险,同时也会造成一定上报流量费用。
步骤2:下载 Skywalking
若您已经使用了 SkyWalking,可跳过本步骤。
步骤3:配置相应参数及名称
SkyWalking Agent 支持多种方式完成参数配置,不同配置方式之间可以彼此组合,下面给出配置方式及其示例。
方法1:使用 agent.config 文件配置
打开
agent/config/agent.config
文件,配置接入点、Token 和自定义服务名称。collector.backend_service=<接入点>agent.authentication=<Token>agent.service_name=<上报的服务名称>
说明:
修改完
agent.config
需要把配置项前的反注释符号#
去掉。否则更改的信息将无法生效。方法2:Java VM Options
启动 Java 应用程序时,在命令行中添加相应以
-DSkywalking
开头的参数,以下给出方法一的等效范例。java -javaagent:<skywalking-agent-path>/skywalking-agent.jar-Dskywalking.collector.backend_service=<接入点>-Dskywalking.agent.authentication=<Token>-Dskywalking.agent.service_name=<上报的服务名称> 要启动的程序
方法3:设置相应环境变量
可以在系统中设置相应环境变量来完成 SkyWalking 客户端的配置,以下为 Linux 命令的示例。
export SW_AGENT_AUTHENTICATION=<Token> (等效于agent.authentication=Token)export SW_AGENT_NAME=<上报的服务名称> (等效于agent.service_name=<上报的服务名称>)export SW_AGENT_COLLECTOR_BACKEND_SERVICES=<接入点>(等效于collector.backend_service=接入点)
说明
以上三种方式读取优先级关系为:服务器配置 > 环境变量 > 配置文件。优先级高的配置会将优先级的低的配置覆盖。
替换对应参数值时,“< >”符号需删去,仅保留文本。
步骤4:选择相应方法指定插件路径
根据应用的运行环境,选择相应的方法来指定 SkyWalking Agent 的路径。
Linux Tomcat 7/Tomcat 8
在
tomcat/bin/catalina.sh
第一行添加以下内容:CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; export CATALINA_OPTS
Jetty
在
{JETTY_HOME}/start.ini
配置文件中添加以下内容:--exec # 去掉前面的井号取消注释。-javaagent:<skywalking-agent-path>
JAR File 或 Spring Boot
在应用程序的启动命令行中添加
-javaagent
参数(-javaagent
参数一定要放在 -jar 参数之前),参数内容如下:java -javaagent:<skywalking-agent-path> -jar yourApp.jar
IDEA
在 IDEA 中运行时,可在 Configuration 中配置应用程序的 VM option,添加
-javaagent
参数,参数配置如上一致。