Skip to main content

Java BCE方式保护后sjt_agent.jar的配置场景

描述#

Java BCE方式保护后会生成sjt_agent.jar,程序运行需要配置该jar包,由于不同的环境运行所调用的java方式不同,故sjt_agent.jar的配置也就不同。

以下举例常用场景下sjt_agent.jar配置的方式

注意:以下方式仅供参考,具体还需根据实际场景进而配置。

场景#

直接运行#

直接运行加壳后的程序。

1)若sjt库和jar包在同一目录,进入到jar包的当前目录下,直接执行

命令:java -javaagent:sjt_agent.jar-jar ***.jar

2)若sjt库和jar包不在同一目录,需要指定文件的全目录。

windows命令参考如下:

java -javaagent:C:\Users\test\Desktop\sjt\sjt_agent.jar -jar ***.jar

spark环境#

spark环境下如何配置sjt_agent.jar?

  1. 在.\spark-3.2.1-bin-hadoop3.2\spark-3.2.1-bin-hadoop3.2\conf目录下的spark-defaults.conf文件下进行修改;

  2. 若该目录下该conf名称为spark-defaults.conf.template,需要改成spark-defaults.conf;

  3. 然后sudo vi spark-defaults.conf;

  4. 在文件末尾添加spark.driver.extraJavaOptions="-javaagent:/usr/local/spark/jars/sjt_agent.jar",然后保存即可。

flink环境#

flink环境下如何配置sjt_agent.jar?

老版本flink#

  1. 在.\flink-1.12.7\conf目录下的flink-conf.yaml中添加配置;

  2. 添加env.java.opts: "-javaagent:sjt_agent.jar的全路径"

    注意env.java.opts:后面必须要有个空格。

新版本flink#

  1. 在flink-1.20.0\bin\config.sh文件中添加配置;

  2. 找到JVM_ARGS=""参数,添加sjt_agent.jar,参数:JVM_ARGS="-javaagent:sjt_agent.jar的全路径"

在中,如图所示:

以flink框架里自带的examples/streaming/SocketWindowWordCount.jar为例:

1.对该jar采用bce的方式进行保护;

2.将生成的sjt_agent.jar配置到flink-conf.yaml或config.sh文件下;

3.将保护后的SocketWindowWordCount.jar替换到examples/streaming/目录下;

4.执行./start-cluster.sh启动flink;

5.然后命令执行nc -lk 8889并回车,然后在网页上提交SocketWindowWordCount.jar;

6.在Running Jobs可以看到该jar包工作状态是Running;

7.点击“Job Manager Log”,可以查看该jar包的运行日志;(若是运行异常,也可以在这查看异常日志进而分析原因)

可以看到日志中sjt_agent.jar包已经添加并正常加载;

东方通环境#

东方通环境下如何配置sjt_agent.jar?

可以在管理控制台处,启动参数配置那里指定sjt_agent.jar ,参考如图所示:

注意:建议使用的tongweb里自带的jar的springframe版本需要是4.0以上,否则可能会出问题。

宝兰德环境#

宝兰德环境下如何配置sjt_agent.jar?

可以在JVM 配置参数处指定sjt_agent.jar ,参考如图所示:

skywalking环境#

使用skywalking-agent.jar时sjt_agent.jar如何配置?

命令行执行的时候在指定skywalking-agent.jar后面添加sjt_agent.jar的配置即可。

命令:

java -javaagent:<skywalking-agent.jar的路径> -javaagent:<sjt_agent.jar的路径> -jar <jar包>

例如:

java -javaagent:/data/agent/skywalking-agent.jar -javaagent:/var/lib/sjt_agent.jar -jar demo.jar

jpype调用jvm.dll环境#

使用python jpype调用jvm.dll的方式运行jar包时sjt_agent.jar如何配置?

class_path指待运行的jar包,option指配置的参数

代码参考如下:

option = "-javaagent:" + java_agentjpype.startJVM(jpype.getDefaultJVMPath(), option, "-Dfile.encoding=UTF-8", f"-Djava.class.path={class_path}")

Jboss环境#

使用Jboss软件运行war包时sjt_agent.jar如何配置?

1.若使用jboss 6版本运行,则在run.bat添加配置,参考如下:

2.若使用jboss 7以上版本,则在standalone.bat中添加配置,参考如下:

nass注册服务#

使用nass注册服务时sjt_agent.jar如何配置

在Application->Arguments里配置,参数如下:

-javaagent:<sjt_agent全路径> -jar <jar包全路径>

金蝶环境#

使用金蝶组件时sjt_agent.jar如何配置

在startapusic.cmd文件里,在OTHERS_JVMOPTS参数后面指定sjt_agent.jar文件存在的路径。