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配置文件路径。