Helllo,
我的应用程序是一个Web服务器,可以向其他服务器发出许多请求。我们为这些请求设置了最大超时,每当达到超时时,连接都会关闭,并且ESOCKETTIMEDOUT会上升。
Error: socket hang up
at createHangUpError (http.js:1472:15)
at Socket.socketCloseListener (http.js:1522:23)
at Socket.EventEmitter.emit (events.js:117:20)
at TCP.close (net.js:465:12)
我想从New Relic Dashboard中排除这些错误,因为它们会扭曲错误率和其他指标。隐藏它们也不起作用,因为它们仍然计入错误率。
如何从我的信息中心删除特定错误(没有HTTP状态代码)?
答案 0 :(得分:3)
您可以将状态代码传递给错误收集器。如果使用环境变量配置New Relic代理,则可以使用逗号分隔的代码列表作为NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERROR_CODES
的值。
请参阅the README。
如果您使用newrelic.js
这样做,可以将error_collector.ignore_codes
值设置为要忽略的状态代码数组:
请参阅example config。
重要警告:手动设置此值时,您将覆盖默认值404
,这意味着如果您未在手动配置中指定404
,则错误收集器将开始记录应用程序中的所有404
错误(您可能不需要)。
答案 1 :(得分:0)
我注意到你有javascript,我不确定我的解决方案是否可以帮到你,但我希望它会回答。
我使用Java代理,我们遇到了同样的问题。到目前为止,我发现的唯一方法可以做一些接近我想要的事情是将特定错误包含在一个专用异常中(" NewRelicIgnorableException")并包装我不想看到的任何错误它
然后我必须进入仪表板/应用程序并选择"错误收集"。最后,我填写了"忽略这些错误"使用完整的包名称和异常类名称,例如com.mypackage.NewRelicIgnorableException。保存并享受。这些特定错误不应影响您的apdex,但它们仍会计入RPM和其他指标。
其他解决方案有缺点。例如,如果我调用ignoreexception,则RPM和时间度量将不计算在内。如果单击"隐藏错误"按钮你只能从错误面板中隐藏它们,但其他一切都会像往常一样。如果您忽略状态代码,您可以获得与忽略特定异常相同的结果,但没有任何希望进行精细控制。
很可惜,他们的网站上的文档很少,我不得不运行测试来找到它们。