I trying to access a Kibana App inside my organization from other App but I received this error:
{“log.level”:“error”,“@timestamp”:“2023-12-15T21:23:03.810Z”,“log.logger”:“kibana”,“log.origin”:{“file.name”:“kibana/connecting_client.go”,“file.line”:79},“message”:“failed to obtain connection to Kibana: fail to get the Kibana version: HTTP GET request to http://obs-kibana.internal:5601/api/status fails: fail to execute the HTTP GET request: Get "http://obs-kibana.internal:5601/api/status": dial tcp [fdaa:2:7c07:a7b:1f61:1bc3:cdc1:2]:5601: connect: connection refused. Response: .”,“service.name”:“apm-server”,“ecs.version”:“1.6.0”}
I believe you need to set the host to “::”.
If you ssh into your app and run “netstat -tuln”, the process should be :::5601.
You may want to remove force_https since you’re not exposing the app to public
EDIT: nvm, I misread the [[http_service]], thought it was just [[services]]
External accept connections, but I need use internal because APM Server config file add default port to host if you set host config without port.
If I use .fly.dev:
APM Server config file >>
…
kibana:
# For APM Agent configuration in Kibana, enabled must be true.
enabled: true
# Scheme and port can be left out and will be set to the default (`http` and `5601`).
# In case you specify an additional path, the scheme is required: `localhost:5601/path`.
# IPv6 addresses should always be defined as: `[2001:db8::1]:5601`.
host: "https://obs-kibana.fly.dev"
…
Error:
{“log.level”:“error”,“@timestamp”:“2023-12-16T00:50:07.114Z”,“log.logger”:“kibana”,“log.origin”:{“file.name”:“kibana/connecting_client.go”,“file.line”:79},“message”:“failed to obtain connection to Kibana: fail to get the Kibana version: HTTP GET request to https://obs-kibana.fly.dev:5601/api/status fails: fail to execute the HTTP GET request: Get "https://obs-kibana.fly.dev:5601/api/status\”: read tcp 172.19.135.170:38678->66.241.124.7:5601: read: connection reset by peer. Response: .",“service.name”:“apm-server”,“ecs.version”:“1.6.0”}
is your kibana on host 0.0.0.0:5601? Try binding to :::5601.
I also had problems communicating intranetwork, eg <myapp>.internal:<port> when the app’s host wasn’t bounded on [::]
.internal hostnames resolve to IPv6 addresses associated with Fly machines, therefore you need to bind to :: for your internal (non-proxied) services to be available via the private network.
You can bind to 0.0.0.0 if all you need is to expose services via our public proxy.