You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何无法通过Python向New Relic发送数据?

排查New Relic数据发送失败的可能原因

1. 核心配置验证

  • 确认NEW_RELIC_LICENSE_KEY完全正确:检查是否存在空格、大小写错误,需与New Relic控制台生成的Ingest - License密钥完全匹配(注意区分用户密钥和Ingest专用密钥)。
  • 核对NEW_RELIC_APP_NAME格式:避免特殊字符,确保名称在New Relic控制台中可被正常识别,长度不超过平台限制。

2. Agent初始化检查

newrelic-admin run-program负责初始化Agent,但需验证启动状态:

  • 开启调试日志排查:运行命令时添加NEW_RELIC_LOG_LEVEL=debug环境变量,查看输出是否包含Agent initialized successfully字样。若无该日志,说明Agent未完成初始化。
  • 确认newrelic-admin路径正确性:执行poetry run which newrelic-admin,确保工具来自当前项目的虚拟环境,而非系统全局版本。

3. 日志上报逻辑补全

仅使用NewRelicContextFormatter无法确保日志被Agent捕获上报,需补充配置:

  • 添加newrelic.ini配置文件指定日志捕获规则:
    [log]
    enabled = true
    level = DEBUG
    capture = test
    
    运行时指定配置文件:NEW_RELIC_CONFIG_FILE=newrelic.ini poetry run newrelic-admin run-program python 001.py
  • 或在代码中主动上报日志事件:
    import newrelic.agent
    newrelic.agent.initialize()
    
    logger = getLogger("test")
    # ... 原有日志配置 ...
    
    # 主动触发日志上报
    logger.warning("test 01", extra={"additional_data": {"test": "test 01"}})
    newrelic.agent.record_log_event(
        "test 01",
        level="WARNING",
        extra={"additional_data": {"test": "test 01"}}
    )
    

4. 网络与环境限制排查

  • 测试网络连通性:执行curl https://log-api.newrelic.com/v1/logs,确认服务器/本地网络可访问New Relic端点,若失败需检查防火墙、代理是否放行*.newrelic.com域名。
  • 验证依赖兼容性:确认Python 3.9与New Relic Agent 8.8.1无版本冲突,可通过poetry show newrelic查看安装详情。

5. 命令执行环境修正

  • Fish Shell环境变量设置:需用set -x NEW_RELIC_LICENSE_KEY xxxxyyyyzzzz格式设置变量,确保传递到子进程。
  • 虚拟环境隔离检查:使用独立虚拟环境时,先激活环境再执行命令,通过pip list | grep newrelic确认Agent已正确安装。

内容的提问来源于stack exchange,提问作者sinofseven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:12:46