Next.js应用接入NewRelic Agent后无数据,操作是否正确?
问题分析与解决方案
你的基础服务端New Relic配置是正确的,但当前缺少**浏览器端(Real User Monitoring, RUM)**的监控配置,所以New Relic后台没有浏览器相关的追踪数据。以下是需要补充的关键步骤:
1. 完善newrelic.js的浏览器监控配置
打开根目录的newrelic.js,确保添加或启用以下配置项:
exports.config = { app_name: ['你的应用名称'], license_key: '你的许可证密钥', // 启用浏览器监控 browserMonitoring: { enabled: true, autoInstrument: true, // 自动注入浏览器监控脚本 injectScript: true // 允许在页面中注入RUM脚本 }, // 其他已有的配置项... };
2. 在next.config.js中集成New Relic插件
@newrelic/next需要通过Next.js插件来完成浏览器端脚本的自动注入,你需要修改next.config.js:
const withNewRelic = require('@newrelic/next'); module.exports = withNewRelic({ // 你的Next.js原有配置,比如: // reactStrictMode: true, // swcMinify: true });
3. 验证开发环境的脚本注入
- 启动应用后,打开浏览器开发者工具,查看页面的HTML源码,确认是否包含New Relic的浏览器监控脚本(通常以
<script async src="https://js-agent.newrelic.com/...">开头)。 - 如果使用广告拦截器,暂时关闭它,部分拦截规则会阻止New Relic脚本加载。
4. 尝试生产环境验证
开发环境(next dev)的热重载机制可能会干扰脚本注入,建议构建生产版本并启动测试:
npm run build NODE_OPTIONS='-r @newrelic/next' next start -p 3000
5. 检查New Relic后台配置
确保你的New Relic账号已启用浏览器监控功能,并且在后台对应应用的浏览器标签页中查看数据(不要只看服务端的APM数据)。
内容的提问来源于stack exchange,提问作者Katlock
相关产品推荐
相关产品推荐

