لاگ ڈیزائن تین سوالوں کا جواب ہے: کس عمل نے ریکارڈ بنایا، وہ ریکارڈ کہاں اترتا ہے اور کتنی دیر زندہ رہتا ہے۔ OpenVPN فائل میں لکھ سکتا ہے، پیغامات سسٹم لاگر کو دے سکتا ہے یا انہیں اُس چیز پر چھوڑ سکتا ہے جو سروس مینیجر پکڑتا ہے، اور یہ ایک ہی بہاؤ کی تین کاپیاں نہیں ہیں۔ ہر انتخاب بدلتا ہے کہ گردش کا مالک کون ہے، کون صارف نتیجہ پڑھ سکتا ہے اور آغاز کے دوران کیا ہوتا ہے۔ واقعے سے پہلے جوابات طے کریں، کیونکہ بعد میں آپ کو وہی ورثے میں ملتا ہے جو ترتیب دیا گیا تھا۔

ڈیمن ہدایت کے ساتھ دراصل کیا کرتا ہے

ہدایات کوئی تجرید نہیں ہیں؛ ہر ایک فیصلہ کرتی ہے کہ عمل اپنے پیغامات کہاں لکھتا ہے۔ log /path اُس فائل کو کھولتا ہے، log-append /path اسے شامل کرنے کے لیے کھولتا ہے، اور syslog پیغامات اپنے ساکٹ کے ذریعے مقامی سسٹم لاگر کو دیتا ہے۔ ان میں سے کوئی نہ ہو تو آؤٹ پٹ معیاری آؤٹ پٹ پر جاتا ہے اور سروس مینیجر فیصلہ کرتا ہے کہ آگے کیا ہو۔ ڈیمن آپ کی ترتیب کو نظرانداز کرتا ہے، یہ نتیجہ نکالنے سے پہلے مؤثر یونٹ اور پروفائل ایک ساتھ پڑھیں۔

آخری صورت پیکج تنصیب میں عام ہے اور یہ بتاتی ہے کہ دو منتظم لاگ کی جگہ پر کیوں متفق نہیں ہیں۔ ایک یونٹ کا جرنل پڑھتا ہے، دوسرا ایسی فائل جو ڈیمن نے کبھی نہیں لکھی۔

چلتی ہوئی ترتیب دیکھیں، ڈسک کی فائل نہیں۔ drop-in یونٹ اوور رائیڈ یا ماحول کی فائل مؤثر ہدایت بدل سکتی ہے بغیر اُس پروفائل کو چھوئے جو آپ پڑھ رہے ہیں۔

log کاٹتا ہے، log-append نہیں

log ہدایت کے نافذ ہوتے ہی موجودہ فائل کاٹ دیتا ہے، اس لیے دوبارہ آغاز اس سے پہلے کے شواہد مٹا دیتا ہے۔ log-append جو موجود ہے رکھتا ہے اور اضافہ کرتا ہے۔ کوئی بھی آپشن کچھ گھماتا نہیں اور کوئی بھی بعد میں خود سے فائل دوبارہ نہیں کھولتا، اسی لیے گردش کو تعاون چاہیے۔

اگر گردش فائل کا نام بدل دے جبکہ ڈیمن پرانے ڈسکرپٹر میں لکھتا رہے، نئی فائل خالی رہتی ہے اور ڈسک کا استعمال بدلے ہوئے نام والی فائل میں بڑھتا رہتا ہے۔ عمل کو دوبارہ کھولنے کے لیے سگنل بھیجیں، یا نقل اور کاٹ کی حکمت عملی سے گردش کریں اور نقل کی مدت قبول کریں۔

ڈائریکٹری، ملکیت اور اجازتیں ڈیزائن کا حصہ ہیں۔ ڈیمن آغاز کے بعد غیر مراعات یافتہ صارف کے طور پر چل سکتا ہے، اور تنصیب کے وقت root کی بنائی ڈائریکٹری اُس وقت لکھنے کے قابل نہ ہو۔ اسے پیکیجنگ یا تعیناتی کے عمل سے تیار کریں، واقعے کے دوران اجازتیں درست کرنے کے بجائے۔

سروس مینیجر دوسری کاپی رکھتا ہے

systemd بطور طے شدہ معیاری آؤٹ پٹ اور معیاری خرابی پکڑتا ہے، اس لیے واضح ری ڈائریکشن کے بغیر یونٹ کے پاس پہلے ہی لاگ ہوتا ہے۔ فائل ہدایت شامل کرنے سے دو بہاؤ ملتے ہیں جن کی برقراری، قارئین اور ٹائم اسٹیمپ مختلف ہیں۔

یہ خودبخود غلط نہیں، لیکن یہ فیصلہ ہونا چاہیے۔ آغاز کا ریکارڈ جرنل میں رکھیں، کیونکہ ترتیب شدہ فائل کے وجود سے پہلے کی ناکامیاں کہیں اور نظر نہیں آتیں۔ پھر فائل کو مستحکم حالت کے واقعات کے لیے مستند بنائیں اور یہ runbook میں لکھیں۔ دو مستند بہاؤ کا مطلب ہر سوال کے دو جواب ہیں۔

انتخاب کو ایسے امتحان سے تصدیق کریں جو جان بوجھ کر ناکام ہو۔ ڈیمن کو ناقابلِ پڑھ سرٹیفکیٹ کے ساتھ چلائیں اور دیکھیں کون سا بہاؤ خرابی درج کرتا ہے۔

تفصیل قابلِ استعمال تفصیل کے برابر نہیں

اونچی verb سطح زیادہ سطریں شامل کرتی ہے اور ایک حد کے بعد ایسی سطریں جنہیں کوئی نہیں پڑھتا۔ سطح 3 زیادہ تر تعیناتیوں کے لیے معقول مستحکم حالت ہے، جبکہ سطح 4 اور اس سے اوپر معلوم سوال کے ساتھ محدود تحقیق کے لیے موزوں ہے۔ تکرار کا دباؤ شور کم کرتا ہے، لیکن یہ نہیں چھپانا چاہیے کہ کوئی واقعہ کتنی بار دہرایا جاتا ہے۔ وہ سطح مقرر کریں جو آپ برقرار رکھ سکیں، اور اسے صرف ایسی نامزد تحقیق کے لیے بڑھائیں جس کا اختتام ہو۔

ریکارڈ میں مثال کی شناخت اور ٹائم اسٹیمپ رکھیں۔ جب فائل مہینوں سے بڑھ رہی ہو اور مثال کا نام غائب ہو تو دوبارہ رابطہ بالکل پہلے رابطے جیسا لگتا ہے۔

خیال رکھیں کہ اُس فائل میں اور کیا اترتا ہے۔ ری ڈائریکٹ شدہ آؤٹ پٹ میں بلائے گئے اسکرپٹس کا متن شامل ہو سکتا ہے، اور اپنا ماحول چھاپنے والا معاون پروگرام اسناد اور کلیدوں کے راستے پڑھنے کے قابل لاگ میں ڈال دیتا ہے۔ لاگ تک رسائی کو سیکیورٹی فیصلہ سمجھیں، چاہے خود ڈیمن کوئی حساس چیز نہ چھاپے۔

گردش، برقراری اور وہ سگنل جو دوبارہ لوڈ کرتے ہیں

برقراری کا فیصلہ ڈسک کے مالک کے ساتھ کریں اور اسے حجم کے آپ کی بجائے فیصلہ کرنے سے پہلے مقرر کریں۔ دوبارہ لوڈ کا سگنل لاگ کی دیکھ بھال کا حکم نہیں ہے: غلط سگنل بھیجنے سے سرنگ دوبارہ شروع ہوتی ہے اور ہر صارف منقطع ہوتا ہے۔ دوبارہ کھولنے کا طریقہ گردش کے قاعدے کے ساتھ لکھیں تاکہ دونوں الگ نہ ہوں۔

نتیجہ ایسی سروس ہونا چاہیے جسے آپریٹر بیان کر سکے: ایک مستند بہاؤ، ہر واقعہ لائف سائیکل میں رکھا ہوا، اور ایسا ریکارڈ جو میزبان پر ہر راز رکھنے والی فائل جمع کیے بغیر حاصل ہو۔ یہی بیان ڈیزائن کا قبولیتی امتحان ہے، اور اگلے واقعے سے پہلے اسے جانچنا سستا ہے۔

متعلقہ مضامین