Java Agent是插件化、可插拔的。Skywalking的插件分为三种:
•引导插件:在agent的 bootstrap-plugins
目录下•内置插件:在agent的 plugins
目录下•可选插件:在agent的 optional-plugins
目录下
Java Agent只会启用 plugins
目录下的所有插件,bootstrap-plugins
目录以及optional-plugins
目录下的插件不会启用。如需启用引导插件或可选插件,只需将JAR包移到 plugins
目录下,如需禁用某款插件,只需从 plugins
目录中移除即可。
目前只有两款引导插件:
•apm-jdk-http-plugin
用来是监测HttpURLConnection;•apm-jdk-threading-plugin
用来监测Callable以及Runnable;
有关引导插件的功能描述,可详见: https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/README.md#bootstrap-class-plugins
。
内置插件主要用来为业界主流的技术与框架提供支持。所支持的技术&框架,详见 https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/Supported-list.md
。
关于可选插件的功能描述,可详见 https://github.com/apache/skywalking/blob/v6.6.0/docs/en/setup/service-agent/java-agent/README.md
。
Skywalking生态还有一些插件扩展,例如Oracle、Resin插件等。这部分插件主要是由于许可证不兼容/限制,Skywalking无法将这部分插件直接打包到Skywalking安装包内,于是托管在这个地址: https://github.com/SkyAPM/java-plugin-extensions
,使用方式:
•前往 https://github.com/SkyAPM/java-plugin-extensions/releases
,下载插件JAR包•将JAR包挪到 plugins
目录即可启用。