Part 72: Few dashboard panel ideas

Cover image about exotic dashboards

After my few posts about synthetic monitoring over multiple Proton VPN tunnels, it's now time to show some weird widget ideas. I did already show you the standard widgets and panels I made, but how about something that's possible through open source and the fantastic community? The custom widgets really make the observability machine to hum smoothly. This time, I'm showing some Grafana panels to visualize the data gathered by Zabbix.

MapTrack3D

Those of us who have been part of the scene for long enough do probably remember XTraceroute. It was available at least for X11, so if you did run Linux, *BSD, whatever running X11 and some window manager on top of it, could see the traceroute hops on a freely rotatable 3D globe. Over the years it has had several new versions of it, but in the late 90's that was an amazing thing to run on a Pentium MMX 90 MHz with 16 MB of RAM, together with Red Hat 5.2 (not Red Hat Enterprise Linux, but Red Hat 5.2 before the whole Fedora/RHEL split) and WindowMaker. Ahh the glorious days of Tucows and freshmeat.net for figuring out what's new on fresh software front.

Enter today.

MapTrack3D is a Grafana plugin that visualizes geo location points on a 3D globe. You can rotate the map in real-time and it works very well, similar to my very old Zabbixverse experiment. Like with any map, perfect use cases for this thing would be to show the positions of anything that you need to track in real-time, like ice-cream trucks or police/ambulance/fire trucks. In my case, this experiment just shows the locations of my VPN tunnels.

MapTrack3D

To make it work, instead of Grafana's Zabbix click-until-you-are-done API data source, I did utilize the fact that Grafana Zabbix plugin can also directly fetch stuff from Zabbix MySQL database. The query could be more granular, but just by fetching the data like this, it works.

SELECT
hstgrp.name AS "Host Group",
h.name AS "Visible name",
hi.location_lat,
hi.location_lon,
hi_inventory.location,
NOW() AS time
FROM
zabbix.hstgrp hstgrp
JOIN
hosts_groups hg ON hstgrp.groupid = hg.groupid
JOIN
hosts h ON hg.hostid = h.hostid
JOIN
zabbix.host_inventory hi ON h.hostid = hi.hostid
LEFT JOIN
zabbix.host_inventory hi_inventory ON h.hostid = hi_inventory.hostid;

Next I'll need to figure out an SQL query which would fetch the hops of my traceroute tests and show those on map.

Status history

Granted, this panel is part of Grafana itself, but it's incredibly useful. Here's an example how it shows the test results of last six hours for each VPN tunnel I have.

Status history panel

 

Traceroute hops Sankey panel

The very same Sankey panel I used some time ago for tracking the Helsinki airport departing flights can be useful for following traceroute hops, too... any shared hops with my different VPN tunnels? Here's a partial screenshot of much bigger panel. The thicker the line, the longer the time.

VPN tunnels Sankey

 

 

 

 

 

 

 

 

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Buy me a coffee

Like these posts? Support the project and Buy me a coffee