我得到以下错误,我使用的是 go v1.10.4 linux/amd64。
我不在任何防火墙或任何防火墙后面。我们运行良好的java服务器(同一网段)中的新Relic。
我们已经尝试过:
{"exception":{"message":"Server Error","error_type":"RuntimeError"}}
下面是我们的代码:
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: request canceled (Client.Timeout exceeded while awaiting headers)"}}
最佳答案
我认为这是由于 DNS 网络超时。
您可以使用以下步骤轻松测试这一点(在 Ubuntu 中)
8.8.8.8,8.8.4.4
如果它有效,那么您可以将 DNS 重置为“自动”
关于performance - 等待 header 时超出客户端超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269104/