newrelic代理仅在登台时不将数据发送到newrelic服务器

时间:2018-08-02 09:24:10

标签: python flask newrelic

我有一个新的遗物代理,配置如下:

newrelic==2.56.0.42

    newrelic.agent.initialize(newrelic_ini_file, newrelic_env)
    logging.info('NewRelic initialized with newrelic_env '+repr(newrelic_env))
    logging.info('NewRelic config name is '+repr(newrelic.agent.application().name))

它正在记录staging中的“正确”内容,但未发送。

 NewRelic initialized with newrelic_env 'staging'
 NewRelic config name is 'My Service (Staging)'

代理从localhostproduction发送数据。

这是newrelic.ini文件中的一些配置

[newrelic]
license_key = xxxxx
app_name = My Service
monitor_mode = true
log_file = /tmp/newrelic-python-agent.log
log_level = info

这是我在newrelic.ini中的登台配置

[newrelic:staging]
app_name = My Service (Staging)
monitor_mode = true
log_level = debug

我认为是可疑的一个日志是

(14/NR-Harvest-Thread) newrelic.core.agent DEBUG - Completed harvest of all application data in 0.00 seconds.

我认为由于0.00 seconds部分,该代理未收集任何数据。

我应该寻找什么debug日志,以验证从新文物发送和接收的200实际数据。

其他详细信息: 分段正在Docker alpine:3.6

上运行

2 个答案:

答案 0 :(得分:0)

根据newrelic discussFailure Base/Log/Copy可以通过更改配置来解决

  

您也可以在配置文件中包含此行,这将阻止它们进入默认位置:

log_to_stdout: false

另一个issue可以是日志级别应该是信息

log_level = info
  

在调试时记录可以非常快速地生成大量数据。密切监视日志文件的大小,在完成故障排除后将log_level更改回信息。

编辑

newrelic discuss中询问了问题。

答案 1 :(得分:0)

答案的线索确实是harvest of all application data in 0.00 seconds.的调试日志

显然,newrelic.agent.initialize必须先之前 app = Flask(__name__)。之前已移动并开始发送。