Grafana

The open-source visualization tool Grafana. Easily connect all your data sources, build graphs, and visualize your metrics.

The open-source visualization tool Grafana. Easily connect all your data sources, build graphs, and visualize your metrics.

Website - https://grafana.com/

GitHub Monitoring Project auto-provisioning Grafana https://github.com/vegasbrianc/prometheus

Episode Transcription

Welcome back to The Byte. In this episode we're going to talk about Grafana, the open source dashboard that visualizes all your metrics and basically all the information you're pulling into your system. :

If you don't know, Grafana is actually the open source dashboard solution on the market at the moment. Every solution I've seen so far, I mean there's a bunch of different time series database solutions for example, Prometheus and Influx DB, but typically the front end is always Grafana. Grafana has like become the de facto standard for open source visualization.

And it does an amazing job. I mean it really, it really provides a visualization obviously, and you can build some easy dashboards and what Grafana does is links to your data source, whatever the data source can be. So it can be Prometheus, Influx DB. It can be Amazon Cloudwatch. It could actually be Grafana itself, some of the graphite data sources. 

So it can integrate with all these different solutions, and then once you're able to connect to these metrics, you can start visualizing. You can make some dashboards. It's a dropdown list and then it shows you all the metrics available and you can quickly put together a nice dashboard.

Dashboards range from graphs to, you know, statistics, the pie charts and there's all sorts of plugins as well that allow you to like expand on this, makes some really interesting visualizations, for example, like maps. You can have like the world map, you can highlight on the map where your fault is happening or you can have something like alerting tables where it shows the different alerts happening. 

Alerting is actually a nice feature of Grafana. You can actually set an alert in the graph that says if the CPU hits a certain percentage, kickoff an alert and this alert can then go to a notification. It can go to slack and go to whatever notification system you'd like it to go to. 

So it has a lot of capabilities inside of it. It also has annotations. If you're not familiar with annotations, you can actually like mark a part, really a segment in time and say at this point in time, this event happened and then you can have all this metadata regarding this annotation.

And it's really cool because say in the IoT world, the device rebooted. You can actually have exactly when it rebooted and have the metadata what device, time of day, you know, why it rebooted, etc. So that annotations is quite powerful as well. 

Now Grafana in my use case, I use Grafana for workshops, basically every monitoring solution I build this with Grafana, and I connect it to our Amazon account to visualize billing. I look at like cryptocurrencies where I can like visualize all different cryptocurrencies. I connect it to Docker, to Kubernetes. I mean you name it and I use Grafana as a front end and it's really brilliant.

And I've set it up to a point where I can auto provision the entire Grafana stack so it provisions Grafana, the data sources and all the dashboards right out of the bat. So I don't even have to do anything. Just basically provision, it does everything for me and then it's all available. 

I mean this information's in the show notes. You can look at my GitHub project where it actually walks you through how to set up a Grafana dashboard with Prometheus and then connect it to the various data sources. Or on the other hand you can see how the auto provisioning works. 

Now some other features within Grafana and I'll cover it in the next episode is how they treat logging like Prometheus does metrics. So they're actually integrating logging into Grafana and this really is a powerful thing because they're going to treat logging as a first class citizen and this will allow us to have a single dashboard to visualize all our metrics or monitoring basically and logging all from the same tool.

Now think about that for a second. How many organizations have multiple tools where they need to jump into logging, then they have to jump into a monitoring tool and jump into something? So this allows us to have one single tool for observability and we can get all the features from that. 

What else? You can write your own dashboard. For example, if you write your own docker dashboard, you can create your own, you can share it on the Grafana hub basically, and the Grafana cloud allows you to share your dashboards or plugins.

So I've shared a few dashboards in the past and I just, you know, make it available to the community. You know, this is what I do for docker monitoring or this particular situation. I've actually used Grafana as well to track my GitHub statistics and docker hub statistics so I can see how many people are starring my project, how many git clones and forks, etc. are happening. 

And you know, visualization is such a key feature. So if you need an open source solution, check out Grafana. It is the de facto standard and it connects to basically everything. Great documentation. 

Thank you very much. Have a great day.
Brian Christner