پرووید
منو

آموزش لاگینگ و مانیتورینگ در ASP.NET Core

زبان: فارسی (دوبله شده)مترجم: پروویددوبلر: پروویدسطح: پیشرفتهمدت زمان: 03:42:31تعداد ویدئوها: 75فایل های پروژه: ناموجود
قیمت:۳٬۹۹۹٬۰۰۰ تومان
این آموزش بخشی از پکیج کامل آموزش پیشرفته ASP.NET Core است که می توانید از تمامی آموزش های آن دیدن کنید.

آموزش لاگینگ و مانیتورینگ در ASP.NET Core یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، آموزش لاگینگ (Logging) و مانیتورینگ (Monitoring) در وب اپلیکیشن های ASP.NET Core است که با نام اصلی Logging and Monitoring in ASP.NET Core 6 از شرکت Pluralsight منتشر شده است.

تفاوت مکانیزم Logging و Monitoring در چیست؟

به بیان ساده مکانیزم logging به معنی ثبت کردن تغییرات و یا خطاهای به وجود آمده در برنامه به منظور تجزیه و تحلیل و اشکال زدایی از آن است. یکی از اهداف مکانیزم logging ایجاد کردن سوابق رخدادهای مربوط به یک اپلیکیشن می باشد. فایل های log می توانند برای بازبینی کردن رویدادهای رخ داده در یک سیستم از جمله شکست ها و یا transformation ها مورد استفاده قرار بگیرند. پس از ثبت کردن log ها می توانیم از آنها به منظور بهره برداری کردن از اطلاعات موجود در آنها استفاده کنیم. اطلاعات درون log های ثبت شده می تواند در پیدا کردن ریشه مشکلات برنامه مفید واقع شود. داده های موجود در فایل های log در log ها می توانند به اعضای تیم DevOps به منظور اشکال زدایی کردن در برنامه نیز کمک نمایند. علاوه بر این پیدا کردن تغییراتی که باعث ایجاد خطا شده است نیز از اطلاعات موجود در log ها به دست می آید. ثبت کردن و مدیریت کردن log ها رسالت های دیگری از قبیل ایجاد کردن سوابق کتبی از عملکرد برنامه، مشخص کردن تغییرات برنامه در یک بازه زمانی و ایجاد امنیت برای داده های حساس نیز می باشند. عملیات logging نقش بسیار ارزشمندی را در اپلیکیشن های مختلف ایفا می کند. یکی از موضوعات بسیار مهم در مورد عملیات logging دقت به ثبت شدن مناسب آن می باشد. به عبارت دیگر ذخیره کردن، تغییر دادن و یا ارزیابی کردن اطلاعات کم ارزش در log ها کار مناسبی نیست. علاوه بر این log کردن داده های بیش از حد می تواند منابع سیستم را از لحاظ زمان و سایر جهات دچار مشکل کند. یک استراتژی مناسب logging اغلب دو نوع از داده ها را در اختیار ما قرار می دهد. داده های ساختاریافته و یا structured data برای ماشین ها و داده هایی که به مدیران سیستم در رابطه با خطاهای برنامه هشدار می دهد. واژه monitoring نیز یک واژه چتری است که می تواند برای بازیابی کردن سیستم مورد استفاده قرار بگیرد.

Intentions of Application Logging - نمونه ای از بخش Using Log Levels and Applying Filters در آموزش لاگینگ و مانیتورینگ در ASP.NET Core
نمونه ای از بخش «Using Log Levels and Applying Filters» در آموزش لاگینگ و مانیتورینگ در ASP.NET Core

یکی از مزیت های استفاده از monitoring اصطلاحاً APM که مخفف application performance monitoring است. در فرایند APM اطلاعاتی در رابطه با برنامه جمع آوری و تجمیع و تجزیه و تحلیل می گردند تا بتوانیم با استفاده از آن قابلیت نگهداری و در دسترس بودن سیستم را افزایش بدهیم. دیگر قابلیت های سیستم از لحاظ زمان پاسخ و یا response time سطح استفاده از حافظه و یا memory usage، پهنای باند و یا bandwidth و زمان مصرف CPU نیز با استفاده از monitoring کنترل می شود. سیستم های monitoring به مدیران سیستم و یا اعضای تیم های IT کمک می کند تا در زمان رخ دادن خطاها اطلاع رسانی انجام بشود. به طور ایده آل مدیران سیستم باید مکانیزم monitoring را در تمامی بخش های مختلف سیستم پیاده سازی کنند.

چرا نیاز به Logging و Monitoring داریم؟

در شرایط ایده آل یک سیستم می بایست مکانیزم های logging و monitoring را پشتیبانی کند. هردوی اینها فرایندهایی هستند که در کنار یکدیگر ارزش بیشتری پیدا می کنند و می توانند اطلاعات بسیار مفیدی را در ارتباط با عملکرد و سلامتی سیستم در اختیار ما قرار بدهند. همانطور که گفته شد APM که مخفف application performance monitoring می باشد از متریک مختلف برای سنجش سطح availability و همچنین performance برنامه استفاده می کنند. فرایند logging یک سابقه از رویدادهای مختلف را در برنامه و device ها و وب سرورها ایجاد می کند و به عنوان یک گزارش به جزئیات کامل مورد استفاده قرار می گیرد.

Demo- Using Specific Providers - نمونه ای از بخش Log Destinations در آموزش لاگینگ و مانیتورینگ در ASP.NET Core
نمونه ای از بخش «Log Destinations» در آموزش لاگینگ و مانیتورینگ در ASP.NET Core

استفاده کردن از ترکیبی از سیستم های مدیریت log به منظور جمع آوری کردن، سازماندهی کردن و بازبینی کردن داده ها و در کنار آنها فرایند monitoring به منظور ردگیری کردن متریک های مربوط به سیستم یک دید کلی و جامع را در رابطه با در دسترس بودن سیستم به مدیران IT می دهد. فرایند APM کمک می کند تا نحوه عملکرد سیستم را از جنبه های مختلف زیر نظر داشته باشید. داده های موجود در log نیز می توانند عملکرد سیستم را از نظر اپلیکیشن ها، زیرساخت شبکه و وب سرورها فراهم کنند. یک فرایند logging و استراتژی مناسب برای آن کمک می کند تا performance برنامه افزایش پیدا کند.

تنظیم سطح Log، فیلترها و ثبت درخواست‌ها در ASP.NET Core

آموزش Logging and Monitoring in ASP.NET Core 6 از سازوکار پیش‌فرض Logging در ASP.NET Core شروع می‌شود و سپس به Categoryها، سطوح Log و فیلتر کردن پیام‌ها می‌پردازد. این مباحث به شما کمک می‌کنند مشخص کنید کدام رویدادها باید ثبت شوند و کدام پیام‌ها در شرایط مشخص قابل صرف‌نظر کردن هستند. برای مثال، در یک API ممکن است بخواهید پیام‌های مربوط به خطاها را با جزئیات بیشتری بررسی کنید، بدون اینکه حجم زیادی از اطلاعات کم‌اهمیت در خروجی Log ذخیره شود. شناخت این تنظیمات، پایه‌ای برای طراحی راهبرد ثبت رویداد در برنامه است.

در بخش‌های عملی، به بهبود Error Handling با استفاده از ProblemDetails و ثبت درخواست‌ها و Exceptionها توجه می‌شود. ProblemDetails روشی استاندارد برای ارائه جزئیات خطا در پاسخ‌های HTTP است و می‌تواند شکل پاسخ‌های خطای API را منظم‌تر کند. همچنین با آرگومان‌های متدهای Log، Scopeها و Semantic Logging آشنا می‌شوید تا اطلاعات ثبت‌شده ساختارمندتر و قابل تحلیل‌تر باشند. این مهارت‌ها هنگام عیب‌یابی درخواست‌هایی که از چند بخش برنامه عبور می‌کنند، ارزش ویژه‌ای دارند؛ زیرا به جای اتکا به پیام‌های پراکنده، می‌توانید رویدادها را با زمینه و جزئیات مرتبط بررسی کنید.

انتخاب مقصد Log و ایجاد Traceability برای عیب‌یابی سرویس‌ها

ثبت اطلاعات تنها بخشی از راهبرد Logging است؛ انتخاب مقصد مناسب برای نگهداری و بررسی آن‌ها نیز اهمیت دارد. این آموزش Logging Providerها و معیارهای انتخاب Destination را پوشش می‌دهد تا بتوانید روش ذخیره و دریافت پیام‌ها را متناسب با نیاز برنامه ارزیابی کنید. علاوه بر این، فعال‌سازی Monitoring و بررسی Health Checkها به شما کمک می‌کند وضعیت سرویس را از منظر عملیاتی دنبال کنید. کنترل Log Entryهای مرتبط با Health Check نیز مطرح می‌شود تا بتوانید اطلاعات این بررسی‌های دوره‌ای را مدیریت کنید و از شلوغ شدن خروجی‌ها جلوگیری کنید.

Traceability یکی دیگر از محورهای آموزش است و به دنبال کردن رویدادها و درخواست‌ها در فرایند عیب‌یابی کمک می‌کند. زمانی که یک درخواست از چند مؤلفه عبور می‌کند، مشاهده یک پیام منفرد ممکن است برای یافتن منشأ مشکل کافی نباشد؛ لازم است ارتباط میان رویدادهای مرتبط نیز قابل پیگیری باشد. آموزش با پرداختن به وظیفه Traceability، این نیاز را در کنار Logging و Monitoring قرار می‌دهد. این ترکیب برای توسعه‌دهندگانی مفید است که مسئول نگهداری APIهای ASP.NET Core هستند و باید خطاها، وضعیت سرویس و مسیر رخدادهای مرتبط را به شکل منظم بررسی کنند.

سرفصل مطالب آموزش ویدئویی لاگینگ و مانیتورینگ در ASP.NET Core

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: شروع به کار کردن با Logging

  • مقدمه و خروجی مطلوب این دوره آموزشی
  • بررسی سرفصل
  • بررسی ورژن ابزارهای مورد استفاده
  • بررسی سناریوی مربوط به این دوره
  • آموزش عملی: انجام Logging به صورت پیش فرض در ASP.NET Core 6
  • بررسی انجام عملیات Logging به طور پیش فرض
  • آموزش عملی: نوشتن Log Entry ها
  • جمع بندی

فصل سوم: استفاده از سطوح Log و اعمال کردن فیلترها

  • مقدمه
  • دلایل استفاده از Application Logging
  • بررسی سطوح Log
  • آموزش عملی: استفاده کردن از سطوح Log ها
  • بررسی Category ها
  • آموزش عملی: ایجاد کردن Category های سفارشی
  • بررسی فیلترها
  • آموزش عملی: استفاده کردن از فیلترها
  • آموزش عملی: فیلتر کردن براساس Provider
  • آموزش عملی: اعمال کردن فیلترها در در کد
  • جمع بندی

فصل چهارم: انجام Exception Handling و Request Logging

  • مقدمه
  • بروزرسانی های برنامه و بررسی چالش این فصل
  • بررسی Exception Handling
  • آموزش عملی: استفاده از Error Page در واسط کاربری برنامه
  • بررسی Error Handling در API
  •  آموزش عملی: Improve دادن Error Handling در API با استفاده از ProblemDetails
  • آموزش عملی: Log کردن Critical Exception ها با استفاده از Middleware
  • آموزش عملی: خواندن خطاهای API در واسط کاربری برنامه
  • بررسی Request Logging
  • آموزش عملی: استفاده کردن از HTTP و W3C در Logging
  • جمع بندی

فصل پنجم: استفاده کردن و استفاده نکردن از اطلاعات موجود در Log ها

  • مقدمه
  • بررسی آرگومان های متد Log
  • آموزش عملی: اضافه کردن اطلاعات کاربر به Log Entry ها در پروژه UI
  • آموزش عملی: اضافه کردن EventId و اطلاعات کاربر به Log Entry ها در پروژه API
  • بررسی Semantic Logging
  • بررسی Scope ها در Log ها
  • آموزش عملی: کار کردن با Scope ها و Semantic Logging
  • آموزش عملی: اضافه کردن یک Scope در Middleware برای اطلاعات کاربر
  • مخفی کردن اطلاعات حساس
  • آموزش عملی: کار کردن با اطلاعات حساس
  • آموزش عملی: استفاده کردن از LoggerMessage و Source Generator ها
  • جمع بندی

فصل ششم: کار کردن با Destination ها در Log ها

  • مقدمه
  • بررسی Logging Provider ها
  • آموزش عملی: استفاده کردن از Provider های خاص
  • بررسی Semantic Logging و گزینه های Destination
  • آموزش عملی: استفاده از Application Insights به عنوان یک Destination
  • آموزش عملی: استفاده از فریم ورک NLog و Splunk
  • بررسی عوامل انتخاب کردن یک Destination
  • جمع بندی

فصل هفتم: فعالسازی Monitoring

  • مقدمه
  • تعریف کردن Monitoring و APM
  • آموزش عملی: کار کردن با Query-based Alert ها و Seq
  • آموزش عملی: کار کردن با Query-based Alert ها در Application Insights
  • مثال هایی از Query-based Monitoring
  • بررسی Health Check ها
  • آموزش عملی: ایجاد کردن یک Health Check ساده برای پروژه UI
  • آموزش عملی: اضافه کردن Health Check مربوط به DbContext به پروژه API
  • آموزش عملی: اضافه کردن یک Health Check سفارشی و چک کردن Authentication Service
  • آموزش عملی: مانیتور کردن Endpoint های Health Check ها
  • آموزش عملی: کنترل کردن Log Entry های مربوط به Health Check ها
  • بررسی Check های Liveness و Readiness و Health Check های بیشتر
  • جمع بندی

فصل هشتم: فعالسازی Traceability

  • مقدمه
  • بررسی Traceability
  • بررسی Field های Activity Tracking و فرمت آنها
  • آموزش عملی: کار کردن با Field های Activity Tracking
  • وظیفه Traceability
  • آموزش عملی: Traceability در Application Insights
  • مقدمه ای بر OpenTelemetry
  • آموزش عملی: اضافه کردن OpenTelemetry به پروژه ها و مشاهده کردن آنها در Jaeger
  • نکات اساسی در کار کردن با Traceability
  • جمع بندی
دیدگاه کاربران

دیدگاه ها

برای ثبت دیدگاه ابتدا وارد حساب کاربری شوید.
هنوز دیدگاهی برای این محصول تایید نشده است.