Observability
مقدمه
در دنیای توسعه نرمافزار مدرن، مخصوصاً در سیستمهای توزیعشده، نیاز به درک رفتار سیستم در زمان اجرا اهمیت بالایی دارد. مفهومی که این نیاز را پاسخ میدهد، Observability است.
در این مستند، پیادهسازی Observability روی پروژه ASP.NET Core با استفاده از OpenTelemetry توضیح داده شده است؛ شامل جمعآوری دادههای Logs، Metrics و Traces و مشاهده و تحلیل آنها در ابزارهای Jaeger، Prometheus و Grafana.
Observability چیست؟
Observability به توانایی سیستم برای ارائه اطلاعات درونی خود از طریق خروجیهایی مانند log، metric و trace گفته میشود. سه ستون اصلی Observability:
- Logs: پیامهایی متنی برای ثبت رویدادها
- Metrics: اندازهگیریهای عددی برای تحلیل وضعیت سیستم
- Traces: بررسی مسیر اجرای درخواستها در بخشهای مختلف سیستم
معرفی OpenTelemetry
OpenTelemetry یک استاندارد و مجموعه ابزاری متنباز برای جمعآوری دادههای observability (logs, metrics, traces) از اپلیکیشنهاست.
اجزای اصلی:
- Instrumentation SDK: برای ثبت دادهها از داخل اپلیکیشن
- Collector: برای جمعآوری و انتقال دادهها به ابزارهای دیگر
- Exporter: برای ارسال داده به مقاصدی مثل Jaeger یا Prometheus