Network Weathermap The main goal of collecting metrics is to store them for long term usage and to create graphs to debug problems or identify trends. However, monitoring your system isn’t enough to identity the problem’s & anomalies root cause. It’s necessary to have a high-level overview of your network . is perfect for a ( ). In this post, I will show you how to build one using Open Source tools only. backbone Weathermap Network Operations Center NOC will collect metrics about your backbone, write checks results metrics and performance data to (supported since ). Visualize these metrics in in map form. Icinga 2 InfluxDB Icinga 2.5 Grafana To get started, add your desired host configuration inside the file: hosts.conf Note: the & attributes will be used to create the weathermap. city country To enable the on your Icinga 2 installation, type the following command: InfluxDBWriter icinga2 feature enable influxdb Configure your host and database in InfluxDB /etc/icinga2/features-enabled/influxdb.conf ( Learn more about the InfluxDB configuration ) will forward all your metrics to a database. The included and templates define a storage, the represents a table by which metrics are grouped with tags certain measurements of certain hosts or services are defined (notice the & tags usage). Icinga 2 icinga2_metrics host service measurement city country Don’t forget to restart after saving your changes: Icinga 2 service icinga2 restart Once is up and running it’ll start collecting data and writing them to : Icinga 2 InfluxDB Once our data arrived, it’s time for visualization. is widely used to generate graphs and dashboards. To create a we can use a Grafana plugin called . Make sure to install it using tool: Grafana Weathermap Worldmap Panel grafana-cli grafana-cli plugins install grafana-worldmap-panel The plugin will be installed into your grafana plugins directory ( ): /var/lib/grafana/plugins Restart , navigate to Grafana web interface and create a new : Grafana datasource Create a new Dashboard: The clause should be the code and an is needed too. The alias should be in the form . See the image below for an example of a query: Group By country alias $tag_field_name Under the tab, choose the option: Worldmap countries Finally, you should see a tile map of the world with circles representing the state of each host. The field possible values ( — OK, — Warning, — Critical, — Unknown/Unreachable) state 0 1 2 3 Note: For lazy people I created a ready to use Dashboard you can import from . GitHub