آموزش قابلیت مشاهده (Observability) با OpenTelemetry برای توسعه‌دهندگان جاوا اسپرینگ بوت - آخرین آپدیت

دانلود OpenTelemetry Observability For Java Spring Boot Developers

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: Otel: ردیابی توزیع شده (Distributed Tracing)، متریک‌های Prometheus و ابزاربندی (Instrumentation) برای اپلیکیشن‌های جاوا و Spring Boot در سطح محیط عملیاتی (Production). درک مفاهیم اصلی قابلیت مشاهده مدرن و دلیل برتری آن نسبت به مانیتورینگ سنتی یادگیری سه ستون اصلی قابلیت مشاهده: ردیابی‌های توزیع شده، متریک‌ها و لاگ‌ها استفاده از OpenTelemetry Java Agent برای ابزاربندی بدون کدنویسی (Zero-code) جهت دسترسی سریع به وضعیت سیستم بررسی انتشار کانتکست (Context Propagation) و Baggage برای ردیابی درخواست‌ها در سیستم‌های توزیع شده پیکربندی و استقرار خط لوله OpenTelemetry Collector برای پردازش، فیلتر و خروجی داده‌های تله‌متری از طریق OTLP تزریق دستی Spanها و ویژگی‌های سفارشی در کد جاوا برای ثبت کانتکست‌های حیاتی کسب‌وکار راه‌اندازی یک استک کامل قابلیت مشاهده با استفاده از Grafana، Prometheus، Tempo و Loki به کمک Docker Compose مرتبط کردن لاگ‌های ساختاریافته Java Spring با ردیابی‌های OpenTelemetry برای تشخیص سریع‌تر مشکلات پیاده‌سازی استراتژی‌های پیشرفته نمونه‌برداری Head و Tail برای کاهش هزینه‌ها بدون از دست دادن ردیابی‌های خطاهای بحرانی تحلیل سیگنال‌های تله‌متری برای یافتن ریشه‌ی مشکلات، بهبود عملکرد و کاهش زمان میانگین رفع خطا (MTTR) ساخت ماژول‌های قابلیت مشاهده قابل استفاده مجدد برای دیباگ در لحظه و دید عملیاتی در سطح Production پیشنیازها: Java Spring Boot Docker / Docker Compose

این دوره جامع برای توسعه‌دهندگان باسابقه جاوا اسپرینگ بوتطراحی شده است که آماده‌اند تا به نقش‌های Staff یا Principal Engineerارتقا یابند.

شما در این دوره بر OpenTelemetry (OTel)، استاندارد جهانی ابزاربندی در محیط‌های Cloud-native مسلط می‌شوید و تخصص معماری لازم برای پیاده‌سازی قابلیت مشاهده در سطح جهانی در سیستم‌های توزیع شده پیچیده را کسب خواهید کرد.

از مانیتورینگ ساده فراتر بروید. یاد بگیرید چگونه سه ستون اصلی قابلیت مشاهده مدرن: ردیابی‌های توزیع شده، متریک‌ها و لاگ‌هارا جمع‌آوری، مرتبط و تحلیل کنید تا مشکلات محیط عملیاتی را سریع‌تر دیباگ کرده، از خرابی‌های سیستم پیشگیری کنید و اپلیکیشن‌هایی با قابلیت اطمینان و مقیاس‌پذیری بالا بسازید.

آنچه خواهید آموخت:

  1. مبانی قابلیت مشاهده:فراتر رفتن از مانیتورینگ سنتی با درک سه ستون اصلی: ردیابی توزیع شده، متریک‌ها و لاگ‌هاو نقش آن‌ها در تشخیص مشکلات ناشناخته سیستم.

  2. ابزاربندی بدون کد (Zero-Code):دستیابی فوری به دید کامل از سیستم با استقرار OpenTelemetry Java Agentبرای ابزاربندی خودکار میکروسرویس‌های اسپرینگ بوت.

  3. کانتکست ردیابی End-to-End:تسلط بر W3C Trace Context Propagationو Baggageبرای پیوند دقیق درخواست‌ها و کانتکست کسب‌وکار در تمامی سرویس‌های معماری توزیع شده.

  4. اسپن‌های سفارشی کسب‌وکار:تزریق دستی Spanها و ویژگی‌های سفارشیدر کد جاوا برای ثبت نقاط داده‌ای غنی و تخصصی که برای تحلیل ریشه مشکلات (Root Cause Analysis) حیاتی هستند.

  5. خط لوله OTel Collector:پیکربندی و استقرار OpenTelemetry Collectorبرای دریافت، پردازش، فیلتر و ارسال داده‌های تله‌متری با استفاده از پروتکل پرسرعت OTLP.

  6. استک کامل قابلیت مشاهده:استقرار یک بک‌اِند متن‌باز کامل شامل Grafana, Prometheus, Tempo, and Lokiبا Docker Compose برای ذخیره، کوئری و بصری‌سازی داده‌های OTel.

  7. همبستگی لاگ و ردیابی:یکپارچه‌سازی لاگ‌های ساختاریافته جاوا/اسپرینگ با OpenTelemetry برای اتصال فوری پیام‌های لاگ به تاریخچه کامل تراکنش مربوطه.

  8. نمونه‌برداری بهینه هزینه:پیاده‌سازی استراتژی‌های هوشمند Head- and Tail-Based Samplingبرای کنترل حجم داده‌ها و هزینه‌های ذخیره‌سازی بدون از دست دادن ردیابی‌های خطاهای کلیدی.

  9. تحلیل و کاهش MTTR:استفاده از سیگنال‌های تله‌متری تجمیع شده برای یافتن سریع ریشه مشکلات، شناسایی گلوگاه‌های عملکرد و کاهش شدید زمان میانگین رفع خطا (MTTR).

  10. دیباگ در لحظه:ساخت کامپوننت‌های قابلیت مشاهده در سطح Production برای فعال‌سازی دیباگ در لحظه و ورود قابلیت مشاهده به مراحل اولیه چرخه توسعه.

در پایان این دوره، شما قادر خواهید بود اپلیکیشن‌های اسپرینگ بوت خود را با OpenTelemetry ابزاربندی کنید، دید عمیقی نسبت به سیستم‌های توزیع شده پیدا کنید، مشکلات را با دقت دیباگ کنید و مسیر شغلی خود را به عنوان یک مهندس پیشرفته تقویت نمایید.


سرفصل ها و درس ها

نیاز به قابلیت مشاهده اپلیکیشن The Need for Application Observability

  • قبل از ثبت‌نام... Before You Enroll...

مبانی قابلیت مشاهده و OpenTelemetry Observability & OpenTelemetry Basics

  • قابلیت مشاهده در مقابل مانیتورینگ Observability vs Monitoring

  • ستون‌های قابلیت مشاهده Pillars Of Observability

  • OpenTelemetry چیست؟ What Is OpenTelemetry?

  • درخواست ویژه و منابع *** Humble Request & Resource ***

  • چرا Micrometer نه؟ Why NOT Micrometer?

  • ابزاربندی (Instrumentation) Instrumentation

  • بررسی اپلیکیشن TraceFlix - بخش اول TraceFlix - Application Walkthrough - Part 1

  • بررسی اپلیکیشن TraceFlix - بخش دوم TraceFlix - Application Walkthrough - Part 2

  • بررسی Docker Compose در TraceFlix TraceFlix - Docker Compose Walkthrough

  • دموی TraceFlix TraceFlix - Demo

  • جمع‌بندی Summary

  • آزمون Quiz

ردیابی توزیع شده (Distributed Tracing) Distributed Tracing

  • ردیابی توزیع شده Distributed Tracing

  • ابزاربندی خودکار با استفاده از Agent Automatic Instrumentation Using Agent

  • معماری OpenTelemetry [مهم] [Important] - OpenTelemetry Architecture

  • بحث راه‌اندازی زیرساخت قابلیت مشاهده - بخش اول Observability Infrastructure Setup Discussion - Part 1

  • بحث راه‌اندازی زیرساخت قابلیت مشاهده - بخش دوم Observability Infrastructure Setup Discussion - Part 2

  • اجرای زیرساخت قابلیت مشاهده Running Observability Infrastructure

  • دموی ردیابی توزیع شده Distributed Tracing Demo

  • رابطه والد-فرزندی در Spanها Spans Parent Child Relationship

  • ردیابی (Tracing) چیست؟ [توضیحات تکمیلی] [Clarification] - What Is Tracing?

  • تفاوت ویژگی‌های Span و Resource Span vs Resource Attributes

  • سناریوهای شکست در بخش Upstream Distributed Tracing - Upstream Failure Scenarios

  • ساختار پروژه و دستورات داکر Project Structure & Docker Commands

  • دموی هدر TraceParent TraceParent Header Demo

  • جستجوی Spanها در گرافانا Grafana Spans Search

  • تگ‌های گرافانا کار نمی‌کنند؟ [توضیحات تکمیلی] [Clarification] - Grafana Tags NOT Working?

  • محدودیت درخواست‌های همزمان در ابزاربندی خودکار Automatic Instrumentation - Concurrent Requests Limitation

  • بازگشت به تغییرات Stream Gatherers Reverting Stream Gatherers Changes

  • جمع‌بندی Summary

  • آزمون Quiz

استراتژی‌های نمونه‌برداری (Sampling) Sampling Strategies

  • انواع نمونه‌برداری (Sampling) Types Of Sampling

  • منابع *** Resource ***

  • استراتژی Always On Always On Strategy

  • استراتژی Always Off Always Off Strategy

  • استراتژی نسبت Trace Id Trace Id Ratio - Strategy

  • استراتژی‌های مبتنی بر والد (Parent Based) Parent Based Strategies

  • استراتژی Parent-Based Always On Parent Based - Always On Strategy

  • تکرارهای اجرای Postman Postman Run Iterations

  • استراتژی Parent-Based Always Off Parent Based - Always Off Strategy

  • استراتژی Parent-Based Trace Id Ratio Parent Based - Trace Id Ratio Strategy

  • نمونه‌برداری Tail Sampling Tail Sampling

  • نمونه‌برداری Tail بر اساس کد وضعیت (Status Code) Tail Sampling - Based On Status Code

  • نمونه‌برداری Tail بر اساس تأخیر (Latency) Tail Sampling - Based On Latency

  • نمونه‌برداری Tail بر اساس کد وضعیت و تأخیر Tail Sampling - Based On Status Code & Latency

  • نمونه‌برداری Tail بر اساس ویژگی‌ها (Attributes) Tail Sampling - Based On Attributes

  • آیا مسیر URL نمونه‌برداری Tail است؟ [توضیحات تکمیلی] [Clarification] - URL Path - Is It Tail Sampling?

  • جمع‌بندی Summary

  • آزمون Quiz

متریک‌ها (Metrics) Metrics

  • چرا به متریک‌ها نیاز داریم...! Why We Need Metrics...!

  • انواع متریک‌ها Types Of Metrics

  • متریک‌های بدون کد (Zero Code) Zero Code Metrics

  • نیاز به PromQL Need For PromQL

  • معماری Prometheus Prometheus Architecture

  • دقت داده‌های Prometheus [توضیحات تکمیلی] [Clarification] - Prometheus Data Accuracy

  • منابع *** Resource ***

  • راه‌اندازی پروژه Project Setup

  • دموی متریک‌ها - بخش اول Metrics Demo - Part 1

  • دموی متریک‌ها - بخش دوم Metrics Demo - Part 2

  • کوئری‌های پایه PromQL PromQL Basic Queries

  • تجمیع‌ها (Aggregations) در PromQL PromQL Aggregations

  • نیاز به توابع Range Need For Range Functions

  • توابع Range چگونه کار می‌کنند؟ [مهم] [Important] - How Range Functions Work

  • دموی توابع Range Range Functions Demo

  • میانگین زمان پاسخ‌دهی Average Response Time

  • بازنشانی شمارنده (Counter Reset) [توضیحات تکمیلی] [Clarification] - Counter Reset

  • در مورد سایر متریک‌ها چطور؟ What About Other Metrics?

  • دموی Prometheus در گرافانا Grafana Prometheus Demo

  • جمع‌بندی Summary

  • آزمون Quiz

لاگ‌ها (Logs) Logs

  • چالش‌های لاگ‌گذاری Logging Challenges

  • نیاز به لاگ‌گذاری و مدیریت خطا در TraceFlix TraceFlix - Need For Logging & Error Handling

  • پیاده‌سازی مدیریت خطا و لاگ در TraceFlix - بخش اول TraceFlix - Logging & Error Handling - Implementation - Part 1

  • جزئیات مشکل [اختیاری] [Optional] - Problem Detail

  • پیاده‌سازی مدیریت خطا و لاگ در TraceFlix - بخش دوم TraceFlix - Logging & Error Handling - Implementation - Part 2

  • دموی مدیریت خطا و لاگ‌گذاری Logging & Error Handling - Demo

  • نیاز به OpenTelemetry LogBack Appender Need For OpenTelemetry LogBack Appender

  • منابع *** Resource ***

  • ساخت ایمیج‌های داکر با Appender Building Docker Images With Appender

  • بحث پیرامون زیرساخت قابلیت مشاهده Observability Infrastructure - Discussion

  • بررسی لاگ‌ها در گرافانا Exploring Logs In Grafana

  • بررسی لاگ‌ها با داشبورد مشترک Exploring Logs With Shared Dashboard

  • خروجی گرفتن از داشبورد Exporting Your Dashboard

  • نمای تبدیل لاگ به ردیابی (Logs to Trace) Logs To Trace View

  • جمع‌بندی Summary

ابزاربندی دستی در OpenTelemetry OpenTelemetry - Manual Instrumentation

  • API در OpenTelemetry OpenTelemetry API

  • منابع *** Resource ***

  • راه‌اندازی پروژه Project Setup

  • پیکربندی OpenTelemetry: Tracer Provider - بخش اول OpenTelemetry Configuration - Tracer Provider - Part 1

  • پیکربندی OpenTelemetry: Tracer Provider - بخش دوم OpenTelemetry Configuration - Tracer Provider - Part 2

  • شبیه‌سازی پردازش سفارش Simulating Order Processing

  • نام محدوده ابزاربندی در Tracer Provider Tracer Provider - Instrumentation Scope Name

  • چرا منطق کسب‌وکار را با تله‌متری ترکیب می‌کنیم؟ [توضیحات تکمیلی] [Clarification] - Why We Mix Business Logic With Telemetry

  • ایجاد Span به صورت دستی Creating Span Manually

  • دموی Span Span Demo

  • تنظیم وضعیت Span و ثبت Exception Setting Span Status & Recording Exception

  • تنظیم ویژگی‌های Span (Attributes) Setting Span Attributes

  • چندین Span بدون رابطه والد-فرزندی Multiple Spans Without Parent Child Relationship

  • کانتکست OpenTelemetry [مهم] [Important] - OpenTelemetry Context

  • رابطه والد-فرزندی Spanها Spans Parent Child Relationship

  • رابطه والد-فرزندی در Spanهای تو در تو Nested Spans Parent Child Relationship

  • رابطه والد-فرزندی صریح (Explicit) Explicit Spans Parent Child Relationship

  • رابطه والد-فرزندی صریح در چندین Thread Multiple Threads - Explicit Spans Parent Child Relationship

  • الگوی Execute Around Method برای ساده‌سازی ردیابی Execute Around Method Pattern - Make Tracing Simple

  • دموی بازسازی (Refactor) ردیابی Trace Refactor - Demo

  • افزودن Eventها به Spanها Spans Adding Events

  • نیاز به انتشار کانتکست (Context Propagation) Need For Context Propagation

  • دموی انتشار کانتکست Context Propagation - Demo

  • سایر گزینه‌های انتشار کانتکست Context Propagation - Other Options

  • نوع Span (Span Kind) Span Kind

  • Meter Provider Meter Provider

  • منابع *** Resource ***

  • کنوانسیون نام‌گذاری متریک‌ها Metrics Naming Convention

  • واحد متریک (Metric Unit) Metric Unit

  • پیاده‌سازی شمارنده بازدید محصول Product View Counter - Implementation

  • دموی شمارنده بازدید محصول Product View Counter - Demo

  • چرا نام متریک اشتباه نمایش داده می‌شود؟ [توضیحات تکمیلی] [Clarification] - Why We See Wrong Metric Name

  • پیاده‌سازی شمارنده با ویژگی‌ها (Attributes) Counter With Attributes - Implementation

  • دموی شمارنده با ویژگی‌ها Counter With Attributes - Demo

  • پیاده‌سازی Gauge Gauge - Implementation

  • دموی Gauge Gauge - Demo

  • UpDown Counter UpDown Counter

  • پیاده‌سازی UpDownCounter برای Task Executor UpDownCounter - Task Executor - Implementation

  • دموی UpDownCounter برای Task Executor UpDownCounter - Task Executor - Demo

  • هیستوگرام (Histogram) Histogram

  • پیاده‌سازی هیستوگرام برای Task Executor Histogram - Task Executor - Implementation

  • دموی هیستوگرام برای Task Executor Histogram - Task Executor - Demo

  • لاگ‌ها و MDC Logs - MDC

  • منابع *** Resource ***

  • Logger Provider Appender Logger Provider Appender

  • خروجی ساده لاگ به Loki Simple Log Export To Loki

  • دموی MDC MDC Demo

  • انتشار کانتکست در MDC MDC - Context Propagation

  • TurboFilter TurboFilter

  • دموی TurboFilter TurboFilter - Demo

  • عملکرد TurboFilter [توضیحات تکمیلی] [Clarification] - TurboFilter Performance

  • جمع‌بندی Summary

  • چالش OpenTelemetry OpenTelemetry Challenge

شبیه‌سازی: دیباگ افزایش تأخیر با استفاده از OpenTelemetry Role Play: Debugging a Latency Spike using OpenTelemetry

  • دیباگ افزایش تأخیر با استفاده از OpenTelemetry Debugging a Latency Spike using OpenTelemetry

OpenTelemetry Spring Boot Starter OpenTelemetry Spring Boot Starter

  • OpenTelemetry Spring Boot Starter OpenTelemetry Spring Boot Starter

  • راه‌اندازی پروژه Project Setup

  • غیرفعال کردن SDK برای توسعه محلی Disabling SDK For Local Development

  • بحث زیرساخت قابلیت مشاهده Observability Infrastructure - Discussion

  • فعال کردن SDK برای توسعه محلی Enabling SDK For Local Development

  • ابزاربندی بدون کد (Zero Code) Zero Code Instrumentation

  • داشبورد متریک‌ها برای درخواست‌های تکراری Recurring Requests - Metrics Dashboard

  • رفع مشکل درخواست‌های همزمان Fixing Concurrent Requests

  • اسپن‌های سفارشی (Custom Spans) Custom Spans

  • متریک‌های سفارشی (Custom Metrics) Custom Metrics

  • دموی متریک‌های سفارشی Custom Metrics - Demo

  • سفارشی‌سازی Auto Configuration Customizing Auto Configuration

  • جمع‌بندی Summary

قابلیت مشاهده در لحظه (On Demand) On Demand Observability

  • قابلیت مشاهده در لحظه (On Demand) On Demand Observability

  • تعریف اهداف Defining Goals

  • بحث طراحی سطح بالا (High Level Design) High Level Design - Discussion

  • Baggage [مهم] [Important] - Baggage

  • نکته امنیتی در مورد Baggage Baggage Security Note

  • منابع *** Resource ***

  • راه‌اندازی پروژه Project Setup

  • پیاده‌سازی Text Map Propagator Text Map Propagator - Implementation

  • نکته تکمیلی در مورد Text Map Propagator Text Map Propagator - Additional Note

  • پیاده‌سازی Sampler Sampler - Implementation

  • WebFilter WebFilter

  • TurboFilter TurboFilter

  • TurboFilter Registrar TurboFilter Registrar

  • Exposing Spring Beans Exposing Spring Beans

  • فعال‌سازی قابلیت مشاهده On Demand Enable On Demand Observability

  • افزودن ماژول قابل استفاده مجدد Adding Reusable Module

  • آماده‌سازی برای دمو Getting Ready For The Demo

  • دموی نهایی قابلیت مشاهده On Demand On Demand Observability - Final Demo

گام‌های بعدی چیست؟ Whats Next?

  • گام‌های بعدی چیست؟ What's Next?

نمایش نظرات

آموزش قابلیت مشاهده (Observability) با OpenTelemetry برای توسعه‌دهندگان جاوا اسپرینگ بوت
جزییات دوره
11.5 hours
166
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,153
4.7 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Vinoth Selvaraj Vinoth Selvaraj

مهندس اصلی