跳到主要内容
版本:3.7.0

安装参数

参数说明

信息

注意:在覆盖安装时,若不指定安装参数,则默认沿用上一次安装的配置。
安装参数格式如下:

  • Windowsinstaller.exe {安装参数列表}
  • Linux/AIXsh installer.sh --target {安装目录} config {安装参数列表}

installer.exeinstaller.sh 请替换为具体的安装程序名称,详细见:安装

示例中的 "..." 代表其它安装参数。

参数名必填支持范围说明示例
--target [val]①
[1.2.2+]
linux指定安装目录的绝对路径:
root 用户安装:默认目录为 /opt
非 root 用户安装:默认目录为 $HOME
sh installer.sh --target /path config ...
注意事项:请确保目标路径中所有层级目录的权限均不低于 755
可使用以下命令检查:
dir="/opt"; while [ "$dir" != "/" ]; do [ $(stat -c %a "$dir") -lt 755 ] && echo "$dir 权限不足"; dir=$(dirname "$dir"); done
-a, --account [val]linux
windows
aix
指定账号GUIDsh installer.sh config -a "xxxx-xxx" ...
-u, --url [val]见③linux
windows
aix
APM Controller地址sh installer.sh config -u "https://oneupload.bonree.com/APM" ...
-l, --logs-url [val]
[7.2.0+]
见③linuxLogs Controller地址sh installer.sh config -l "https://oneupload.bonree.com/controller/logs" ...
--set-network-zone [val]
[6.6.0+]
linux
windows
设置网络区域
首次安装默认:不设置
若当前主机上存在宿主机方式安装的SmartGate有指定该参数,将与SmartGate的网络区域保持一致
sh installer.sh config --set-network-zone "default" ...
--set-cluster-name [val]
[6.9.0+]
linux
windows
设置集群名
首次安装默认:不设置
若当前主机上存在宿主机方式安装的SmartGate有指定该参数,将与SmartGate的网络区域保持一致
sh installer.sh config --set-cluster-name "default" ...
--set-env-id [val]
[7.4.0+]
linux
windows
设置环境标识
首次安装默认:不设置
若当前主机上存在宿主机方式安装的SmartGate有指定该参数,将与SmartGate的网络区域保持一致
sh installer.sh config --set-env-id "default" ...
--set-host-attr "datacenter=[val]"⑦
[9.1.0+]
linux
windows
设置数据中心等主机属性
首次安装默认:不设置
若当前主机上存在宿主机方式安装的SmartGate有指定该参数,将与SmartGate的网络区域保持一致
sh installer.sh config --set-host-attr "datacenter=123" ...
--set-host-tag [k1=v1,k2]⑦
[9.1.0+]
linux
windows
设置主机标签
首次安装默认:不设置
若当前主机上存在宿主机方式安装的SmartGate有指定该参数,将与SmartGate的网络区域保持一致
sh installer.sh config --set-host-tag "tag=123,tag2" ...
--disable-dumpproc [true/false]②
[6.10.0+]
linux⑥禁止采集崩溃报告及事件
首次安装默认 false
sh installer.sh config --disable-dumpproc true ...
-t, --enable-agent-types [val]linux
windows
aix
指定需启用的探针列表,英文逗号分隔
首次安装默认"java,dotnet,php,go"
sh installer.sh config -t "java,dotnet,php,go,nginx,apache" ...
--user [val]
--group [val]
--non-root-mode [true/false]②
[2.1.0+]
linux④默认值:探针服务进程默认以 bruser 用户身份运行。
用户与用户组创建:安装过程中,如系统中不存在指定的用户与用户组(默认bruser:bruser),将自动创建,无法更改已创建用户的归属组,用户名需要核实在用户组下
安装过程创建的用户:
无密码
禁止登录(仅用于运行探针服务)
详细见:非特权运行模式
--force
[7.2.0+]
linux非root用户下安装强制安装(非root下安装、容器内安装需携带该参数,方可安装,root下该参数无任何效果)
详细见:宿主机非root安装
--reset-conf ...
--set-conf ...
--delete-conf ...
[>=5.8.0 且 < 6.0.0] [6.7.0+]
linux设置配置文件详细见:安装时修改配置文件
--set-inject-mode [0/1]⑤
[8.3.1+]
linux设置注入模式
可选值:
0 - 除了平台定义的规则外,默认挂载探针至所有容器内,再去匹配进程深度监控规则
1 - 除了平台定义的规则外,默认不监控所有容器
sh installer.sh config --set-inject-mode 0 ...
--set-monitoring-mode [infra|full]
[9.7.0+]
linux设置监控模式
默认值:full
可选值:
infra:仅监控基础设施(不开启语言类应用探针自动注入、不包含ebpfagent)(包含machineagent、logsagent)
full:全栈监控
sh installer.sh config --set-monitoring-mode infra ...
信息

①、[val] 表示参数占位符
②、[true/false]:表示只能填写 true 或 false
③、当存在任意参数时,APM Controller地址 和 Logs Controller地址,必须至少填1个。

  • 如果有指定安装参数但是没有指定 -u 参数将禁用APM功能。
  • 如果有指定安装参数但是没有指定 -l 参数将禁用日志收集功能。

④、表示该参数不支持非root安装,若设置该参数则不生效。
⑤、[0/1]:表示只能填写 0 或 1。
⑥、容器化部署始终为true(由于容器化部署,挂载的宿主机根目录不一定为真实的系统根目录,故强制禁用)。
⑦、[k1=v1,k2]:逗号分隔的键值对,值可空。例如:"k1=v1,k2=,k3"


非特权运行模式

注意

不支持非root安装
仅支持 linux

该模式下SmartAgent将以非特权用户运行服务进程,并利用Linux Filesystem Capabilities限制运行进程所需额外的最小权限集


系统要求

  • 系统必须安装libcap2(是否有安装libcap.so.2动态库)。例如,Red Hat Enterprise Linux 5 默认没有安装libcap2
  • 系统必须支持 extended attributes
  • 安装目录所在磁盘不能挂载为noexecnosuid
  • 必须支持并启用Linux Filesystem Capabilities (Linux Kernel版本 2.6.26 以上,例如SUSE Linux Enterprise Server 11 默认不启用该特性)。

如何启用Linux Filesystem Capabilities

SUSE Linux Enterprise Server 11 默认不启用Linux Filesystem Capabilities

其它Linux发行版或分支版可能也存在默认禁用的情况。SmartAgent在安装过程中如遇到该情况将提示以下警告信息,并以特权模式继续安装:

WARNNING: Failed to enable non-privileged mode, kernel `does not` support file capabilities.

请检查内核启动项,查看是否启用Linux Filesystem Capabilities。可通过以下命令确认:

$ cat /proc/cmdline

如果回显结果包含file_caps=1,则该特性为启用状态。

如需启用该特性,请将file_caps=1添加至内核启动项(例如:SUSE Linux Enterprise Server 11,可使用YaST编辑内核启动项,然后重启机器即可)。


安装方式

# --non-root-mode [true/false]  开启/关闭非特权运行模式, 首次安装默认值为true
# --user [user name] 非特权模式下为SmartAgent相关进程运行用户,首次安装默认值为bruser
# --group [group name] SmartAgent相关文件属组,默认值与`--user`一致,仅与`--user`组合使用。
# 使用 root 运行bonree-agent服务
sudo bash installer.sh config --non-root-mode false
# 使用 myuser:myuser 运行bonree-agent服务
sudo bash installer.sh config --user myuser --non-root-mode true

安装时修改配置文件

注意

仅支持 linux

参数参数说明 (支持 yaml、json、ini )
--reset-conf {file} {value}覆盖指定配置项
--set-conf {file} {value}设置或追加指定配置项
--delete-conf {file} {value}删除指定配置项
子参数子参数说明
file指定修改文件,如果为相对路径,则实际路径为安装目录/conf/{file}
value修改/删除内容
# 修改 javaagent 探针配置
sudo bash installer.sh config --reset-conf java/bonree.yml "common.brdbglogLevel: finest"

# 开启javaagent debug开关,key中包含点号的值时,使用反斜杠标记
sudo bash installer.sh config --set-conf java/bonree.yml "common.bonree\.debug: true"

# 追加 nodejs 探针 数组类型 配置项
sudo bash installer.sh config --set-conf nodejs/bonree.yml "blacklist: [_next, _nuxt]"

# 覆盖 agentloader.yml 数组类型 配置项
sudo bash installer.sh config --reset-conf agentloader.yml \
"jvm.option.javaagent.ignoreList: [xxx.jar, yyy.jar]"

# 追加 agentloader.yml 数组类型 配置项
sudo bash installer.sh config --set-conf agentloader.yml \
"jvm.option.javaagent.ignoreList: [xxx.jar, yyy.jar]"

# 参数可重复使用,用于修改多个不同配置项
# 删除 java/bonree.yml 配置项,并修改 php/brapm.ini 配置
sudo bash installer.sh config \
--delete-conf java/bonree.yml "common.brdbglogLevel" \
--reset-conf php/brapm.ini "brapm.log_conf_file_size = 50"