Slide 1

Slide 1 text

© 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. OpenTelemetry Ein offener Standard für den Durchblick in Anwendungslandschaften Dennis Kieselhorst Sr. Solutions Architect Amazon Web Services

Slide 2

Slide 2 text

© 2022, Amazon Web Services, Inc. or its affiliates. Agenda • Observability • CNCF Cloud Native Landscape • What is OpenTelemetry? • OpenTelemetry architecture • Tracing concepts in a nutshell • OpenTelemetry in Java • Demo • OpenTelemetry Collector • AWS Distro for OpenTelemetry • Q&A 2

Slide 3

Slide 3 text

© 2022, Amazon Web Services, Inc. or its affiliates. What is observability? DETECT INVESTIGATE REMEDIATE

Slide 4

Slide 4 text

© 2022, Amazon Web Services, Inc. or its affiliates. Logs Traces Metrics Foundation of Observability

Slide 5

Slide 5 text

© 2022, Amazon Web Services, Inc. or its affiliates. Logs Traces Metrics Foundation of Observability ✓Discrete events ✓Usually timestamped ✓Can be structured

Slide 6

Slide 6 text

© 2022, Amazon Web Services, Inc. or its affiliates. Logs Traces Metrics grafana.com/grafana/dashboards/1244 ✓ Regularly sampled data points (timestamped) ✓ Numeric value ✓ Dimension/Labels

Slide 7

Slide 7 text

© 2022, Amazon Web Services, Inc. or its affiliates. Logs Traces Metrics Foundation of Observability jaegertracing.io/docs/1.18/ Request path across a number of services

Slide 8

Slide 8 text

© 2022, Amazon Web Services, Inc. or its affiliates. CNCF Cloud Native Landscape http://l.cncf.io

Slide 9

Slide 9 text

© 2022, Amazon Web Services, Inc. or its affiliates. CNCF Cloud Native Landscape http://l.cncf.io

Slide 10

Slide 10 text

© 2022, Amazon Web Services, Inc. or its affiliates. CNCF end-user technology radar „1. The most commonly adopted tools are open source. 2. There’s no consolidation in the observability space. 3. Prometheus and Grafana are frequently used together.” https://radar.cncf.io/2020-09-observability https://www.cncf.io/blog/2020/09/11/cncf-end-user-technology-radar-observability-september-2020/

Slide 11

Slide 11 text

© 2022, Amazon Web Services, Inc. or its affiliates. What is OpenTelemetry OpenTelemetry is a collection of tools, APIs, and SDKs. You can use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. A N O B S E R V A B I L I T Y F R A M E W O R K F O R C L O U D - N A T I V E S O F T W A R E Broad Language Support Java | C# | Go | JavaScript | PHP | Python | Rust | C++ | Erlang/Elixir | .NET | Swift Integrates With Popular Frameworks and Libraries MySQL | Redis | Django | Kafka | Jetty | Akka | RabbitMQ | Spring | Flask | net/http | gorilla/mux | WSGI | JDBC | PostgreSQL https://opentelemetry.io

Slide 12

Slide 12 text

© 2022, Amazon Web Services, Inc. or its affiliates. OpenTelemetry Reference architecture https://opentelemetry.io/docs/

Slide 13

Slide 13 text

© 2022, Amazon Web Services, Inc. or its affiliates. OpenTelemetry Architecture Application Code Auto-Instrumentation Agent OpenTelemetry Collector (Receivers/Exporters) OpenTelemetry Extension/Processing OpenTelemetry In-Process Exporter OpenTelemetry API/SDK Monitoring Services (Observability back-ends) Clients In application process Outside application process

Slide 14

Slide 14 text

© 2022, Amazon Web Services, Inc. or its affiliates. Logs Traces Metrics OpenTelemetry status API: stable SDK: feature-freeze Protocol: stable API: draft SDK: draft Protocol: beta API: stable SDK: stable Protocol: stable https://opentelemetry.io/status/

Slide 15

Slide 15 text

© 2022, Amazon Web Services, Inc. or its affiliates. Tracing concepts in a nutshell • Span represents an operation within a transaction. Typically encapsulates: operation name, a start and finish timestamp, attributes (a list of key-value pairs), events, a parent span identifier, links to other spans, and a SpanContext. • Trace defined implicitly by its spans. A trace can be thought of as a directed acyclic graph (DAG) of spans where the edges between spans are defined as parent/child relationships. • SpanContext represents all the information that identifies Span in the Trace and MUST be propagated to child Spans and across process boundaries. A SpanContext contains the tracing identifiers and the options that are propagated from parent to child Spans. • Tracer is responsible for tracking the currently active span. https://github.com/open-telemetry/opentelemetry- specification/blob/main/specification/overview.md#tracing-signal

Slide 16

Slide 16 text

© 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 18 Demo https://aws.amazon.com/blogs/opensource/aws- one-observability-demo-workshop-whats-new- with-prometheus-grafana-and-opentelemetry/

Slide 17

Slide 17 text

© 2022, Amazon Web Services, Inc. or its affiliates.

Slide 18

Slide 18 text

© 2022, Amazon Web Services, Inc. or its affiliates. Getting started: OpenTelemetry with Java applications Manual instrumentation opentelemetry-api and opentelemetry-sdk libraries available to e.g. create spans programmatically https://opentelemetry.io/docs/java/manual_instrumentation/ Auto instrumentation Java agent attached to the JVM https://github.com/open-telemetry/opentelemetry-java- instrumentation#getting-started https://github.com/open-telemetry/opentelemetry-java- instrumentation/blob/main/docs/supported-libraries.md https://opentelemetry.io/docs/java/

Slide 19

Slide 19 text

© 2022, Amazon Web Services, Inc. or its affiliates. Collector Vendor-agnostic way to receive, process and export telemetry data Deployment • Agent: A Collector instance running with the application or on the same host as the application (e.g. binary, sidecar, or daemonset). • Gateway: One or more Collector instances running as a standalone service (e.g. container or deployment) typically per cluster, datacenter or region. Components • Receivers: How to get data into the Collector; these can be push or pull based • Processors: What to do with received data • Exporters: Where to send received data; these can be push or pull based • Pipelines: Enable the components https://opentelemetry.io/docs/concepts/data-collection/

Slide 20

Slide 20 text

© 2022, Amazon Web Services, Inc. or its affiliates.

Slide 21

Slide 21 text

© 2022, Amazon Web Services, Inc. or its affiliates. Collector

Slide 22

Slide 22 text

© 2022, Amazon Web Services, Inc. or its affiliates. Collector configuration https://github.com/aws-observability/aws-otel- lambda/blob/main/adot/collector/config.yaml https://github.com/open- telemetry/opentelemetry- collector/blob/main/examples/de mo/otel-collector-config.yaml https://opentelemetry.io/docs/collector/configuration/

Slide 23

Slide 23 text

© 2022, Amazon Web Services, Inc. or its affiliates. A secure, production-ready open source distribution supported by AWS One-click deploy and configure from AWS Container and AWS Lambda consoles Exporters for AWS monitoring solutions including - CloudWatch, X- Ray, Elasticsearch Service, and Partner Solutions AWS Distro for OpenTelemetry

Slide 24

Slide 24 text

© 2022, Amazon Web Services, Inc. or its affiliates. AWS Distro for OpenTelemetry Architecture Application Code Auto-Instrumentation Agent OpenTelemetry Collector OpenTelemetry Extension/Processing OpenTelemetry In-Process Exporter OpenTelemetry API/SDK Monitoring Services Clients In application process Outside application process AWS resource metadata X-Ray Trace ID Support Correlation between metrics and traces AWS SDK Support X-Ray Trace ID Support Format conversion between OT and AWS Correlation between metrics and traces Traces Metrics X-Ray CloudWatch Metrics Prometheus Partners

Slide 25

Slide 25 text

© 2022, Amazon Web Services, Inc. or its affiliates. © 2022, Amazon Web Services, Inc. or its affiliates. 35 Q&A Bitte die Feedbackumfrage ausfüllen!

Slide 26

Slide 26 text

© 2022, Amazon Web Services, Inc. or its affiliates. AWS Resources • Overview page: http://aws.amazon.com/otel • Developer Portal: https://aws-otel.github.io • Roadmap: https://github.com/orgs/aws-observability/projects/4 • Feature requests, bugs: https://github.com/aws-observability/aws-otel- community/issues • OpenTelemetry spec https://github.com/open-telemetry/opentelemetry- specification/tree/main/specification • Contact us on Gitter: https://gitter.im/aws-otel-distro/community