Rootconf Sessions

Presentations on DevOps and Dev-Oops

Attend Submit a session proposal

Distributed tracing using Jaeger with Cassandra for Kubernetes

Submitted by Pranay Prateek (@pranay01) on May 5, 2020

Duration of the session:: 20 mins crisp talk Category of talk: DevOps Status: Submitted

Abstract

With emergence of microservices, distributed tracing is increasingly more important. To debug an issue, one needs to find which services it passed through - and which service had an issues. Jaeger is an open source distributed tracing project which helps achieve this.

In this talk I will explain how to setup Jaeger with Cassandra on Kubernetes cluster.

Target Audience - DevOps / SRE folks in companies trying to implement distributed tracing

Key takeways -
1. Overview of distributed tracing, existing choices - their pros & cons
2. How to setup Jaeger in Kubernetes infra
3. Setting up backend storage system (Cassandra) to store Jaeger metrics, trade off between different storage systems
4. Live example with sample application

Outline

  • What is distributed tracing?
  • How does tracing differ from logs?
  • Tools and cost to run distributed tracing in-house
  • Jaeger Architecture
  • Steps to setup Jaeger in Kubernetes
  • Cassandra setup for storing Jaeger traces
  • Sample application
  • How to read flamegraphs & debug application issues using it
  • Monitor Jaeger using Prometheus and Grafana

Speaker bio

Pranay is co-founder at SigNoz, a lightweight application monitoring tool for Kubernetes. He has worked extensively with users trying to understand their monitoring & observability use cases - and how poor systems impact their software reliability. He has lead product teams in past in MNCs (Microsoft) and startups - and has in trenches experience in handling issues in production software

Links

Slides

https://signoz.io/blog/distributed-tracing-using-jaeger-with-cassandra/

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}