Smart Agent默认安装路径为:/opt/cloudwise/smartagent。
组件配置文件说明
Smart Agent配置文件在安装脚本执行时会自动配置,一般情况下不需要手动调整。配置文件格式遵循ini标准,位置为/opt/cloudwise/smartagent/conf。
common.ini供Smart Agent的进程及各语言的Agent共享,其配置项如下:
配置项及默认值 | 描述 |
DataServer=http://data.toushibao.com | 数据接入服务器的URL。格式:{schema}://{domain or IP}:{port, optional} |
License=ox03ouerereree3342344dsfdffdsfdsd | License内容。 |
#ConfigServer=http://data.toushibao.com | 配置服务器的基本URL,可选。专为客户端负载平衡而设计,以分离数据和配置服务器案例。 |
dockertracer.ini为dockertracer进程共享,其配置项如下:
配置项及默认值 | 描述 |
log_level=DEBUG | 可选值:ERROR, WARN, INFO, DEBUG。 |
smartagentd.ini为smartagentd进程共享,其配置项如下:
配置项及默认值 | 描述 |
log_level=DEBUG | 可选值:ERROR, WARN, INFO, DEBUG。 |
heartbeat.interval=300 | 心跳间隔时间,单位为秒。 |
settings.sync.interval=60 | 读取设置间隔时间,单位为秒。 |
damon.listenPort=6554 | socket端口,如果未配置,则默认为6554。 |
smartagentlib.ini为smartagentlib进程共享,其配置项如下:
配置项及默认值 | 描述 |
log_level=DEBUG | 可选值:ERROR, WARN, INFO, DEBUG。 |
应用名称(分类规则)定义说明
Smart Agent依赖明确的应用规则定义, 将应用程序从业务上归类。安装Smart Agent后, 默认情况下, 不需要在应用服务端修改任何配置, 所需要的应用规则配置均在可视化的Web界面上完成。详情参考配置应用名称及分类规则。
若使用以上配置方式无法按照业务区分应用,您可通过手动配置环境变量CW_APP_NAME_ID(例如CW_APP_NAME_ID=myAppName)实现应用归类。例如同一宿主机部署多个Tomcat应用容器时,只能通过设置环境变量归类应用及设置应用名称,可参考下表中Java的用例说明。
说明:单独安装单个开发语言的应用Agent时需要修改agent.properies文件配置appName属性, 从而确定应用名称。Smart Agent 无需此配置。
在大部分场景中, 通过待启动Agent的进程参数关键字可以确定应用名称。用例如下:
Agent类型(开发语言) | 进程参数 | 用例说明 |
Java | java -DprocessType=1 ... -jar userservice.jar | 界面配置: AppName(应用名称): UserService 进程关键字: userservice.jar 注意:进程关键字支持通配符,通配符使用[*]代替(字符均为英文字符)。 在容器场景下, 存在类似于基于一份基础tomcat镜像, 然后制作出多份镜像, 每个镜像部署业务功能不一样的war包。 例如: Ø Tomcat-1: 部署userservice.war, 提供用户认证和授权功能。 Ø Tomcat-2: 部署order.war, 提供订单业务功能。 从进程参数分析,这种场景下在同一个容器集群环境,不能从tomcat进程参数找出差异点,用于区分分类,因为它们基于相同的tomcat基础镜像。 目前的临时解决方案是:在yaml编排文件,或是编排工具web控制台设置容器环境变量,最终达成区分业务的目的。 例如: Ø 在部署userservice.war的镜像部署中设置环境变量: CW_APP_NAME_ID=UserService。 Ø 在部署order.war的镜像部署中设置环境变量: CW_APP_NAME_ID=Order。 |
.NET Core | dotnet run/app/userservice/userservice-1.0.0.dll | 界面配置(例如): AppName(应用名称):UserService 参数关键字:userservice-1.0.0.dll 注意:进程关键字支持通配符,通配符使用[*]代替(字符均为英文字符)。 |
Python | python userservice.py | 界面配置(例如): AppName(应用名称):UserService 参数关键字:userservice.py 注意:进程关键字支持通配符,通配符使用[*]代替(字符均为英文字符)。 |
*NodeJs | npm start 或者 node userservice.js | 界面配置(例如): APPName:userservice 进程关键字:/data/userservice 注意:进程关键字支持通配符,通配符使用[*]代替(字符均为英文字符)。 设置进程关键字为应用的工作路径,启动在其他目录下启动。 例如: 应用在/data/yana/nodejs/demelas目录下,在/data/yana路径,使用node nodejs/demelas/bin/www 的方式启动,进程关键字设置/data/yana/nodejs/demelas,smartagent无法拦截。
|
PHP | 界面配置(例如): APPName:userservice 进程关键字:/【ini文件路径】 注意:进程关键字支持通配符,通配符使用[*]代替(字符均为英文字符)。 客户的php应用需要有常规的ini文件,执行php --ini,获取ini配置文件路径。 |