عنوان:

‫جمع‌آوری لاگ‌های برنامه .NET با استفاده از OpenTelemetry


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۲/۰۷ ۰۰:۴۶
آدرس: www.dntips.ir
در این مقاله به بررسی نحوه جمع‌آوری لاگ‌های برنامه‌های کاربردی .NET 8 با استفاده از OpenTelemetry و SigNoz، یک پلتفرم مشاهده‌پذیری متن‌باز، می‌پردازیم. OpenTelemetry یک استاندارد بی‌طرف از نظر فروشنده برای جمع‌آوری داده‌های تله‌متری (لاگ‌ها، متریک‌ها و ردپاها) از برنامه‌های کاربردی بومی ابری است. .NET 8 از پشتیبانی بومی از OpenTelemetry از طریق فضای نام System.Diagnostics و بسته‌های NuGet OpenTelemetry بهره می‌برد. این امر امکان Instrumentation خودکار ASP.NET Core و HTTP Clientها، Instrumentation دستی با فعالیت‌ها و برچسب‌ها و همچنین Exporterها برای ارسال داده‌ها به سیستم‌های پشتیبان مانند SigNoz را فراهم می‌کند. همچنین، .NET 8 از همبستگی بومی لاگ با OpenTelemetry پشتیبانی می‌کند که پیوند خودکار لاگ‌ها با ردپاها را آسان‌تر می‌کند. SigNoz یک ابزار مشاهده‌پذیری متن‌باز است که به شما کمک می‌کند لاگ‌ها، متریک‌ها و ردپاها را در یک مکان واحد نظارت کنید. این ابزار با استفاده از OpenTelemetry ساخته شده و امکانات مختلفی از جمله مشاهده‌پذیری یکپارچه، همبستگی لاگ و ردپا، تجسم تأخیر و خطاها، شناسایی تنگناهای عملکرد و تحلیل علت ریشه‌ای با ردگیری توزیع‌شده را ارائه می‌دهد. برای مثال، اگر یک کاربر با خطای Internal Server Error مواجه شود، می‌توانید لاگ و ردپا را با هم مشاهده کنید تا مشکل را اشکال‌زدایی کنید. دو گزینه برای ارسال تله‌متری از یک برنامه .NET 8 به SigNoz وجود دارد: OTLP Exporter و OpenTelemetry Collector. OTLP Exporter داده‌ها را مستقیماً از برنامه شما به SigNoz از طریق HTTPS یا gRPC ارسال می‌کند و برای راه‌اندازی‌های سریع و توسعه مناسب است. در مقابل، OpenTelemetry Collector به عنوان یک دروازه عمل می‌کند و انعطاف‌پذیری بیشتری را برای پردازش، فیلتر کردن و تبدیل تله‌متری فراهم می‌کند. SigNoz Cloud راه آسان برای اجرای SigNoz است. می‌توانید برای یک حساب رایگان ثبت‌نام کنید و به 30 روز دسترسی نامحدود به تمام ویژگی‌ها دسترسی پیدا کنید. همچنین می‌توانید SigNoz را به صورت خود-میزبانی نصب کنید، زیرا یک پروژه متن‌باز با بیش از 24000 ستاره در GitHub است.


مشاهده مطلب اصلی