مانیتورینگ بدنه پاسخ با Jaeger: OpenTelemetry و ادغام دات نت

در این مستندات، نحوه تجسم بدنه پاسخ در Jaeger با استفاده از OpenTelemetry در برنامه دات نت را به تفصیل توضیح خواهم داد. هدف ما این است که با استفاده از دو ابزار نظارتی قدرتمند، تراکنشهای موجود در برنامه شما را با جزئیات بررسی و تحلیل کنیم.
1) بسته های مورد نیاز را نصب کنید
ابتدا بسته های OpenTelemetry و Newtonsoft.Json را به پروژه خود اضافه کنید:
dotnet add package OpenTelemetry
dotnet add package Newtonsoft.Json
2) کتابخانه ها را به کلاس های Controller خود اضافه کنید
کتابخانه های زیر را به کلاس های کنترلر خود که می خواهید نظارت کنید اضافه کنید. این برای عملیات OpenTelemetry و JSON مورد نیاز است.
using OpenTelemetry;
using OpenTelemetry.Trace;
using Newtonsoft.Json;
3) دهانه ها را به روش هایی که می خواهید نظارت کنید اضافه کنید
با وارد کردن روش هایی که می خواهید نظارت کنید، span را تعریف کنید. Span نشان دهنده تراکنش در حال پیگیری است و جزئیات آن تراکنش را ثبت می کند.
var currentSpan = Tracer.CurrentSpan;
این خط بازه در حال اجرا را می گیرد و آن را برای نظارت آماده می کند.
4) ذخیره بدنه Response
var responseBody = new {
//izlemek istediğiniz özellikleri buraya ekleyin
AccountId = account.AccountId,
NewBalance = account.Balance
};
5) تبدیل بدنه پاسخ به رشته JSON
بدنه پاسخی که تعریف کردید را به فرمت JSON تبدیل کنید. این به شما امکان می دهد تا بدنه پاسخ را در Jaeger به راحتی تجسم کنید.
var responseBodyJson = JsonConvert.SerializeObject(responseBody);
6) اضافه کردن بدنه پاسخ به عنوان ویژگی span
در نهایت بدنه پاسخ را با فرمت JSON به عنوان ویژگی span اضافه کنید.
currentSpan.SetAttribute("http.response.body", responseBodyJson);
این مرحله تضمین میکند که بدنه پاسخ به دادههای ردیابی اضافه میشود و باعث میشود به راحتی در Jaeger قابل مشاهده باشد.
با دنبال کردن این مراحل، می توانید بدنه پاسخ را با استفاده از OpenTelemetry و Jaeger در برنامه دات نت خود تجسم کنید. بنابراین، می توانید قابلیت ردیابی و تجزیه و تحلیل برنامه خود را افزایش دهید.