Book Image

Observability with Grafana

By : Rob Chapman, Peter Holmes
Book Image

Observability with Grafana

By: Rob Chapman, Peter Holmes

Overview of this book

To overcome application monitoring and observability challenges, Grafana Labs offers a modern, highly scalable, cost-effective Loki, Grafana, Tempo, and Mimir (LGTM) stack along with Prometheus for the collection, visualization, and storage of telemetry data. Beginning with an overview of observability concepts, this book teaches you how to instrument code and monitor systems in practice using standard protocols and Grafana libraries. As you progress, you’ll create a free Grafana cloud instance and deploy a demo application to a Kubernetes cluster to delve into the implementation of the LGTM stack. You’ll learn how to connect Grafana Cloud to AWS, GCP, and Azure to collect infrastructure data, build interactive dashboards, make use of service level indicators and objectives to produce great alerts, and leverage the AI & ML capabilities to keep your systems healthy. You’ll also explore real user monitoring with Faro and performance monitoring with Pyroscope and k6. Advanced concepts like architecting a Grafana installation, using automation and infrastructure as code tools for DevOps processes, troubleshooting strategies, and best practices to avoid common pitfalls will also be covered. After reading this book, you’ll be able to use the Grafana stack to deliver amazing operational results for the systems your organization uses.
Table of Contents (22 chapters)
1
Part 1: Get Started with Grafana and Observability
5
Part 2: Implement Telemetry in Grafana
10
Part 3: Grafana in Practice
15
Part 4: Advanced Applications and Best Practices of Grafana

Exploring tracing protocols

In Chapter 2, we introduced the three main tracing protocols, OTLP, Zipkin, and Jaeger. In this section, we will explore some of the features of these protocols, how well-supported they are, and how to use them in the software services that you write. We will also discuss the different headers used by these protocols to propagate context to other services. A tracing protocol is made up of a set of headers that are added to the HTTP requests made by an instrumented application. These headers are what propagate the information of individual spans to downstream services. Once all of these spans are collected, they form a fully distributed trace.

What are the main tracing protocols?

First, let’s look at the features and support of the main tracing protocols – OTLP, Zipkin, and Jaeger.

OTLP

OTLP tracing offers support for C++, .NET, Erlang, Go, Java, JavaScript, PHP, Python, Ruby, Rust, and Swift. There is good support for OTLP in popular...