Giter Site home page Giter Site logo

mapster's Introduction

Mapster

Kibana Tag Cloud Codacy Badge

Mapster is a real-time event map implemented as a Kibana visualization.

How does it work

Mapster is not truely in real-time. It fetches the events from ElasticSearch using Kibana and replays the events in real time with a lag corresponding to the Kibana refresh time.

For best performances, Kibana dashboard should be set to collect events from last 30 seconds and to refresh every 30 seconds too. The refresh rate should be equal to the window time.

To draw the 2D map, Mapster uses d3js and it uses threejs to draw the 3D globe.

Installation

Requirements

  • Kibana 5.2.2

Instructions

Simply clone the repository into your Kibana plugins folder:

 mkdir kibana && cd kibana
 git clone https://github.com/elastickent/mapster
 cd ../
 zip -r mapster.zip kibana
 $KIBANA_HOME/bin/kibana-plugin install file:///`pwd`/mapster.zip

If you are using Kibana from git and starting it in dev mode, Kibana will automatically refresh its cache and the plugin will be successfully loaded. Otherwise you can force it by stopping kibana, deleting the cache and starting kibana again.

rm -r optimize/bundles
./bin/kibana

From now, you should see that Mapster is available in the Visualization tab of Kibana. Now set your kibana events to last 30 seconds, enable auto-refresh and enjoy !

Configuration

To add Mapster to a dashboard, first create a new visualization.

Important information

Notice that when customizing the visualization some options are not automatically refreshed and you might need to do a manual refresh (F5).

Choosing correct aggregations

The metric should be set to Count.

The first aggregation is as described the timestamp matching the event. You should use a Date Histogram with the Interval set to Seconds.

The second aggregation is the event coordinates so you have to use a Geohash matching the event's origin.

The third aggregation is the target IP. It is used to aggregate multiple events from the same IP on the map.

The fourth aggregation is the sensor. The sensor is used to differentiate event types on the map.

Then you can add any other aggregation if you need to filter your events using the kibana search field.

Plugin options

Option name Meaning
Use a 3D Map ? Well ... do you prefer a 2D plan or a 3D globe ?
Object shape The svg shape of the object thrown from the origin to the target.
Object scale The scale of the above shape.
Object rotation The object rotation. If the object is looking to the top, the rotation is 90 degrees.
Target coords This is the location on the map of the target.
Special effects The sensor field used to display the event as a special effect.
Special effects scale The scale of the special effects.
Special shape Shape used to mark a special event on the map.
Special scale The scale of the above shape.
Special remaining time The duration the special shape stays on the map.
Origin default size The default size of a circle (origin).
Origin maximum size The maximum size of a circle.
Origin dying time The time the origin dies.
Hide events at (0,0) If some of your data are located at (0,0) you can choose to hide them or not.
Enable explosions Do you want explosions ?!
Explosion file The name of your explosion file (GIF format). It should be located under the img/ folder.
Explosion height The height of the explosion file (if you want to resize it).
Explosion width The width of the explosion file (if you want to resize it too).
Explosion delay (in ms) The duration in ms of the gif.
Number of events in the logs Number of lines in the event logs table.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.