Maps with paths

Hello Team,

I want to display the world's map and place over it locations of clients who interact with a single server.
I want to draw lines between the clients and server
I also need to differentiate server and clients with an icon.

Is this possible using Kibana? If yes, Can someone help me in building the JSON structure and visualizing it in Kibana maps?

Here is my sample data for all the clients :
{"city": "New York","state": "New York","status": "up","count": 1,"location": "40.7127837,-74.0059413","timestamp": "2019-10-31T19:44:40.292Z"}
{"city": "Los Angeles","state": "California","status": "down","count": 1,"location": "34.0522342,-118.2436849","timestamp": "2019-10-31T19:44:40.292Z"}
{ "city": "Los Angeles", "state": "California", "status": "up", "count": 1, "location": "34.058429,-118.279427", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "Los Angeles", "state": "California", "status": "up", "count": 1, "location": "33.979178,-118.225925", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "Chicago", "state": "Illinois", "status": "up", "count": 1, "location": "41.8781136,-87.6297982", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "Houston", "state": "Texas", "status": "up", "count": 1, "location": "29.7604267,-95.3698028", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "Philadelphia", "state": "Pennsylvania", "status": "down", "count": 1, "location": "39.9525839,-75.1652215", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "Phoenix", "state": "Arizona", "status": "up", "count": 1, "location": "33.4483771,-112.0740373", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "San Antonio", "state": "Texas", "status": "up", "count": 1, "location": "29.4241219,-98.49362819999999", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "San Diego", "count": 1, "status": "down", "state": "California", "location": "32.715738,-117.1610838", "timestamp": "2019-10-31T19:44:40.292Z" }
{ "city": "Dallas", "count": 1, "status": "up", "state": "Texas", "location": "32.7766642,-96.79698789999999", "timestamp": "2019-10-31T19:44:40.292Z" }

Here is the map that I am able to configure based on the above sample data:

Hello Vishal,

What you're describing is possible using the Elastic Maps App. You could do it using a Point to Point layer. What the app expects in each doc will be two geo_point fields, one representing a source, the other a destination. For a reference sample dataset with the right shape, try loading the Kibana Sample Dataset kibana_sample_data_flights.

To render the sources and destinations using different icons, the Maps App provides custom icons to differentiate between the two which you can select when styling. To apply different icons to clients vs. servers, you could add two document layers, each pointing to the same index, and then filter each one: one filter for clients, the other for servers.

Hopefully that helps!


Hello @Aaron_Caldwell,

Thanks for your quick reply, Please can u help me in configuring the sample flights map with kibana_sample_data_flights data. I have tried selecting 'Documents', options and 'Grid Aggregation' and selected kibana_sample_data_flightsindex. I cannot see the source and destination sections. But I can see the Geospatial section where DestLocation has been selected by default.
Even, i have created a new index with two geo_point fields .But, still i couldn't see the source and destination sections in the layer configurations.

Please, can you provide me the complete steps?

. Or can u send me an example on how to mimic the same?

FYI: I am using Kibana 7.3.0

Hello Vishal,

Thanks for providing your Kibana version number, this feature was actually introduced in 7.4.0. Any chance you could upgrade? Once you do, you'll see "Point to Point" as a new source type. Then once you get going adding this dataset it should be a little more clear how to add both source and destination.


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