我收到以下错误,我使用的是 go v1.10.4 linux/amd64。
我不在任何防火墙或任何东西后面。我们拥有的 Java 服务器(同一网段)中的 New Relic 运行良好。
我们尝试过:
- 将超时时间增加到 60 秒
- 在服务器中使用 http2
- 使用 Postman 返回 503 和响应:
{“异常”:{“消息”:“服务器错误”,“错误类型”:“运行时错误”}}
- 使用 ./nrdiag 进行故障排除时显示“未发现任何问题”</li>
下面是我们的代码:
config := newrelic.NewConfig(os.Getenv("NEW_RELIC_APP_NAME"), os.Getenv("NEW_RELIC_KEY"))
config.Logger = newrelic.NewDebugLogger(os.Stdout)
app, err := newrelic.NewApplication(config)
if err != nil {
fmt.Println("Failed to create newrelic application", err)
os.Exit(1)
}
.................
httpListener, err := net.Listen("tcp", *httpAddr)
if err != nil {
oldlog.Print("Error: ", err)
logger.Log("transport", "HTTP", "during", "Listen", "err", err)
os.Exit(1)
}
g.Add(func() error {
logger.Log("transport", "HTTP", "addr", *httpAddr)
return http.Serve(httpListener, nrgorilla.InstrumentRoutes(httpHandler, app))
}, func(error) {
httpListener.Close()
})
}
然而,这是我们得到的,注意 some_key 已被删除:
(28422) 2019/07/29 18:08:50.058559 {"level":"warn","msg":"application connect failure","context":{"error":"Post https://collector-001 .eu01.nr-data.net/agent_listener/invoke_raw_method?license_key=some_key \u0026marshal_format=json\u0026method=connect\u0026protocol_version=17:net/http:请求已取消(等待标头时超出Client.Timeout)“}}