IAST技术知识-Java环境Agent部署知识干货分享

场景导入
目前IAST应用环境中,Java应用占据了90%以上。传统IAST对Java应用进行Agent安装时,需要修改Tomcat、WebLogic等的启动脚本,增加javaagent参数来实现Agent的安装加载。

对于安装人员来说,Agent安装需要知悉Web容器的安装路径,并且需要对每个容器的启动脚本进行修改,最后重启Web容器,完成Agent的安装。

在实际的使用过程中,部署人员常常由于脚本修改不当、找不到Web容器等问题导致安装失败。除此之外,当团队需要对几百上千个应用进行安装测试时,对安装人员来说将是一项异常艰巨的任务。此外,若后期需要对Agent进行升级或者卸载操作也将是一场运维灾难。
Agent部署技术基础
JDK从1.5版本开始引入了java.lang.instrument包,可以通过其更方便地实现字节码增强。核心功能由java.lang.instrument.Instrumentation提供,这个接口的方法提供了注册类文件转换器、获取所有已加载的类等功能,允许对已加载和未加载的类进行修改。
在JDK5中,开发人员只能在JVM启动时指定一个java agent,在premain中操作字节码,这种Instrumentaion方式仅限于main方法执行前,存在很大的局限性。从JDK6开始引入了动态Attach Agent的方案,可以在JVM启动后任意时刻远程加载Agent,jstack、jps、jmap等工具都是利用Attach API来实现的。
Instrumentation的第一种使用方式是通过JVM的启动参数-javaagent来启动,一个典型的使用方式如下所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值