在 Linux 上使用非 root 用户安装 SmartAgent
概述
本文介绍如何在 Linux 系统上以 非 root 用户 安装 SmartAgent。
这种安装方式特点:
- 无需
root权限 - 仅支持当前用户启动的应用监控
- 功能有限,适合权限受限环境或快速试用
信息
如果有 root 权限,建议使用 Linux (root) 安装方式 以获得完整功能。
安装前准备
在开始安装之前,请确保满足以下条件:
使用限制
从 7.2.0 开始正式支持:
-
仅支持 Linux (x86、x64、aarch64)
-
不支持在同一主机安装多个非
root探针 -
不支持与
root安装的SmartAgent同时存在 -
不支持监控容器化部署的应用
-
不支持采集容器技术相关指标
-
不支持开机自启动
-
不支持监控设置了特权位(setuid / any capabilities)的应用
示例:
# nginx 启用了 setuid
ls -l $(which nginx)
-rwsr-sr-x 1 root root 1338032 Jun 28 2023 /usr/sbin/nginx
# 应用设置了 capabilities
getcap $(which nginx)
/usr/sbin/nginx = cap_net_bind_service+eip
安装与升级
-
登录
Bonree ONE平台,进入部署配置 > 安装部署页面,选择 主机模式 作为部署模式
-
下载最新的
SmartAgent-Linux对应 CPU 架构的安装包:wget -O Bonree-SmartAgent-Linux-<version>.sh \
'https://one.bonree.com/agent/down/Bonree-SmartAgent-Linux-<version>.sh' \
--header='Authorization:<token>' -
执行安装命令,并根据需要设置参数(详细安装参数):
信息非root 下安装需携带 --force 参数
/bin/sh Bonree-SmartAgent-Linux-<version>.sh config \
-a "<accountGUID>" \
-u "https://oneupload.bonree.com/APM" \
-t "java,php,go,dotnet" \
--set-env-id "default" \
--force"
-
重新登录
shell或执行以下命令配置当前会话,自动注入所需环境变量:source $HOME/.smartagent/conf/setup.sh -
示例:重启需要监控的应用程序。
注意首次安装后,如果目标应用由其他管理工具启动或停止,需要先重启该管理工具。
建议在重启应用所在的 shell 会话,检查环境变量是否生效。nohup java -jar demo.jar &
卸载
bash $HOME/bonree/apm/scripts/uninstall.sh
注意
卸载后,在所有已监控的应用或容器完成重启前,不要立即删除探针目录,否则可能导致业务异常。
服务管理(在安装用户执行)
# 查看运行状态
$HOME/bonree/apm/scripts/bonree-agent.sh status
# 停止探针
$HOME/bonree/apm/scripts/bonree-agent.sh stop
# 重启探针
$HOME/bonree/apm/scripts/bonree-agent.sh restart
关于自动注入
环境配置
- 安装时将尝试修改
$HOME/.bashrc或$HOME/.bash_profile - 如果存在
.bashrc或.bash_profile,会在文件尾部追加:source $HOME/.smartagent/conf/setup.sh 2>/dev/null - 也可根据系统和用户配置选择其他文件位置
检查自动注入配置是否生效
env | grep LD_PRELOAD
若输出包含 LD_PRELOAD 且路径正确,则说明生效。
未生效时,可在 应用启动脚本开头 添加:
source $HOME/.smartagent/conf/setup.sh
示例
[username@myhost ~]$ env | grep LD_PRELOAD
LD_PRELOAD=/home/lll/bonree/apm/$LIB/libagentloader.so
限制
- 默认仅支持监控当前用户启动的应用
跨用户支持方案
- 创建探针用户(如
bonreeapm),将/home/bonreeapm目录权限设为 755 - 安装探针到该用户下
- 在其它需监控用户的
.bashrc或.bash_profile中追加:
source /home/bonreeapm/.smartagent/conf/setup.sh 2>/dev/null
- 重新登录并重启需监控的应用