Kibana: tilemap.url not taken into account

Created on 4 Apr 2018  路  15Comments  路  Source: elastic/kibana

Kibana version:
6.2.2

Original install method (e.g. download page, yum, from source, etc.):
docker image

Description of the problem including expected versus actual behavior:
I am trying to replace maps with https://openmaptiles.com running locally. My kibana.yml contains the following line:
tilemap.url: http://localhost/styles/osm-bright/{z}/{x}/{y}.png

However the maps are still loaded from tiles.maps.elastic.co. There are no error or anything related to tiles in kibana logs set to verbose. There are no errors in browser console or network tab. The service is running and accessing the URL from browser replacing x, y and z shows a title.

Is there any other configuration that need to be done? Does the map service need to fulfill any other requirements beside serving a png at the provided URL?

Visualizations Geo bug

Most helpful comment

@azulay7
Thanks in advance. It worked!!!!
you saved me man!
@tsullivan just let you know about that.

All 15 comments

cc @thomasneirynck

hi @mateuszmrozewski ,

thanks for logging. This was fixed with https://github.com/elastic/kibana/pull/17367 and will be available in the next patch, 6.2.4. Thanks,

Thank you @thomasneirynck. Is there any expected timeline for the next Kibana releases?

hi @mateuszmrozewski, patches are usually are every 2-4 weeks, so it shouldn't be too long now.

I can confirm that this works with 6.2.4. However, I have a question. Is it expected that existing visualizations won't change to the new map? Whatever visualization I have stores the map url that it was created with. To change it, I need tp edit every single one which is a cumbersome process. I would expect that changes in config are applied to existing visualizations as well.

Hi @thomasneirynck I'm working on kibana 6.2.4 installed from MSI and tilemap.url is still been ignored.
How can it be?
I run kibana runs on isolated environment(no internet). so I need to connect to local WMS server to avoid error:
Tilemap: Could not retrieve manifest from the tile service: status -1

I'm re-opening this issue because I'm hearing from folks that it is still happening, as late as 6.5.x.

@thomasneirynck can you investigate?

Can anyone help?
I really need that!

Hi @idapro7
this is a workaround. try in kibana.yaml
map:
includeElasticMapService: false

tell me how it went :)

Hi @azulay7
I added
map:
[tab]includeElasticMapService: false
in /etc/kibana/kibana.yml and restarted the kibana.
Failed to start with error: Invalid Config. setting was not applied. Check for spelling ...

yes I have a typo.. missing S char

map.includeElasticMapsService: false

based on https://www.elastic.co/blog/custom-basemaps-for-region-and-coordinate-maps-in-kibana

@azulay7
Thanks in advance. It worked!!!!
you saved me man!
@tsullivan just let you know about that.

tldr: The maps behavior evolved a bit over version 6. My recommendation would be to use a version >= 6.6.1 as it should have the latest fixes/adjustments in this area.

To shed some light on this, here's a run-through of what the expected behavior is for a few 6.x versions:

Across all 6.x versions, it should be noted that EMS will always attempt to load regardless of whether a custom Tilemap is configured UNLESS you set the configuration flag @tsullivan mentions above: map.includeElasticMapsService: false (looks like this tripped a couple of people up, note the 's' on "maps").

Version 6.2.2 (original version used to identify issue):

In this version, the default map loaded will be EMS unless the above flag is configured, in which case your custom tilemap will be the default. Without the flag set, the custom tilemap is still available as an option though. To get your custom map to show up, select it under Options > Layers (Tilemap layer in yml) and press the play button.

Also noted, I was able to access a local tileserver without internet. I will caution, for those using tileserver-gl as their offline server, ensure you are using the correct url pattern. Locally for me, this was http://localhost:8080/styles/klokantech-basic/{z}/{x}/{y}.png

Version 6.5.x

In this version there was a behavior change which I would view as a regression. Even with the above config flag set to false, the map doesn't automatically load the configured Tilemap service. It will however load once the user has pressed the play button. This behavior was the same both with and without internet assuming use of a locally available tile service.

Version 6.6.x+

A few critical changes were made to this version:

  • The configured map should load by default with or without the map.includeElasticMapsService flag set
  • Any failures to retrieve the EMS manifest (which only happens if you didn't set the flag to false) will only result in the EMS layer option being removed from the dropdown
  • There was at one point a behavior present where offline use affected the ability of the map to load, this should no longer be an issue

The changes which updated the behavior were introduced via #28111 to 6.7 and backported to 6.6. We made the conscious decision not to port these changes back to 6.5.x given several architectural changes that would prevent backporting and instead require a different implementation. Having said that, if it were determined that need were significant, we might consider revisiting this decision. My recommendation at this point would be to use a version >= 6.6.1. You might also consider the new Maps app we're releasing in Beta in versions 6.7/7.0!

Sorry for any trouble as the maps behavior evolved. Coordinate & Region Maps and related visualizations were under heavy development over the last year+. We'll be continuing to maintain these versions through 7.x and applying several lessons learned in the latest Maps application. Thanks!

I'm using Kibana 7.0.1 and it does not seem fixed.

Using:
map.includeElasticMapsService: false and a custom map.tilemap.url has no effect in offline-environment. The browser always tries to load catalogue.maps.elastic.co....

In the current documentation it states that using a custom mapserver "Supported on Elastic Cloud Enterprise". Does that mean it's not available in the opensource version anymore?

any updates? same question and concern here.

Was this page helpful?
0 / 5 - 0 ratings