# 30 Days of OpenTelemetry Welcome! > **What is OpenTelemetry?** > > It's the industry-standard framework for collecting and exporting observability data (traces, metrics, logs) in a vendor-neutral way. Think of it as the unified language that lets you understand what's happening inside your distributed systems. This is a **public learning project** designed to help others follow along and build production-ready observability skills step-by-step. Whether you're a complete beginner or looking to get certified, you'll find structured content, hands-on examples, and comprehensive exam preparation here. > New here? Check out **[GETTING_STARTED.md](GETTING_STARTED.md)** to find the best entry point for how you want to learn. > > Something broken? Check **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** for common install/runtime errors and how to debug missing traces or Collector issues. --- ## Weekly Structure | Week | Theme | Focus | What We'll Build | |--------|-------|-------|-------------------| | **1** | Observability Fundamentals | Understanding traces, metrics, logs; semantic conventions; auto vs manual instrumentation | Mental models + reading real traces | | **2** | OpenTelemetry APIs & SDK | Hands-on with Tracing API, Metrics API, Logs API, context propagation, SDK pipelines | Instrumented Node.js apps | | **3** | OpenTelemetry Collector | Receivers, processors, exporters, transformations (OTTL), deployment models, scaling | Full collector pipeline with OTTL transformations | | **4** | Production Readiness & Certification | Troubleshooting, debugging, security, Kubernetes Operator, production best practices, OTCA exam prep | Complete observable system + certification readiness | --- ## Goals of This Project - Understand **observability fundamentals** (why it matters, what problems it solves) - Become fluent in **tracing, metrics, and logs** (the three pillars of observability) - Master the **OpenTelemetry API & SDK** (creating telemetry in code) - Build and configure the **OpenTelemetry Collector** (processing and routing telemetry) - Learn **production patterns** including: - Debugging distributed traces and missing telemetry - Troubleshooting collector pipelines - Production best practices (security, performance, cost optimization) - Kubernetes deployment with OpenTelemetry Operator - **Pass the OpenTelemetry Certified Associate (OTCA) exam** with comprehensive preparation including: - Complete coverage of all 4 certification domains - Practice questions and mock exam - Quick reference guide and exam strategies --- ## Daily Breakdown
Week 1: Observability Fundamentals | Day | Topic | What We'll Learn | |-----|-------|-------------------| | 1 | Why Observability Matters | The shift from monoliths to microservices and why traditional monitoring isn't enough | | 2 | What is OpenTelemetry? | Vendor-neutral telemetry, the API/SDK separation, and why it won | | 3 | Traces, Metrics, Logs | How requests flow through distributed systems; three lenses on the same event | | 4 | Spans (Building Blocks) | Anatomy of a span, parent-child relationships, reading waterfall charts | | 5 | Semantic Conventions | Why `http.method` not `request_method`; the shared language of observability | | 6 | Instrumentation | Auto-instrumentation vs manual; when to use each; how spans get created | | 7 | Week 1 Review | Consolidation + missing pieces (sampling preview, context propagation details) | [Week 1 Knowledge Check](week1/week1-knowledge-check.md)
Week 2: OpenTelemetry APIs & SDK | Day | Topic | What We'll Learn | |-----|-------|-------------------| | 8 | API vs SDK | The architecture that makes OpenTelemetry portable; separation of concerns | | 9 | Tracing API | Creating nested spans, span events, adding attributes; hands-on examples | | 10 | Metrics API | Counters, gauges, histograms; measuring what matters | | 11 | Logs API | Structured logging + trace correlation; logs as part of the telemetry story | | 12 | Context Propagation | How trace context flows through your app and across services | | 13 | Break Day | Rest and recharge | | 14 | Week 2 Review | Recap of APIs, SDK basics, and what we've accomplished | [Week 2 Knowledge Check](week2/week2-knowledge-check.md)
Week 3: OpenTelemetry Collector Deep Dive | Day | Topic | What We'll Learn | |-----|-------|-------------------| | 15 | Collector Architecture | Why the Collector exists; receivers → processors → exporters pipeline flow | | 16 | Receivers | OTLP, Filelog, Prometheus; how telemetry enters the Collector | | 17 | Processors | Batch, attributes, filter, transform; essential data processing patterns | | 18 | Exporters | Multi-backend strategies; Jaeger, Prometheus, Loki routing | | 19 | Transformations (OTTL) | OpenTelemetry Transformation Language; business-friendly data manipulation | | 20 | Deployment & Scaling | Agent vs Gateway patterns; basic scaling concepts | | 21 | Week 3 Recap | Insights and wisdom; mindset shifts from learning to architecting | [Week 3 Knowledge Check](week3/week3-knowledge-check.md)
Week 4: Production Patterns & Certification Prep | Day | Topic | What We'll Learn | |-----|-------|-------------------| | 22 | Debugging the Collector | Systematic debugging approaches, logging exporters, health checks, metrics analysis | | 23 | Where the Heck is My Data? | Troubleshooting missing telemetry data through the entire pipeline (application → SDK → collector → backend) | | 24 | Debugging Distributed Traces | Finding lost spans, broken context propagation, systematic troubleshooting workflows | | 25 | Production Issues at Scale | Backpressure management, dropped spans, error handling, resource management | | 26 | Production Best Practices | Security (TLS, PII protection), performance optimization, monitoring strategies | | 27 | OpenTelemetry Operator Overview | Kubernetes-native observability, auto-instrumentation injector, CRDs, deployment modes | | 28 | Final Project | Build a complete observability stack with Dash0 integration | | 29 | Week 4 Recap | Systematic review of debugging trilogy, production patterns, and key concepts mastered | | 30 | What's Next | Advanced OpenTelemetry topics and continuing your observability journey | [Week 4 Knowledge Check](week4/week4-knowledge-check.md) **OTCA Certification Resources:** - [OTCA Exam Preparation Guide](week4/otca-exam-prep.md) - Complete study guide covering all 4 domains - [OTCA Mock Exam](week4/otca-mock-exam.md) - 20 practice questions with detailed answers - [OTCA Quick Reference](week4/otca-quick-reference.md) - Essential concepts and commands for exam day
--- ## Prerequisites **To follow along, you'll need:** - Basic JavaScript/Node.js knowledge (examples use Express.js, but you can use any language with OpenTelemetry support) - Docker installed (for running Jaeger and other backends) - Terminal/command line familiarity - Curiosity about observability! **Note:** While our examples use Node.js, OpenTelemetry supports many languages including Python, Go, Java, .NET, Ruby, PHP, and more. The concepts are the same across all languages. **Optional but helpful:** - Experience with distributed systems - Basic understanding of HTTP and APIs - Familiarity with monitoring concepts --- ## Contributing This is a learning project, which means **I will make mistakes**. If you spot: - ❌ Technical errors or outdated information - 💡 Better ways to explain concepts - 🐛 Broken code examples - 📚 Resources I should check out - ❓ Questions I should explore **Please:** 1. Open an Issue (for discussion) 2. Submit a PR (for fixes) 3. Leave a comment on social media posts 4. DM me directly All contributions welcome, from typo fixes to major corrections. --- ## Resources I'm Starting With **Official Docs:** - [OpenTelemetry Docs](https://opentelemetry.io/docs/) - [OTCA Exam Guide](https://training.linuxfoundation.org/certification/opentelemetry-certified-associate-otca/) - [Dash0 docs](https://www.dash0.com/documentation/dash0) **Books:** - [Practical OpenTelemetry: Adopting Open Observability Standards Across Your Organization](https://www.amazon.com/Practical-OpenTelemetry-Observability-Standards-Organization/dp/1484290747) by [Daniel Gomez Blanco](https://www.linkedin.com/in/danielgblanco86/) - [Learning OpenTelemetry](https://www.oreilly.com/library/view/learning-opentelemetry/9781098147174/) by [Ted Young](https://www.linkedin.com/in/ted-young/) and [Austin Parker](https://www.linkedin.com/in/austinlparker/) **Community:** - [OpenTelemetry Slack](https://cloud-native.slack.com/) (#opentelemetry channel) - [CNCF OpenTelemetry SIG meetings](https://github.com/open-telemetry/community) I'll add more as I discover them. --- # Connect with Me - [**LinkedIn**](https://www.linkedin.com/in/juliafmorgado/) - [**X/Twitter**](https://x.com/juliafmorgado) - [**YouTube**](https://www.youtube.com/juliafmorgado) - [**Instagram**](https://www.instagram.com/juliafmorgado/) - [**Twitch**](https://www.twitch.tv/juliafmorgado) - [**Blog**](https://www.juliafmorgado.com/) **Learning OpenTelemetry too?** Feel free to reach out! I'd love to connect with fellow learners and exchange insights. --- ## Acknowledgments Inspired by: - The OpenTelemetry community - [OpenTelemetry Official Docs](https://opentelemetry.io/docs/) - [90DaysofDevOps](https://github.com/MichaelCade/90DaysOfDevOps) by my friend [Michael Cade](https://www.linkedin.com/in/michaelcade1) - Everyone sharing their OpenTelemetry journey online --- **⭐ Star this repo if you find it helpful!** Let's make observability accessible to everyone. Happy learning! --- # License This project is open source under the MIT License.