۱مقدمه
با گذار از نرمافزارهای یکپارچه به سرویسهای متعدد، کانتینرها و زیرساخت ابری، فهمیدن اینکه درون سامانه چه میگذرد بسیار دشوارتر شده است. یک درخواست ساده از سوی کاربر ممکن است از دهها سرویس عبور کند و کندی هر کدام، تجربهٔ کاربر را مختل کند. مشاهدهپذیری توانایی درک وضعیت درونی سامانه از روی دادههایی است که سامانه از خود بیرون میدهد.
۲بررسی موضوع
مشاهدهپذیری بر سه ستون استوار است. «لاگها» ثبت رویدادهای مجزا هستند، مانند خطاها و اقدامات کاربر. «متریکها» اعداد قابل تجمیع در طول زماناند، مانند تعداد درخواست در ثانیه، نرخ خطا و زمان پاسخ. «ردیابی توزیعشده» (Distributed Tracing) مسیر کامل یک درخواست را در میان همهٔ سرویسها دنبال میکند و نشان میدهد زمان در کدام مرحله صرف شده است.
لاگ ساختاریافته، یعنی ثبت لاگ در قالبی مانند JSON با فیلدهای مشخص بهجای متن آزاد، جستوجو و تحلیل را بسیار سادهتر میکند. افزودن «شناسهٔ همبستگی» به هر درخواست، امکان میدهد همهٔ لاگهای مرتبط با یک تراکنش، از هر سرویسی که باشند، کنار هم دیده شوند.
در سامانههای مالی، لاگها خود دادهای حساساند. ثبت ناخواستهٔ شمارهٔ کارت، رمز یا اطلاعات شخصی در لاگ، یکی از خطاهای رایج امنیتی است که در فهرستهای مرجع مانند OWASP نیز به آن اشاره شده است. پوشاندن خودکار فیلدهای حساس پیش از ثبت، و محدود کردن دسترسی به سامانهٔ لاگ، از الزامات اساسی است.
برای تعریف هشدارهای معنادار، رویکرد «اهداف سطح خدمت» (SLO) کارآمد است: بهجای هشدار برای هر نوسان فنی، هدفی از دید کاربر تعریف میشود، مثلاً «۹۹٫۹ درصد پرداختها در کمتر از دو ثانیه تأیید شوند»، و هشدار تنها زمانی صادر میشود که این هدف در خطر باشد. این روش از خستگی ناشی از هشدارهای بیاهمیت جلوگیری میکند.
۳جمعبندی
استاندارد باز OpenTelemetry امروز به زبان مشترک صنعت برای جمعآوری لاگ، متریک و ردیابی تبدیل شده و وابستگی به یک ابزار یا فروشندهٔ خاص را کاهش میدهد. تیمی که مشاهدهپذیری را از ابتدای طراحی در نظر بگیرد، بهجای حدس زدن هنگام بحران، با داده تصمیم میگیرد.
همفکران فناوری شریف

