Unable to find EMS tile configuration for id: road_map in Maps for Kibana 7.0.1

(Eoin) #1

I have installed Elasticsearch and Kibana 7.0.1 to investigate the capabilities of the Elastic Maps service. However after loading up Kibana and going to the maps section, I am presented with the following error: Unable to find EMS tile configuration for id: road_map. I am currently running elastic and kibana on windows 7.

I have found this post from someone who encountered the same issue on 6.7.0. However my machine does have access to the internet (via a proxy), and I am able to view the maps available through the visualize tab. So I do not believe this to be a proxy/network issue, unless I need to configure this in the kibana.yml or kibana settings somehow (I have never had to do this in previous versions).

The post above provides a link to an issue on github regarding this, but it is still open. Has this issue not been resolved yet in 7.0.1? Are there any work arounds in place?

See screenshot below for the error and the developer console when viewing the page.

(Thomas Neirynck) #2

@reillye does your Kibana-server have access to the internet?

In that network log in your screenshot, what is the return from the /meta call?

(Eoin) #3

@thomasneirynck What exactly do you mean by Kibana-server? I run kibana using the bin/kibana.bat file, which I believe is the server, unless you are referring to something else. And I believe this does have access to the internet as I am able to access the map tiles for the regular map visualisations, which as I understand it come from the internet.

The response of the /meta call is:
{"data_sources":{"ems":{"file":[],"tms":[]},"kibana":{"regionmap":[],"tilemap":{"options":{"default":true,"minZoom":0,"maxZoom":10}}}}}

(Thomas Neirynck) #4

thanks @reillye

yes, I meant the machine that runs kibana.bat.

The responses seem to be empty (those data_sources.file and data_sources.tms arrays are empty), which indicates that your machine cannot access the Elastic Maps Service. (that'e).s the most likely reason in any cas

The behavior is slightly different in the Maps-app and the other visualization. The former does not use CORS to request the metadata, rather proxies through the Kibana-server to get that info. The actual tile-requests are just a simple GET-call for an image from the browser, which has no CORS-restrictions.

See https://github.com/elastic/kibana/issues/34017 for more info on this.

(Eoin) #5

@thomasneirynck Yes I've seen that ticket on github, however I see it is still open at this time. Is there any sort of work around I can do? I'm unsure why I cannot connect to the Elastic Maps Service, as my machine has full access to the internet through my company firewall. It possible the EMS is be being blocked or restricted, but I have had no other issues with Kibana at all except for this.

I know for the map visualisations if you have no internet access, you can specific your own web map service in the options panel of the visualisation. Can you do something similar for the Elastic Maps Service?

(Eoin) #6

@thomasneirynck As an update, I tried to add a custom web map service layer, but I get the following error on the developer console:

Access to fetch at 'http://127.0.0.1:8080/geoserver/kibana/wms?bbox=-10018754.171394622,5009377.085697312,-5009377.085697312,10018754.17139462&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&transparent=true&width=256&height=256&layers=NE2_50M_SR_W&styles=raster' from origin 'http://localhost:5601' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I do not get this error when using a custom web map service for the traditional maps visualizations. From what I understand about CORS, this is happening because kibana is not allowing the browser to make a request to the custom web map service I have setup. I could be misunderstanding that, please correct me if I am wrong. Is there a way to resolve this?

(Eoin) #7

Is anyone able to clarify the CORS issue for me?