Technical requirements
Depending on the type of implementation that you want to use, you will need some of the following requirements:
- A Raspberry Pi: version 2, 3, or 4 will work. However, depending on the size of your solution, you will have to size your hardware according to it.
- If you prefer to use an Ubuntu Server or a Docker implementation, then you will need a virtual machine, either local or in the cloud. The resources of the virtual machine will have to adapt to your system needs.
Managing data
Grafana allows to capture and manage data from many different sources, such as relational databases, time-series databases, NoSQL databases, Excel or CSV files, logs, and many others.
In this way, Grafana can be connected to different data sources, isolating the visualization and analytics app from the databases. All databases are independent and can be managed by the corresponding applications.
So, even if the database is managed by another department, read-only access can be granted to Grafana to perform analytics on that data.
With the release of Grafana 8.x, it is possible to feed live events into Grafana using MQTT, HTTP, or other streaming data sources. This is a great new feature for IoT systems.
Performing visualizations
Grafana allows you to build a broad range of dashboards, from the typical time-series plot to advanced visualizations.
The dashboards are made up of panels, which provide different types of visualizations.
Some of the possible visualization panels are as follows:
- Time-series plots
- Statistical graphs
- Categorical or boolean panels
- Text and logs
- Topological views
- Geographical or georeferenced data
Every dashboard can be easily modified through drag and drop and resize operations.
Dashboards can be shared with specific users or teams, allowing the data to be used in a cooperative way. Also, dashboards can be published on a website to make information available to the public.
Transformations, alerts, and annotations
With Grafana, you can perform transformations directly on the visualization panels. For instance, you can summarize, combine, rename, and make calculations just with a few clicks.
With Grafana, you can create, modify, and silence all the alert conditions in a centralized way. This functionality simplifies the management of alerts.
Finally, with annotations, you can make comments on data directly on the visualization panels. You can include descriptions and tags for every event of interest.
Now that you have learned about the capabilities of Grafana and the reasons that lead to its use in IoT systems, in the following sections, you will learn how to install Grafana on Raspberry Pi, Ubuntu Server, and Docker.