درس ۳ از ۱۲

جمع‌آوری شواهد و وضعیت پایه

هدف این درس این است که جمع‌آوری شواهد و وضعیت پایه برایت فقط یک عنوان تئوری نباشد؛ مفهوم را کوتاه و روشن می‌فهمیم، بعد با ابزارهای شبکه، Logها و مقایسه قبل و بعد سراغ وضعیت واقعی می‌رویم و در پایان روش بررسی یک مشکل مرتبط را تمرین می‌کنیم در این درس تمرکز روی روش فکر کردن در رخداد واقعی است؛ به جای آزمون‌های تصادفی باید Scope، Timeline، Recent Change و Evidence را مشخص کنی و هر تست را برای تأیید یا رد یک فرضیه انجام بدهی؛ هدف فقط رسیدن به Fix نیست، بلکه باید بتوانی علت، نتیجه تست‌ها، Validation و اقدام پیشگیرانه را توضیح و مستند کنی

این درس برای مطالعه کامل نوشته شده است

با حوصله بخوان، مثال‌ها را تحلیل کن و تمرین‌ها را انجام بده؛ هدف حفظ کردن تعریف‌ها نیست

پیام خطا دقیق ثبت شود

متن کامل Error، Code، Source، زمان و عملی که کاربر انجام می‌داد را ثبت کن؛ بازنویسی مبهم مثل «خطا داد» اطلاعاتی را که برای جست‌وجو و مقایسه لازم است از بین می‌برد روش عیب‌یابی قابل اتکا از تعیین دامنه مشکل شروع می‌شود: یک User یا چند User، یک Device یا یک Segment، یک Service یا همه سرویس‌ها؛ بعد باید تغییر اخیر و شواهد قابل مشاهده جمع شوند و فرضیه‌ها از کم‌ریسک‌ترین تست‌ها بررسی شوند؛ تغییر چند عامل هم‌زمان تشخیص علت را دشوار می‌کند؛ پس از رفع نیز باید سرویس از دید کاربر تأیید، علت ثبت و در صورت نیاز اقدام پیشگیرانه تعریف شود در یک شبکه یا سیستم واقعی، این موضوع زمانی روشن می‌شود که عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد در کار روزمره بهتر است این موضوع را این‌طور بررسی کنی: در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن

زمان دقیق رخداد مهم است

زمان دقیق رخداد را ثبت کن چون Logها، تغییرها و Alertها با زمان به هم وصل می‌شوند؛ جمله «صبح خراب شد» برای ساخت Timeline دقیق کافی نیست برای اینکه این مفهوم در محیط واقعی قابل استفاده شود، عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد در کار روزمره بهتر است این موضوع را این‌طور بررسی کنی: در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن برای کامل شدن تصویر این موضوع، در این درس تمرکز روی روش فکر کردن در رخداد واقعی است؛ به جای آزمون‌های تصادفی باید Scope، Timeline، Recent Change و Evidence را مشخص کنی و هر تست را برای تأیید یا رد یک فرضیه انجام بدهی؛ هدف فقط رسیدن به Fix نیست، بلکه باید بتوانی علت، نتیجه تست‌ها، Validation و اقدام پیشگیرانه را توضیح و مستند کنی

Configuration قبل تغییر ذخیره شود

قبل از تغییر، مقدار فعلی تنظیمات مرتبط را ذخیره یا ثبت کن؛ این کار هم مقایسه Before/After را ممکن می‌کند و هم بازگشت امن را از حدس زدن نجات می‌دهد در ذخیره‌سازی باید رابط فیزیکی، پروتکل، نوع رسانه و الگوی کار را از هم جدا دید؛ SATA و PCIe مسیر ارتباطی هستند و NVMe پروتکلی است که معمولاً روی PCIe کار می‌کند، بنابراین صرف دیدن فرم M.۲ نوع ارتباط را مشخص نمی‌کند؛ برای ارزیابی سلامت نیز ظرفیت آزاد، خطاهای ثبت‌شده، وضعیت SMART، دمای درایو، تأخیر I/O و رفتار سیستم در زمان بار باید با هم بررسی شوند و یک شاخص به‌تنهایی برای نتیجه‌گیری کافی نیست Change Enablement بر این تأکید دارد که تغییر با ارزیابی ریسک، مجوز متناسب، زمان‌بندی، برنامه اجرا، معیار موفقیت و راه بازگشت کنترل شود؛ حتی تغییر کوچک اگر روی سرویس مشترک انجام شود می‌تواند دامنه اثر بزرگی داشته باشد؛ قبل از اجرا باید وضعیت فعلی ثبت شود، وابستگی‌ها شناخته شوند و بعد از تغییر هم آزمون فنی و تأیید کارکرد سرویس انجام شود؛ اگر شرایط از برنامه خارج شد، توقف و Rollback بخشی از اجرای حرفه‌ای است

وضعیت پایه معیار سالم است

وضعیت پایه، وضعیت عادی و سالم سیستم است که برای مقایسه هنگام خرابی استفاده می‌شود؛ مصرف معمول CPU، Latency و Config سالم نمونه وضعیت پایه است عدد خارج از عادت لزوماً بد نیست؛ اثر روی سرویس را هم ببین اگر بخواهی این بخش را از حالت تعریف به مهارت عملی تبدیل کنی، عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد نکته‌ای که هنگام پشتیبانی نباید از آن عبور کنی این است که در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن

گفته کاربر با Test فنی تکمیل شود

گزارش کاربر نقطه شروع است نه نتیجه نهایی؛ حرف او را دقیق ثبت کن و سپس با آزمایش فنی، پیام خطا و نمونه سالم مشخص کن نشانه دقیقاً در کدام لایه رخ می‌دهد اگر بخواهی این بخش را از حالت تعریف به مهارت عملی تبدیل کنی، در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن در کار روزمره بهتر است این موضوع را این‌طور بررسی کنی: عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد

مثال محیط واقعی

فرض کن در یک رخداد عیب‌یابی واقعی مشکلی گزارش شده و احتمال می‌دهی به جمع‌آوری شواهد و وضعیت پایه مربوط باشد. قبل از تغییر، وضعیت فعلی را با ابزارهای شبکه، Logها و مقایسه قبل و بعد بررسی می‌کنی و نتیجه را با یک حالت سالم یا مستند معتبر مقایسه می‌کنی. اگر شواهد فرضیه را تأیید کردند، فقط همان بخش مرتبط را تغییر می‌دهی و بعد همان تست را دوباره اجرا می‌کنی تا مطمئن شوی مشکل واقعاً برطرف شده است

اشتباهات رایج

این اشتباه‌ها را تکرار نکن

  • زمان دقیق رخداد را ثبت کن چون Logها، تغییرها و Alertها با زمان به هم وصل می‌شوند. جمله «صبح خراب شد» برای ساخت Timeline دقیق کافی نیست
  • تغییر دادن تنظیمات مرتبط با جمع‌آوری شواهد و وضعیت پایه قبل از اینکه مطمئن شوی مشکل واقعاً به همین بخش مربوط است
  • نتیجه‌گیری درباره جمع‌آوری شواهد و وضعیت پایه فقط از روی یک نشانه و بدون انجام تست نهایی
تمرین عملی

حالا خودت انجام بده

  1. در یک نمونه آزمایشی مرتبط با جمع‌آوری شواهد و وضعیت پایه، فقط وضعیت فعلی را مشاهده کن و سه نکته‌ای را که برای تشخیص حالت سالم مهم‌اند یادداشت کن
  2. با ابزارهای شبکه، Logها و مقایسه قبل و بعد وضعیت مرتبط با جمع‌آوری شواهد و وضعیت پایه را بدون تغییر بررسی کن، سه داده واقعی جمع کن و توضیح بده هرکدام چه چیزی به تو می‌گویند
  3. یک خطای فرضی مرتبط با جمع‌آوری شواهد و وضعیت پایه بنویس و مشخص کن اولین تست کم‌خطر تو چیست و چه نتیجه‌ای فرضیه‌ات را رد می‌کند

نکته‌هایی که باید با خودت ببری

  • پیام خطا دقیق ثبت شود
  • زمان دقیق رخداد مهم است
  • Configuration قبل تغییر ذخیره شود
  • وضعیت پایه معیار سالم است
  • گفته کاربر با Test فنی تکمیل شود
  • قبل از تغییر، محدوده مشکل را مشخص کن و از کم‌خطرترین تست شروع کن
خودسنجی

قبل از رفتن به درس بعد، جواب را برای خودت توضیح بده

این نکته را با یک مثال توضیح بده: پیام خطا دقیق ثبت شود. بعد بگو در عمل چطور آن را بررسی می‌کنی.

متن کامل Error، Code، Source، زمان و عملی که کاربر انجام می‌داد را ثبت کن. بازنویسی مبهم مثل «خطا داد» اطلاعاتی را که برای جست‌وجو و مقایسه لازم است از بین می‌برد

این نکته را با یک مثال توضیح بده: زمان دقیق رخداد مهم است. بعد بگو در عمل چطور آن را بررسی می‌کنی.

زمان دقیق رخداد را ثبت کن چون Logها، تغییرها و Alertها با زمان به هم وصل می‌شوند. جمله «صبح خراب شد» برای ساخت Timeline دقیق کافی نیست

این نکته را با یک مثال توضیح بده: Configuration قبل تغییر ذخیره شود. بعد بگو در عمل چطور آن را بررسی می‌کنی.

قبل از تغییر، مقدار فعلی تنظیمات مرتبط را ذخیره یا ثبت کن. این کار هم مقایسه Before/After را ممکن می‌کند و هم بازگشت امن را از حدس زدن نجات می‌دهد

مطالعه درس همیشه عمومی است

برای ذخیره پیشرفت، دوره را رسمی شروع کن

با ثبت‌نام، تکمیل درس‌ها و نمره آزمون روی حساب ذخیره می‌شود

ثبت‌نام و شروع رسمی