如何消除SSH登录时Datadog Agent输出的Conda调试日志?
消除SSH登录时Datadog Agent输出的Conda调试日志
这些日志是Datadog的Python tracer(ddtrace)自动注入Conda进程后产生的调试输出,以下是几种无需注释Conda初始化代码的解决方法:
方法一:禁用ddtrace对Conda进程的自动注入
- 打开Datadog Agent的主配置文件,通常路径为
/etc/datadog-agent/datadog.yaml - 添加或修改自动注入的排除规则:
apm_config: auto_instrumentation: excludes: - "conda" - 重启Datadog Agent使配置生效:
sudo systemctl restart datadog-agent
方法二:调整ddtrace日志级别抑制调试输出
修改.zshrc中的Conda初始化代码块,在初始化前设置环境变量降低日志级别:
# >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! export DD_TRACE_LOG_LEVEL="INFO" # 可改为"ERROR"仅保留错误日志,彻底屏蔽调试信息 __conda_setup="$('/home/psr/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/home/psr/miniconda3/etc/profile.d/conda.sh" ]; then . "/home/psr/miniconda3/etc/profile.d/conda.sh" else export PATH="/home/psr/miniconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<<
保存后执行 source ~/.zshrc 加载新配置。
方法三:限制Conda初始化仅在交互式会话执行
如果不需要在非交互式SSH会话中启用Conda,可修改初始化代码,仅在交互式shell中运行:
# >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! if [[ $- == *i* ]]; then __conda_setup="$('/home/psr/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/home/psr/miniconda3/etc/profile.d/conda.sh" ]; then . "/home/psr/miniconda3/etc/profile.d/conda.sh" else export PATH="/home/psr/miniconda3/bin:$PATH" fi fi unset __conda_setup fi # <<< conda initialize <<<
内容的提问来源于stack exchange,提问作者Prabhjot Singh Rai
相关产品推荐
相关产品推荐

