Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Open Telemetry

Nilesh Gule
September 13, 2023

Open Telemetry

Slide deck related to the Singapore Java User Group (JUG) presentation on OpenTelemetry. The demo covered setting up Open Telemetry from locally using Docker, Docker Compose and Single node Kubernetes cluster in Docker Desktop. In the last part we cover the managed Kubernetes cluster using Azure Kubernetes Service (AKS)

Nilesh Gule

September 13, 2023
Tweet

More Decks by Nilesh Gule

Other Decks in Technology

Transcript

  1. Nilesh Gule ARCHITECT | MICROSOFT MVP | First Docker Captain

    in Singapore “Code with Passion and Strive for Excellence” nileshgule @nileshgul e Nilesh Gule NileshGul e www.handsonarchitect.co m https://www.youtube.com/@nilesh-gule
  2. AGENDA • Observability in general • Open telemetry an introduction

    • Open telemetry in action • Local Dev Environment • Docker + Dev IDE • Docker • K8s Cluster • Azure K8s Cluster • K8s Otel Operators • K8s Declarative Collector configuration • K8s Loki
  3. OPEN TELEMETRY EVOLUTION Greek word Open + Tele + Metry

    Open Source + Remote + Measurement --------------------------------- Merged from two projects Open Tracing + Open Census OPEN TELEMETRY INTRODUCTION
  4. OPEN TELEMETRY INTRODUCTION • OpenTelemetry is an Observability framework and

    toolkit designed to create and manage telemetry data such as traces, metrics, and logs. • Crucially, OpenTelemetry is vendor and tool-agnostic, meaning that it can be used with a broad variety of Observability backends, including open source tools like Jaeger and Prometheus, as well as commercial offerings. OpenTelemetry is a Cloud Native Computing Foundation (CNCF) project. OFFICIAL DEFINITION
  5. IT’S A STANDARD ◦ It’s a standard. ◦ It is

    not a observability tool like Datadog, ELK, Jaeger, Grafana. ◦ No Vendor locking OPEN TELEMETRY INTRODUCTION
  6. OPEN TELEMETRY INTRODUCTION Language Traces Metrics Logs Java Stable Stable

    Stable Python Stable Stable Experimental Java Script Stable Stable Development Ruby Stable Not Implemented Yet Not Implemented Yet PHP Beta Beta Alpha MATURITY LEVEL OF SUPPORTED LANGUAGES FULL LIST BY LANGUAGE https://opentelemetry.io/docs/getting-started/dev/
  7. DEMO WITH MICROSERVICES ◦ Auto Instrumentation ◦ Spring boot stand

    alone application ◦ Using docker Compose ◦ Using K8s cluster ◦ Scenario with error ◦ Integration with Jaeger ◦ Manual Instrumentation ◦ Frontend – NodeJs App OPEN TELEMETRY IN ACTION - LOCAL
  8. CODE & CONFIG ◦ Docker compose ◦ Java configuration ◦

    Otel-config.yml ◦ Node/Express App manual instrumentation OPEN TELEMETRY IN ACTION - LOCAL
  9. CODE & CONFIG ◦ Operators ◦ Service Monitor ◦ Allocator

    ◦ OTel Configurations ◦ Auto instrumentation OPEN TELEMETRY IN ACTION - K8S