Observability (software)
تقسیم شدہ نظاموں میں، مشاہدہ کاری پروگراموں کے نفاذ، ماڈیولز کی اندرونی حالتوں، اور اجزاء کے درمیان مواصلات کے بارے میں ڈیٹا اکٹھا کرنے کی صلاحیت ہے۔ مشاہدے کو بہتر بنانے کے لیے، سافٹ ویئر انجینئر ٹیلی میٹری کی معلومات جمع کرنے کے لیے لاگنگ اور ٹریسنگ کی تکنیکوں کی ایک وسیع رینج کا استعمال کرتے ہیں، اور اس کا تجزیہ اور استعمال کرنے کے لیے ٹولز استعمال کرتے ہیں۔ مشاہدہ سائٹ وشوسنییتا انجینئرنگ کے لیے بنیادی ہے، کیونکہ یہ سروس کی بندش کو ٹرائیج کرنے کا پہلا قدم ہے۔ مشاہدے کے اہداف میں سے ایک یہ ہے کہ کسی مسئلے کو ٹھیک کرنے کے لیے درکار پیشگی علم کی مقدار کو کم سے کم کیا جائے۔ صفتیات، اصطلاحات اور تعریف یہ اصطلاح کنٹرول تھیوری سے لی گئی ہے، جہاں کسی نظام کی "مشاہدہ پذیری" اس بات کی پیمائش کرتی ہے کہ اس کی حالت کا تعین اس کے نتائج سے کتنی اچھی طرح سے کیا جا سکتا ہے۔ اسی طرح، سافٹ ویئر آبزرویبلٹی اس بات کی پیمائش کرتی ہے کہ حاصل کردہ ٹیلی میٹری (میٹرکس، لاگز، ٹریسز، پروفائلنگ) سے کسی نظام کی حالت کو کتنی اچھی طرح سے سمجھا جا سکتا ہے۔ مشاہدہ کی تعریف فروش کے لحاظ سے مختلف ہوتی ہے: اس اصطلاح کو اکثر اس کا عددی نام O11y کہا جاتا ہے (جہاں 11 کا مطلب لفظ کے پہلے حرف اور آخری حرف کے درمیان حروف کی تعداد ہے)۔ یہ کمپیوٹر سائنس کے دیگر مخففات جیسے i18n اور L10n اور k8s سے ملتا جلتا ہے۔ مشاہداتی بمقابلہ نگرانی مشاہداتی اور نگرانی کو بعض اوقات ایک دوسرے کے بدلے استعمال کیا جاتا ہے۔ جیسے جیسے ٹولنگ، تجارتی پیشکش اور طرز عمل پیچیدگی میں تیار ہوئے، "نگرانی" کو مشاہدے کے طور پر دوبارہ برانڈ کیا گیا تاکہ نئے ٹولز کو پرانے سے الگ کیا جا سکے۔ اصطلاحات عام طور پر اس میں متضاد ہیں کہ ٹیلی میٹری کے پہلے سے طے شدہ سیٹوں کا استعمال کرتے ہوئے نظاموں کی نگرانی کی جاتی ہے، اور نگرانی شدہ نظام قابل مشاہدہ ہو سکتے ہیں۔ میجرز اور دیگر۔ تجویز کرتے ہیں کہ انجینئرنگ ٹیمیں جن کے پاس صرف نگرانی کے اوزار ہوتے ہیں وہ ماہر پیشگی علم (سنیارٹی) پر انحصار کرتے ہیں، جبکہ جن ٹیموں کے پاس مشاہداتی اوزار ہوتے ہیں وہ تحقیقی تجزیہ (تجسس) پر انحصار کرتے ہیں۔ ٹیلی میٹری کی اقسام مشاہدہ تین اہم قسم کے ٹیلی میٹری ڈیٹا پر منحصر ہے: میٹرکس، لاگ اور ٹریس۔ انہیں اکثر "مشاہدے کے ستون" کہا جاتا ہے۔ میٹرکس وقت کی پیمائش (اسکیلر) میں ایک نقطہ ہے جو کسی نظام کی حالت کی نمائندگی کرتا ہے۔ عام میٹرکس کی مثالوں میں شامل ہیں: فی سیکنڈ HTTP درخواستوں کی تعداد ؛ استفسار کی ناکامیوں کی کل تعداد ؛ بائٹس میں ڈیٹا بیس کا سائز ؛ آخری کچرا جمع کرنے کے بعد سیکنڈ میں وقت۔ نگرانی کے اوزار عام طور پر انتباہات کو خارج کرنے کے لیے ترتیب دیے جاتے ہیں جب بعض میٹرک اقدار مقررہ حد سے تجاوز کر جاتی ہیں۔ تھریش ہولڈز عام آپریٹنگ حالات اور تجربے کے بارے میں علم کی بنیاد پر مقرر کیے جاتے ہیں۔ میٹرکس کو عام طور پر گروہ بندی اور تلاش کو آسان بنانے کے لیے ٹیگ کیا جاتا ہے۔ ایپلیکیشن ڈویلپرز اس بات کا انتخاب کرتے ہیں کہ ان کے سافٹ ویئر کو جاری کرنے سے پہلے کس قسم کے میٹرکس کے ساتھ انسٹرومنٹ کرنا ہے۔ نتیجے کے طور پر، جب پہلے سے نامعلوم مسئلے کا سامنا کرنا پڑتا ہے، تو نیا کوڈ بھیجنے کے بغیر نئے میٹرکس کو شامل کرنا ناممکن ہے۔ مزید برآں، ان کی بنیادی حیثیت تیزی سے ٹیلی میٹری ڈیٹا کے اسٹوریج سائز کو ممنوع طور پر مہنگا بنا سکتی ہے۔ چونکہ میٹرکس کارڈینیلیٹی محدود ہیں، وہ اکثر مجموعی اقدار کی نمائندگی کرنے کے لیے استعمال ہوتے ہیں (مثال کے طور پر: اوسط پیج لوڈ ٹائم، یا درخواست کی شرح کا 5 سیکنڈ اوسط)۔ بیرونی سیاق و سباق کے بغیر، واقعات (جیسے صارف کی درخواستیں) اور الگ میٹرک اقدار کے درمیان ارتباط کرنا ناممکن ہے۔ لاگ لاگ، یا لاگ لائنیں، عام طور پر آزاد شکل، غیر ساختہ ٹیکسٹ بلب ہوتے ہیں جن کا مقصد انسانی پڑھنے کے قابل ہونا ہے۔ جدید لاگنگ کی تشکیل کی گئی ہے، تاکہ مشین کی پارسیبلٹی کو فعال کیا جا سکے۔ میٹرکس کی طرح، ایک ایپلیکیشن ڈویلپر کو ایپلیکیشن کو پہلے سے "انسٹرومنٹ" کرنا چاہیے، اور اگر مختلف لاگنگ معلومات کی ضرورت ہو تو نیا کوڈ بھیجنا چاہیے۔ لاگ میں عام طور پر ٹائم اسٹیمپ اور شدت کی سطح شامل ہوتی ہے۔ ایک ایونٹ (جیسے صارف کی درخواست) کو متعدد لاگ لائنوں میں تقسیم کیا جا سکتا ہے اور بیک وقت ہونے والے واقعات کے لاگ کے ساتھ آپس میں جوڑا جا سکتا ہے۔ ٹریسز ڈسٹری بیوٹڈ ٹریسز کلاؤڈ کی مقامی ایپلی کیشن عام طور پر تقسیم شدہ خدمات پر مشتمل ہوتی ہے جو مل کر ایک ہی درخواست کو پورا کرتی ہے۔ تقسیم شدہ سراغ مجرد واقعات کا ایک باہم منسلک سلسلہ ہے (جسے اسپانس بھی کہا جاتا ہے) جو واحد صارف کی درخواست کی پیشرفت کو ٹریک کرتا ہے۔ ایک ٹریس ان خدمات کے درمیان وجہ اور عارضی تعلقات کو ظاہر کرتا ہے جو درخواست کو پورا کرنے کے لیے باہمی طور پر کام کرتی ہیں۔ ٹریس کے ساتھ کسی ایپلی کیشن کو انسٹرومنٹ کرنے کا مطلب ہے اسپان کی معلومات کو ٹریسنگ بیک اینڈ پر بھیجنا۔ ٹریسنگ بیک اینڈ قابل ذکر نشانات پیدا کرنے کے لیے موصولہ اسپانس کو مربوط کرتا ہے۔ متعدد خدمات کو عبور کرتے ہوئے کسی درخواست کی پیروی کرنے کے قابل ہونے کے لیے، اسپانس کو منفرد شناخت کاروں کے ساتھ لیبل کیا جاتا ہے جو اسپانس کے درمیان والدین اور بچے کے تعلقات کو استوار کرنے کے قابل بناتے ہیں۔ اسپان کی معلومات عام طور پر آؤٹ باؤنڈ درخواستوں کے ایچ ٹی ٹی پی ہیڈرز میں شیئر کی جاتی ہیں۔ مسلسل پروفائلنگ ایک اور ٹیلی میٹری کی قسم ہے جو واضح طور پر اس بات کا تعین کرنے کے لیے استعمال ہوتی ہے کہ کوئی ایپلیکیشن وسائل کو کس طرح استعمال کرتی ہے۔ آلات کسی ایپلی کیشن کا مشاہدہ کرنے کے قابل ہونے کے لیے، ایپلی کیشن کے رویے کے بارے میں ٹیلی میٹری کو جمع یا برآمد کرنے کی ضرورت ہے۔ انسٹرومینٹیشن کا مطلب ہے ایپلی کیشن کے نارمل آپریشن کے ساتھ ساتھ ٹیلی میٹری تیار کرنا۔ ٹیلی میٹری کو بعد میں تجزیہ کے لیے ایک آزاد بیک اینڈ کے ذریعے جمع کیا جاتا ہے۔ آلات خودکار یا حسب ضرورت ہو سکتے ہیں۔ آٹومیٹک انسٹرومینٹیشن کمبل کوریج اور فوری قیمت پیش کرتا ہے ؛ کسٹم انسٹرومینٹیشن زیادہ قیمت لاتا ہے لیکن انسٹرومینٹڈ ایپلی کیشن کے ساتھ زیادہ گہری شمولیت کی ضرورت ہوتی ہے۔ انسٹرومینٹیشن مقامی ہو سکتا ہے-کوڈ میں کیا گیا (انسٹرومینٹڈ ایپلی کیشن کے کوڈ میں ترمیم)-یا آؤٹ آف کوڈ (مثال کے طور پر۔ سائیڈ کار، ای بی پی ایف)۔ پیداوار میں نئی خصوصیات کو اپنی مرضی کے مطابق آلات کے ساتھ مل کر بھیج کر تصدیق کرنا ایک ایسا عمل ہے جسے "مشاہدے پر مبنی ترقی" کہا جاتا ہے۔ "مشاہدے کے ستون" میٹرکس، لاگ اور نشانات کو عام طور پر مشاہدے کے ستونوں کے طور پر درج کیا جاتا ہے۔ میجرز اور دیگر۔ یہ تجویز کرتے ہیں کہ مشاہدے کے ستون اعلی کارڈینیلیٹی، اعلی جہتی اور ایکسپلوریبلٹی ہیں، یہ دلیل دیتے ہوئے کہ رن بک اور ڈیش بورڈز کی قدر بہت کم ہے کیونکہ "جدید نظام شاذ و نادر ہی ایک ہی طرح سے دو بار ناکام ہوتے ہیں"۔ خود نگرانی ایک ایسا عمل ہے جہاں مشاہدے کے اسٹیک ایک دوسرے کی نگرانی کرتے ہیں، تاکہ غیر واضح بندش کے خطرے کو کم کیا جا سکے۔ باہمی ناکامیوں سے بچنے کے لیے زیادہ دستیابی اور بے کار پن کے علاوہ خود نگرانی کی جا سکتی ہے۔ یہ بھی دیکھیں کہ ایپلیکیشن پرفارمنس مینجمنٹ (اے پی ایم) اوپن ٹیلی میٹری (او ٹیل) حقیقی صارف کی نگرانی (آر یو ایم) مصنوعی نگرانی ڈیو اوپس سائٹ وشوسنییتا انجینئرنگ (ایس آر ای) سماجی تکنیکی نظام بیرونی روابط سی این سی ایف آبزرویبلٹی ٹیکنیکل ایڈوائزری گروپ (ٹی اے جی) کتابچہ حوالہ جات تقسیم شدہ کمپیوٹنگ