Building IoT Visualizations using Grafana: Power up your IoT projects and monitor with Prometheus, LibreNMS, and Elasticsearch
- Length: 360 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2022-07-27
- ISBN-10: 1803236124
- ISBN-13: 9781803236124
- Sales Rank: #2285181 (See Top 100 Books)
The IoT developer’s complete guide to building powerful dashboards, analyzing data, and integrating with other platforms
Key Features
- Connect devices, store and manage data, and build powerful data visualizations
- Integrate Grafana with other systems, such as Prometheus, OpenSearch, and LibreNMS
- Learn about message brokers and data forwarders to send data from sensors and systems to different platforms
Book Description
Grafana is a powerful open source software that helps you to visualize and analyze data gathered from various sources. It allows you to share valuable information through unclouded dashboards, run analytics, and send notifications.
Building IoT Visualizations Using Grafana offers how-to procedures, useful resources, and advice that will help you to implement IoT solutions with confidence. You’ll begin by installing and configuring Grafana according to your needs. Next, you’ll acquire the skills needed to implement your own IoT system using communication brokers, databases, and metric management systems, as well as integrate everything with Grafana. You’ll learn to collect data from IoT devices and store it in databases, as well as discover how to connect databases to Grafana, make queries, and build insightful dashboards. Finally, the book will help you implement analytics for visualizing data, performing automation, and delivering notifications.
By the end of this Grafana book, you’ll be able to build insightful dashboards, perform analytics, and deliver notifications that apply to IoT and IT systems.
What you will learn
- Install and configure Grafana in different types of environments
- Enable communication between your IoT devices using different protocols
- Build data sources by ingesting data from IoT devices
- Gather data from Grafana using different types of data sources
- Build actionable insights using plugins and analytics
- Deliver notifications across several communication channels
- Integrate Grafana with other platforms
Who this book is for
This book is for IoT developers who want to build powerful visualizations and analytics for their projects and products. Technicians from the embedded world looking to learn how to build systems and platforms using open source software will also benefit from this book. If you have an interest in technology, IoT, open source, and related subjects then this book is for you. Basic knowledge of administration tasks on Linux-based systems, IP networks and network services, protocols, ports, and related topics will help you make the most out of this book.
Building IoT Visualizations Using Grafana Contributors About the author Rodrigo Juan Hernández is an electronic engineer who was passionate about IoT even before it existed. He has been working on tech for more than 18 years. He has worked for local government, and has been involved in a wide variety of projects and technologies, including IP networks, IP video surveillance, IT services, energy systems, and many others. About the reviewer Preface Who this book is for What this book covers To get the most out of this book Download the color images Conventions used Get in touch Share Your Thoughts Part 1: Meeting Grafana Chapter 1: Getting Started with Grafana Technical requirements Managing data Performing visualizations Transformations, alerts, and annotations Installing Grafana on a Raspberry Pi Installation instructions Accessing Grafana for the first time Installing Grafana on Ubuntu Server Installation instructions Running Grafana on Ubuntu Server Installing Grafana with Docker Deploying Grafana with Docker CLI Initial configuration of Grafana Configuration files Environment variables Maybe you prefer the cloud option Summary Invitation to join us on Discord Chapter 2: Exploring Grafana Technical requirements Exploring the Grafana interface The main menu Organizations, dashboards, and panels Organizations Dashboards Panels How to get data into Grafana Data sources Making integrations easy with plugins Data source plugins Panel plugins Users and permissions Server level Organization level Teams Users Authentication methods Grafana authentication Short-lived tokens Anonymous authentication Authentication options Proxy authentication JWT authentication LDAP authentication GitHub OAuth2 authentication Summary Part 2: Collecting Data from IoT Devices Chapter 3: Connecting IoT Devices Technical requirements Sending data from IoT devices What is MQTT and what is it used for? Topics in MQTT QoS in MQTT MQTT 3.1.1 MQTT 5 MQTT clients Using an online MQTT broker Mosquitto HiveMQ Running your MQTT broker Sending data through HTTP HTTP methods HTTPS HTTP use case What is CoAP? What about WebSocket? How to select the right IoT protocol Summary Chapter 4: Data Sources for Grafana What is a data source? SQL versus NoSQL databases SQL databases What are NoSQL databases What are TSDBs? Google Sheets and CSV files Google Sheets data source Using files as data sources How to use live data Features Live channels Origin check Use of resources Maximum number of connections Summary Chapter 5: Using Time Series Databases Installing and configuring InfluxDB Installing InfluxDB Configuring the InfluxDB service Configuring the InfluxDB database Creating and managing an InfluxDB database Main concepts of InfluxDB databases Creating an InfluxDB bucket Storing values in the bucket Reading data from InfluxDB Installing and configuring OpenTSDB Installing OpenTSDB Configuring OpenTSDB Writing data in an OpenTSDB database Data schema Writing data Adding the data source to Grafana Summary Invitation to join us on Discord Part 3: Connecting Data Sources and Building Dashboards Chapter 6: Getting Data and Building Dashboards Getting data from time-series databases Showing time-series data in graph panels Panel options Time-series panel options Building table data panels Table panel options Building and customizing a table with multiple queries How to show categorical data Using stat panels Using bar charts Building a georeferenced map The Geomap panel Histograms and heatmaps The Histogram panel The Heatmap panel Summary Chapter 7: Managing Plugins Technical requirements How to install and manage plugins Installing a Grafana plugin on your server Installing plugins in a Grafana Cloud instance Plugins administration permissions All the flavors of plugins Signed versus unsigned plugins Types of plugins Summary Chapter 8: Organizing and Managing Dashboards Organizing panels and dashboards Controlling the visualization Building and showing playlists Properties of dashboards General dashboard properties Annotations and variables Annotations Variables Linking and sharing dashboards Linking dashboards and panels Sharing dashboards and panels Exporting and importing dashboards Exporting a dashboard Importing a dashboard Summary Part 4: Performing Analytics and Notifications Chapter 9: Performing Analytics in Grafana Technical requirements InfluxDB calculations InfluxQL functions Transformations in Grafana Add field from calculation Concatenate fields Convert field type Filter data by name Filter data by query Filter data by value Group by Labels to fields Merge Organize fields Join by field (outer transformation) Reduce Building advanced plots with Plotly Summary Invitation to join us on Discord Chapter 10: Alerting and Notifications in Grafana Technical requirements How Grafana manages alerts Using Alertmanager in Grafana Alert rule types No data and error handling Building numerical-based alerts Time-series and tabular data Notifications in Grafana Adding a contact point Connecting alerts and notifications Grouping notification policies Adding notification policies Editing the root policy Mute timings Silences Differences between mute timings and silences Summary Part 5: Integrating Grafana with Other Platforms Chapter 11: Using Grafana with Prometheus Technical requirements What is Prometheus? Architecture Data model Metric types Installing Prometheus Installing from binaries Installing from source Installing Prometheus using Docker Feeding Prometheus with data Prometheus clients Exporters Pushgateway Scraping configuration Integrating Prometheus and Grafana Editing Prometheus queries in Grafana Summary Chapter 12: Using Grafana with OpenSearch Technical requirements What OpenSearch is and what it is used for OpenSearch components Installing OpenSearch Disabling security for testing Ingesting data in OpenSearch Fluent Bit Configuring Fluent Bit for receiving MQTT messages Sending the data to OpenSearch Integrating OpenSearch and Grafana Adding the data source Building dashboards with the OpenSearch data source Interacting with OpenSearch using OpenSearch Dashboards Summary Invitation to join us on Discord Chapter 13: Showing Data from LibreNMS in Grafana Technical requirements What LibreNMS is and how you can use it SNMP Configuring LibreNMS to use InfluxDB Showing LibreNMS data on Grafana dashboards Showing network topology diagrams with quasi-live data Building diagrams with draw.io Using the FlowCharting panel Summary Chapter 14: Integrations for Grafana Cloud Technical requirements What is the Grafana Agent? Grafana Agent configuration Grafana Cloud service integrations Using the Linux Node integration Using the Home Assistant integration Using the RabbitMQ integration Summary Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: Building IoT Visualizations using Grafana: Power up your IoT projects and monitor with Prometheus, LibreNMS, and Elasticsearch
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.