旨在提供思路。
- 基本需求:实现Java App自定义环境变量参数或者挂载配置集操作oneApm,并根据变量实现是否需要开启。
2.方案基本架构:
- 实现方案
a. 每个项目编写脚本,实现脚本控制是否引入oneapm探针,同时脚本控制编排文件实现是否启用。
该方案需要对每个应用项目进行引入脚本和jar,难以控制(人员项目分散)且不合规范,同时该脚本可行性待评估
b. 实现基础镜像封装oneapm探针,并对基础镜像进行参数化配置
该方案可以实现对原有项目基本0变动,针对需要实现的项目引入基础镜像即可。
- 实现步骤
a. 制作基础镜像
b. 项目引入
- 问题点
a. Mac运行出现Java不可运行二进制程序,是因为二进制文件为Linux版本。
通过修改源码中的Java为Mac中运行的Java(未实践)
ps: 采用remote模式跳过。
b. 基于centos sdk基础镜像必须交互式运行,否则则必须实现Java程序后台运行
自定义启动脚本实现参数化配置
c. 封装的基础镜像存在有时候搜集不到日志,重启容器服务解决。
- 项目地址
ps: 有兴趣的可以对脚本进行理解、优化,思路及最重要的点就是start.sh。