【发布时间】:2017-10-05 17:55:01
【问题描述】:
App Dynamics 的 Python 代理配置中环境变量的含义和用途,如下所述:
https://docs.appdynamics.com/display/PRO42/Python+Agent+Settings
更具体地说:
如果在文件中设置了一个值,同时也设置了对应的环境变量,那哪个优先?
如果我想为其中一些值使用环境变量,可以从文件中省略它们吗?
【问题讨论】:
标签: python appdynamics
App Dynamics 的 Python 代理配置中环境变量的含义和用途,如下所述:
https://docs.appdynamics.com/display/PRO42/Python+Agent+Settings
更具体地说:
如果在文件中设置了一个值,同时也设置了对应的环境变量,那哪个优先?
如果我想为其中一些值使用环境变量,可以从文件中省略它们吗?
【问题讨论】:
标签: python appdynamics
看来您也可以使用环境变量来配置 python appdynamics 代理。
pip install appdynamics
打开你的回复
from appdynamics import config
help(config)
对于通常的配置值(APP_NAME、TIER_NAME、NODE_NAME 等),您可以通过环境变量对其进行配置。您只需要在它们前面加上'APPD_'。对于 APP_NAME,它将是:
export APPD_APP_NAME=MY_SUPER_COOL_APP_NAME
【讨论】:
您可以像这样在代码中配置 python 代理:
from appdynamics.agent import api as appd
appd.init(environ={'APPD_APP_NAME': 'appname',
'APPD_TIER_NAME': 'yourtier',
'APPD_NODE_NAME': 'yournode'})
或者,您可以传入 appdynamics.cfg 文件的位置。也就是说,设置环境变量是不够的。
然后你需要手动启动代理(在你appd.init之后)通过运行
pyagent proxy start
您的代码中的代理配置将被代理自动使用。
有关配置键的完整列表,请参阅setting docs
【讨论】:
我设法在不更改应用程序代码的情况下仅定义环境变量。请注意,控制器主机的变量名称是 APPD_CONTROLLER_HOST。您还可以将命令行参数传递给进程。
【讨论】: