Bubbling Up Meaningful Information

Learn how to set up and configure Prometheus and Jaeger exporters for OpenTelemetry to capture telemetry data in a Kubernetes environment.

As we’ve seen, capturing both out-of-the-box and custom telemetry can be done with relatively little effort. The real effort is paring down that information to ensure there’s not too much noise and that relevant information on the health and performance of an application is what gets brought to the top. This will save not only the patience of those who monitor the application but can also result in a lowered cost in storage and processing by limiting the volume of information stored.

To help illustrate, we’ll be using two examples of exporters that are compatible with OpenTelemetry—Prometheus and Jaeger:

  • Prometheus is a popular time-series database commonly used with Kubernetes to capture both standard and custom telemetry for applications. Information is typically scraped (read from an endpoint) into the Prometheus database and retained for a finite period. This information can then be used in trend analysis to identify patterns around the health, performance, or stability of an application or platform. Visualization tools such as Grafana can use Prometheus as a data source to facilitate the creation of dashboards and monitors, depending on what needs to be seen for that application.

  • Jaeger is a distributed tracing framework that allows us to measure events across components (spans) and compose a view of those events in an end-to-end transaction flow (trace). This can be helpful, especially when troubleshooting a distributed application composed of many microservices. Span and trace data are usually stored in either Elasticsearch or ...