跳转到内容

无人值守安装

如果要完全自动化安装 jvmguard,可以向安装程序传递参数 -q。这会让安装程序以无人值守模式运行。要设置 安装目录,传递参数 -dir [installation directory]

./jvmguard_installer.sh -q -dir /opt/jvmguard

要应用之前 GUI 或控制台安装中的用户输入,找到安装目录中的响应文件 .install4j/response.varfile,并用 参数 -varfile response.varfile 将其传递给安装程序。响应文件是纯文本文件,其中的属性定义可以在文本编辑器 中更改。本来包含在 config/application.yaml 中的设置不会从响应文件中读取。要修改它们,必须使用下面详述的 服务器配置机制。

在云环境中,可能需要回收实例,或者编写脚本用一个完全配置好的 jvmguard 安装来初始化新实例。为帮助完成这项 任务,jvmguard 安装程序会尝试从同一目录读取若干具有特殊名称的可选配置文件

以下各节将分别说明这些文件。

要调整 config/application.yaml 中的值,将一个来自已配置安装的 application.yaml 文件复制到安装程序 所在的目录。

安装程序会将该文件中的数据用作初始值。可以将文件内容精简到只包含与默认值不同的键,安装程序会为所有其他 选项提供默认值。删除注释或更改键的顺序都没有关系。默认文件中不存在的额外键会在末尾合并进来。

监控配置包括可以在 jvmguard UI 中调整的所有内容。在一个已配置的安装中打开常规设置,选择“导入 / 导出” 选项卡,点击“导出配置”。这会将整个服务器配置保存到文件。如果将该文件重命名为 jvmguard_server_config.json 并放入安装程序所在的目录,安装程序会在新安装中自动应用此配置。

上一节中的监控配置包含代理的配置。不过,有一种情况可能需要单独提供代理配置:当 jvmguard 代理首次连接到 jvmguard 服务器时,它会从服务器接收配置,因此一些类必须重新插桩以进行监控。

如果您的策略是避免所有类重转换,可以在 VM 组配置的“选项”步骤中指定。在这种情况下,任何配置更改都只会在 受监控的 VM 重启后应用。要在无人值守部署中避免重启的需求,可以提前导入代理的配置。

首先,打开记录设置并导出相关的 VM 组配置。然后,将导出的文件重命名为 jvmguard_recording_config.json 并放在安装程序旁边。安装程序会为运行在本机上的代理执行导入。对于其他 机器,必须通过调用以下命令自行执行导入:

java -jar jvmguard.jar import jvmguard_recording_config.json

代理从该文件中提取其配置,并以二进制形式写入目录

$HOME/.jvmguard/config

本机上的所有代理都会读取该目录。

注意,只有在要避免类重转换时才需要这些步骤。否则所有配置更改都会即时应用。

可以加密和认证受监控 VM 与 jvmguard 服务器之间的通信。文件 agent.ksserver.ks 构成一个密钥对,同时实现加密和双向认证。

对于无人值守部署,受监控的 VM 通常已经在使用某个特定的密钥对。在已配置的 jvmguard 安装中,这些文件位于 数据目录下的 ssl 目录中。将它们放在安装程序旁边,可以确保它们被复制到新安装中的相同位置,并且服务器 不会生成新的密钥对。

建议使用 SSL 加密 jvmguard UI 服务器与浏览器之间的通信。如果在安装 期间启用 SSL,会生成一个自签名 SSL 证书并保存到 jvmguard 数据目录中的 ssl/web.pkcs12。可以用由知名证书 颁发机构签署的证书替换该文件。

如果有这样的证书,可以将其以 web.pkcs12 为名放在安装程序旁边。在这种情况下不会生成自签名证书。