Default map service error, cant create custom region map either


(Adam Ali) #1

Suddenly my kibana throw error in map visualization:

Region map: Could not retrieve manifest from the tile service: status -1

old visualization still can display the map but with warning trigger follow up, while
creating new map visualization will leading to blank setting for Layers

After updating,searching,and reading . i decide to use custom WMS server with custom region mapping.

i try use some wms server like:

with proper OGC setting, i can load those WMS in old and new visualization. so custom WMS is done

next is for Layers, i try to follow exactly described on this: https://www.elastic.co/blog/custom-region-maps-in-kibana-6-0

the only different with my setup is , my metric aggregation is Count
its more simple actually, i only want to count country name/country code access and display it

http-server(nodejs) already display some log like "OPTIONS /world.geojson" that i suppose confirm kibana can access the geojson file

my kibana.yml (added setting) :

 regionmap:
  layers:
     - name: "Custom Region"
       url: "http://localhost/world.geojson"
       attribution: "Maps by somewmsprovider, Layers by exploratory"
       fields:
          - name: "ISO_A2"
            description: "Country Code"
          - name: "WB_A2"
            description: "Country Code2"
          - name: "NAME"
            description: "Country Name"

i try to use(match) geoip_country_code2,geoip_country_code3,geoip_country_name keyword (this is what i used in old visualization, it worked with default map) to match Geojson ISO_A2,WG_A2,NAME from : https://download2.exploratory.io/maps/world.zip

some of my keyword

But after all of this , it still show nothing on my map
no inner join whatsoever

Did i miss something? or do anyone know what happen in first place (leading default kibana map service error) ??


Kibana 6.3-Region Map could not retieve manifest
(Spencer Alger) #2

Sorry to hear that the built-in tile services stopped working for you. I'd like to dig into that more, but mostly looked into why you weren't able to use your own shape data. While replicating your setup I saw the same thing you are.

Turns out the issue was that the server that was hosting the geojson file couldn't handle the requests it was getting from Kibana for a couple reasons, and errors were being logged to the console but not rendered on screen, and the map was rendering empty. Once I fixed the errors on the server end, everything worked correctly.

If this is what you're experiencing try opening the javascript console and seeing if any errors are being logged. If you can fix those errors things should start working.

Either way, I think this is a fairly serious bug and have opened https://github.com/elastic/kibana/issues/16712 with the hope that it will get fixed soon.


(Adam Ali) #3

Thank you very much!

didnt realize opening console,reveal so much

i able to fix it ,by adding kbn-version as allowed header.
Below is my nginx snippet, feel free to correct me if anyone have better/more secure version

        location / {
            root   /usr/share/nginx/map;
        
	     if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        #
        # Custom headers and headers various browsers *should* be OK with but aren't
        #
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,kbn-version';
        #
        # Tell client that this pre-flight info is valid for 20 days
        #
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
     }
     if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,kbn-version';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
     if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,kbn-version';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
	}

Now my custom map+region is fine


Btw revealing console show what happen leading error loading default map

it seems kibana cannot resolve this :
https://catalogue.maps.elastic.co/v2/manifest?my_app_version=6.2.0

which according to http://downforeveryoneorjustme.com/catalogue.maps.elastic.co , its indeed down

so what really happens then? did i use old map link? or the server is indeed down? or moved ?


(Spencer Alger) #4

Hmm, downforeveryoneorjustme.com is probably reporting it is down because the root url is a 404, but the service is definitely working or we would be hearing about it from our internal checks or other users. I'm able to access it just fine. Are you on a private network or using a proxy that might be blocking access to that url? When you visit it what do you see?


(system) #5

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.