Book description
A comprehensive introduction to help you get up and running with creating interactive dashboards to visualize and monitor time-series data in no time
Key Features
- Install, set up, and configure Grafana for real-time data analysis and visualization
- Visualize and monitor data using data sources such as InfluxDB, Prometheus, and Elasticsearch
- Explore Grafana's multi-cloud support with Microsoft Azure, Amazon CloudWatch, and Google Stackdriver
Book Description
Grafana is an open-source analytical platform used to analyze and monitoring time-series data. This beginner's guide will help you get to grips with Grafana's new features for querying, visualizing, and exploring metrics and logs no matter where they are stored.
The book begins by showing you how to install and set up the Grafana server. You'll explore the working mechanism of various components of the Grafana interface along with its security features, and learn how to visualize and monitor data using, InfluxDB, Prometheus, Logstash, and Elasticsearch. This Grafana book covers the advanced features of the Graph panel and shows you how Stat, Table, Bar Gauge, and Text are used. You'll build dynamic dashboards to perform end-to-end analytics and label and organize dashboards into folders to make them easier to find. As you progress, the book delves into the administrative aspects of Grafana by creating alerts, setting permissions for teams, and implementing user authentication. Along with exploring Grafana's multi-cloud monitoring support, you'll also learn about Grafana Loki, which is a backend logger for users running Prometheus and Kubernetes.
By the end of this book, you'll have gained all the knowledge you need to start building interactive dashboards.
What you will learn
- Find out how to visualize data using Grafana
- Understand how to work with the major components of the Graph panel
- Explore mixed data sources, query inspector, and time interval settings
- Discover advanced dashboard features such as annotations, templating with variables, dashboard linking, and dashboard sharing techniques
- Connect user authentication to Google, GitHub, and a variety of external services
- Find out how Grafana can provide monitoring support for cloud service infrastructures
Who this book is for
This book is for business intelligence developers, business analysts, data analysts, and anyone interested in performing time-series data analysis and monitoring using Grafana. Those looking to create and share interactive dashboards or looking to get up to speed with the latest features of Grafana will also find this book useful. Although no prior knowledge of Grafana is required, basic knowledge of data visualization and some experience in Python programming will help you understand the concepts covered in the book.
Table of contents
- Title Page
- About Packt
- Copyright and Credits
- Contributors
- Preface
- Getting Started with Grafana
-
Introduction to Data Visualization with Grafana
- Technical requirements
- Data and visualization
- Storing, retrieving, and visualizing data
- Why Grafana?
- Installing Grafana
- Grafana in a Docker container
- Grafana for OS X
- Homebrew
- The command line
- Grafana for Linux
- RedHat Linux
- Debian Linux
- Grafana for Windows
- Hosted Grafana on the cloud
- Connecting to the Grafana server
- Summary
-
A Tour of the Grafana Interface
- Technical requirements
- Exploring Grafana – the Home dashboard
- Glancing at the sidebar menu
- The dashboards button
- The dashboard panels
- The dashboard settings and view mode
- Learning to use the icons on Grafana's left sidebar
- The Grafana logo
- Search
- Create
- Dashboard
- Folder
- Import
- Dashboards
- Manage
- Playlists
- Snapshots
- Explore
- Alerting
- Alert Rules
- Notification channels
- Configuration
- Data Sources
- Users
- Teams
- Plugins
- Preferences
- API Keys
- Server Admin
- Users
- Orgs
- Settings
- Stats
- Summary
-
An Introduction to the Graph Panel
- Technical requirements
- Touring the graph panel
- Creating a simple data source
- Creating a graph panel
- Generating data series in the Query tab
- What is a query?
- Query tab features
- The Data source menu
- Query Options
- Query inspector
- Query
- Query controls
- Add Query
- Duplicating an existing query
- Editing the graph in the Panel tab
- The Settings section
- Setting the panel title and description
- The Visualisation section
- The Display section
- The Hover tooltip
- Stacking and Null value
- The Series overrides section
- The Axes section
- Left Y/Right Y
- X-axis
- The Legend section
- Options
- Values
- Hide series
- The Thresholds section
- Setting a threshold
- The Time Region section
- Setting a time region
- The Data links section
- The Links section
- The Repeat options section
- Monitoring with the Alert tab
- Rule
- Conditions
- No Data and Error Handling
- Notifications
- Summary
- Real-World Grafana
-
Connecting Grafana to a Data Source
- Technical requirements
- Installing the Prometheus server
- Installing Prometheus from Docker
- Configuring the Prometheus data source
- Exploring Prometheus
- Using Explore for investigation
- Configuring Grafana metrics
- Querying the Prometheus data source
- Typing in a metrics query
- Querying for process metrics
- Detecting trends with aggregations
- Applying aggregations to our query data
- Understanding the data source limitations
- Querying limits for series aggregations
- Querying limits for time aggregations
- Summary
-
Visualizing Data in the Graph Panel
- Technical requirements
- Making advanced queries
- Launching server Docker containers
- Writing the ETL script
- Running the script
- Configuring the InfluxDB data source
- Understanding the time series data display
- Displaying time-aggregated data
- Debugging queries with the Query Inspector
- Observing time interval effects
- Setting the minimum interval
- Setting vertical axes
- Setting axis units
- Converting into Fahrenheit
- Autoscaling the Y axis
- Dual Y-axis display
- Graphing relative humidity
- Graphing wind chill
- Working with legends
- Setting legend contents
- Enabling legend aggregations
- Summary
-
Visualization Panels in Grafana
- Technical requirements
- Introducing the Stat panel
- Loading the dataset
- Creating a Stat panel
- Setting the Panel tab's display
- Setting the value aggregation
- Setting Graph mode
- Setting the Field tab's standard options
- Setting units
- Setting Min and Max
- Setting the display name
- Setting the Field tab thresholds
- Setting the Field panel's value mappings
- Building our Stat panels
- Working with the Gauge panel
- Setting the Panel tab's display
- Setting the Field tab's standard options
- Setting the Field tab thresholds
- Adding a Bar Gauge panel
- Setting the Gradient mode
- Setting the Retro LCD mode
- Setting the Basic mode
- Building a bar gauge
- Geolocating data on the Worldmap panel
- Ingesting a new earthquake dataset
- Updating process_cli()
- Updating main()
- Adding dump_eq_data()
- Adding load_eq_data()
- Configuring the InfluxDB data source
- Setting up the Worldmap panel
- Structuring data fields in the Table panel
- Comparing aggregations
- Overriding field settings
- Summary
-
Creating Your First Dashboard
- Technical requirements
- Designing a dashboard
- Conveying information
- Determining the visual context
- Prioritizing elements of importance
- Creating a high information density dashboard
- Designing the dashboard
- Building a station text panel
- Modifying the weather.py script
- Building the current conditions panel
- Building the temperature panel
- Building the moisture panel
- Building the barometer panels
- Creating a barometric pressure graph panel
- Creating a barometric pressure trend graph panel
- Building the wind panels
- Creating a wind speed graph panel
- Creating a wind direction stat panel
- Building the visibility panel
- Creating a high information visibility dashboard
- Designing the dashboard
- Building the station panel
- Building the temperature panels
- Buiding a current temperature stat panel
- Creating a high-temperature stat panel
- Creating a low-temperature stat panel
- Creating a dew point stat panel
- Building the barometer panels
- Creating a barometer reading stat panel
- Creating a barometric pressure trend stat panel
- Building the visibility panel
- Building the wind panels
- Creating a wind speed stat panel
- Creating a wind gust stat panel
- Creating a wind direction stat panel
- Building a current conditions panel
- Summary
-
Working with Advanced Dashboard Features
- Technical requirements
- Building the data server
- Templating dashboards
- Querying with Elasticsearch
- Creating a template variable
- Adding template variables to the graph panel
- Templating additional variables
- Creating Ad hoc filters
- Repeating rows and panels with template variables
- Creating a new dashboard
- Setting up the template variables
- Configuring the panels
- Linking dashboards
- Adding dashboard tags
- Locking down a template variable
- Creating dashboard links
- Annotating dashboards
- Annotating the graph panel
- Querying tagged annotations
- Creating Elasticsearch annotation queries
- Sharing dashboards
- Sharing dashboard links
- Sharing dashboards by exporting
- Sharing dashboard snapshots
- Summary
-
Grafana Alerting
- Technical requirements
- Setting thresholds
- Capturing real-time data
- Processing the Logstash input
- Filtering the Logstash events
- Outputting the data
- Creating an ElasticSearch data source
- Building the dashboard panels
- Setting thresholds
- Constraining thresholds to time regions
- Configuring alerts
- Alert rules
- Conditions
- Handling edge cases
- Assigning alerts to notification channels
- Setting up an email notification channel
- Configuring Grafana Docker containers
- Troubleshooting and controlling alerts
- Checking the alert history
- Testing the rule
- Controlling alerts
- Summary
- Exploring Logs with Grafana Loki
- Managing Grafana
-
Organizing Dashboards
- Technical requirements
- Managing dashboards and folders
- Naming a dashboard
- Dashboard naming tips
- Working with dashboard folders
- Creating a dashboard folder
- Adding dashboards to a folder
- Deleting folders
- Guiding dashboard folder management
- Starring and tagging dashboards
- Marking dashboards as favorites
- Tagging dashboards
- Adding tags
- Deleting tags
- Building and running dashboard playlists
- Creating a playlist
- Displaying a playlist
- Displaying playlists in normal mode
- Displaying playlists in TV mode
- Displaying playlists in Kiosk mode
- Displaying playlists with auto fit panels
- Editing a playlist
- Exploring the dashboard list panel
- Setting dashboard list panel options
- Summary
-
Managing Permissions for Users and Teams
- Technical requirements
- Understanding key permissions concepts
- Organizations
- Users
- Roles
- Teams
- Adding users
- Adding users – by invitation only
- Adding users – serve yourself
- Setting permissions
- Setting organization roles
- Setting folder permissions
- Setting dashboard permissions
- Establishing teams
- Setting up a team
- Team members
- Team settings
- Permission rules
- Administering users and organizations
- Managing users
- Disabling or deleting a user
- Elevating a user to Super Admin
- Setting user organizations
- Organization admin and Super Admin roles
- Managing organizations
- Creating a new organization
- Renaming and setting the organization preferences
- Switching between organizations
- Summary
- Authentication with External Services
-
Cloud Monitoring
- Configuring an AWS CloudWatch data source
- Creating the policy
- Creating the user
- Configure the new data source
- Configuring a Microsoft Azure Monitor data source
- Registering the Grafana application
- Setting the application role
- Generating application Secrets
- Configuring the Azure Monitor data source
- Configuring Azure Log Analytics
- Generating the API key for Application Insights Details
- Configuring a Google Stackdriver data source
- Enabling Google Cloud APIs
- Creating a Google Service Account
- Configuring a Google Stackdriver data source
- Summary
- Other Books You May Enjoy
Product information
- Title: Learn Grafana 7.0
- Author(s):
- Release date: June 2020
- Publisher(s): Packt Publishing
- ISBN: 9781838826581
You might also like
book
Learning Go, 2nd Edition
Go has rapidly become the preferred language for building web services. Plenty of tutorials are available …
book
Learning Helm
Get up to speed with Helm, the preeminent package manager for the Kubernetes container orchestration system. …
book
Learning Go
Go is rapidly becoming the preferred language for building web services. While there are plenty of …
book
Learning Modern Linux
If you use Linux in development or operations and need a structured approach to help you …