Slide deck related to the Open Telemetry demo at Singapore Java User Group (JUG). The demo showcased how to use Open Telemetry on local laptop with Docker, Docker Compose and Kubernetes running on single node cluster using Docker Desktop. In the last part of the demo, we highlighted the use of Helm charts and Operators to run OpenTelemetry collector on a managed Kubernetes cluster with Azure Kubernetes Service (AKS).
3. 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
4. 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
6. OPEN
TELEMETRY
EVOLUTION
Greek word
Open + Tele + Metry
Open Source + Remote + Measurement
---------------------------------
Merged from two projects
Open Tracing + Open Census
OPEN TELEMETRY INTRODUCTION
7. 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
11. 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
12. SUPPORTED BACKEND – COMMON
Supported Backends
Cloud
FULL LIST
https://opentelemetry.io/ecosystem/vendors/
OPEN TELEMETRY INTRODUCTION
13. 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/
15. 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