本文将为您介绍如何使用 Skywalking 协议上报 Java 应用数据。
前提条件
打开 SkyWalking 下载页面,下载 SkyWalking8.5.0 以上的(包含8.5.0)版本,并将解压后的 Agent 文件夹放至 Java 进程有访问权限的目录。
插件均放置在/plugins 目录中。在启动阶段将新的插件放进该目录,即可令插件生效。将插件从该目录删除,即可令其失效。另外,日志文件默认输出到/logs 目录中。
接入步骤
步骤1:获取接入点和 Token
进入 应用性能监控控制台 应用监控 > 应用列表页面,单击接入应用,在接入应用时选择 Java 语言与 SkyWalking 的数据采集方式。
在选择接入方式步骤获取您的接入点和 Token,如下图所示:
步骤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.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:<步骤一目录绝对路径>
JAR File 或 Spring Boot
在应用程序的启动命令行中添加
-javaagent
参数(-javaagent 参数一定要放在 -jar 参数之前),参数内容如下:java -javaagent:<skywalking-agent-path> -jar yourApp.jar
IDEA
在 IDEA 中运行时,可在 Configuration 中配置应用程序的 VM option,添加 -javaagent 参数,参数配置如上一致。