SlideShare a Scribd company logo
Observability For
You and Me with
OpenTelemetry
Eric D. Schabell
Director Evangelism
@ericschabell{@fosstodon.org}
4 Jul 2024
Tech Meetup Glasgow
chronosphere.io
Cloud Native O11y (at scale)
Nuts & Bolts of OpenTelemetry
Getting Your Feet Wet
chronosphere.io
Cloud Native Observability at Scale
chronosphere.io
Cloud Native
chronosphere.io
Data volume
Experiment:
- Hello World app on 4 node
Kubernetes cluster with Tracing,
End User Metrics (EUM), Logs,
Metrics (containers / nodes)
- 30 days == +450 GB
chronosphere.io
Retention
Retention
Retention
Retention
Retention
Retention
Retention
chronosphere.io
Cloud Native at Scale
chronosphere.io
Simple O11y
chronosphere.io
O11y at Scale (over time…)
chronosphere.io
“It’s remarkable how common this
situation is, where an organization
is paying more for their
observability data, than they do
for their production
infrastructure.”
?
chronosphere.io
O11y at Scale (need)
chronosphere.io
Telemetry is automatically collecting, transmitting
and measuring data from remote sources. It
transmits data back to a central location and
analyzes to monitor and control remote systems.
chronosphere.io
Nuts & Bolts of
OpenTelemetry
chronosphere.io
OpenTelemetry is not an
observability back-end.
chronosphere.io
https://opentelemetry.io
chronosphere.io
Traces give us the big picture and understanding
the full path a request takes in your application.
Spans represents a unit of work or operation and
are building blocks of traces.
Metrics are measurements of a service
captured at runtime.
Logs are a timestamped text record,
either structured (recommended) or
unstructured, with metadata.
chronosphere.io
● API - generating & correlating tracing data
● SDK - language specific impl
● Data - OpenTelemetry Protocol (OTLP)
Specification
chronosphere.io
Applications (Java)
OTel Auto Instrumentation (libraries)
OTel API
OTel SDK
OTel Collector
OTLP
OTLP
OTLP
(Auto) instrumentation
chronosphere.io
Host
Observability Backend
(Prometheus, Jaeger, Fluent Bit, etc.),
Applications
OTel Auto Instrumentation
OTel API
OTel SDK
OTel Collector Agent
OTLP
OTLP
OTLP
OTLP
OTLP
Collector (agent)
chronosphere.io
Host
Host
Host
Observability Backend
(Prometheus, Jaeger, Fluent Bit, etc.),
Applications
OTel Auto Instrumentation
OTel API
OTel SDK
OTel Collector Agent
OTLP
OTLP
OTLP
OTLP
Collector (gateway)
OTel Collector Gateway
chronosphere.io
Observability Backend
(Prometheus, Jaeger, Fluent Bit, etc.),
OTel Collector
OTLP
Telemetry
(Spans)
Collector (internals)
Receiver Processor Exporter
chronosphere.io
Spans and Traces
chronosphere.io
Metrics in OTel
● Counter - value accumulates over time
● Asynchronous Counter - Same as the Counter, but is
collected once for each export (aggregated value)
● UpDownCounter: example could be a queue length
● Asynchronous UpDownCounter - Same as the
UpDownCounter, but is collected once for each export
● Gauge: Measures a current value at the time it is read
● Histogram: A client-side aggregation of values, such as request
latencies (buckets)
chronosphere.io
OpenTelemetry’s approach with logs is different. Because existing logging
solutions are widespread in language and operational ecosystems,
OpenTelemetry acts as a “bridge” between those logs, the tracing and
metrics signals, and other OpenTelemetry components.
chronosphere.io
Kubernetes Operator
Collector
Auto-instrumentation
Collector
Auto-instrumentation
Collector
Auto-instrumentation
Collector
Auto-instrumentation
chronosphere.io
Getting Your Feet Wet
chronosphere.io
CNCF - cloud-native.slack.com
chronosphere.io
CNCF - End User Community
chronosphere.io
Workshop (aka Demo)
Demo application is a Flask web application
written in Python:
● http://localhost:8001/ - page load count
● http://localhost:8001/doggo - photo from the Dog API
● http://localhost:8001/rolldice - simulated dice roll
● http://localhost:16686 - Jaeger UI
Workshop?
Short link: bit.ly/opentelemetry-workshop
Questions?
Eric D. Schabell
Director Evangelism
@ericschabell{@fosstodon.org}

More Related Content

Observability For You and Me with OpenTelemetry