Book Image

Learn Grafana 7.0

By : Eric Salituro
Book Image

Learn Grafana 7.0

By: Eric Salituro

Overview of this book

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.
Table of Contents (19 chapters)
1
Getting Started with Grafana
5
Real-World Grafana
13
Managing Grafana

Querying the Prometheus data source

Now that we have both Prometheus and Grafana logging metrics, let's try out some queries. I won't be able to give you a full rundown on every aspect of PromQL—the Prometheus query language—but I can help you to learn enough to be able to examine many of the server metrics that can be accessed from the Prometheus data source.

To get a better understanding of how queries work in time-series databases such as Prometheus, let's first start with a more traditional database, such as MySQL. Typically, the structure of a query looks something like this:

SELECT some fields
FROM some table
WHERE fields match some criteria

You get back from the query some rows, each one containing the contents of some fields. In the case of time-series databases, things work a little differently. The query has a form that is more like the following:

SELECT metric
FROM some data store
WHERE metric tags match some...