我正在将 New Relic 集成到我的 Nest.js monorepo 应用程序中以进行监控。我已成功设置 New Relic 代理,它正在跟踪应用程序的流量。但是,我遇到了将日志转发到 New Relic 的问题。
我正在使用 Nest-Pino 登录我的 Nest.js 应用程序。尽管日志已生成并在控制台中可见,但它们不会转发到 New Relic 进行集中日志记录。
这是我在
newrelic.js
中的 New Relic 代理配置:
'use strict';
exports.config = {
app_name: [process.env.NEW_RELIC_APP_NAME],
license_key: process.env.NEW_RELIC_LICENSE_KEY,
distributed_tracing: {
enabled: true,
},
logging: {
level: 'trace',
},
application_logging: {
enabled: true,
forwarding: {
enabled: true,
max_samples_stored: 10000,
},
},
allow_all_headers: true,
attributes: {
exclude: [
'request.headers.cookie',
'request.headers.authorization',
'request.headers.proxyAuthorization',
'request.headers.setCookie*',
'request.headers.x*',
'response.headers.cookie',
'response.headers.authorization',
'response.headers.proxyAuthorization',
'response.headers.setCookie*',
'response.headers.x*',
],
},
};
这是我的环境变量的示例
.env
:
NEW_RELIC_APP_NAME=flash_trade
NEW_RELIC_LICENSE_KEY=
NEW_RELIC_NO_CONFIG_FILE=true
NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED=true
我希望日志出现在 New Relic 仪表板中以进行集中日志记录,但它们没有显示。我已经验证 Nest-Pino 日志记录集成工作正常,因为我可以在控制台中看到日志。
任何有关解决此问题的指导将不胜感激。谢谢!
我认为这是一个实现如何获取特定类别的实际数据的问题。我建议您单击日志行本身。
例如,如果您单击 JSON 日志,您可以看到可用的 JSON 元数据,并且您可以单击右上角的 + 按钮并添加您想要查看的任何区域的键。