سیستم مدیریت خرابی (Crash Handling System)

سیستم مدیریت خرابی یک کامپوننت مهم از فرآیند تشخیص و عیب‌یابی سیستم است. این سیستم امکان جمع‌آوری و تحلیل اطلاعات حیاتی را زمانی که سیستم دچار crash یا خطای غیرمنتظره می‌شود، فراهم می‌کند. دو artifact کلیدی که در این فرآیند استفاده می‌شوند، coredump و SOS-Report هستند.

Coredump

یک coredump فایلی است که تصویر حافظه یک پروسس را زمانی که با خطای fatal یا crash مواجه می‌شود، شامل می‌شود. این فایل وضعیت پروسس را شامل محتویات حافظه، رجیسترها و stack trace ضبط می‌کند. coredump به عنوان یک منبع ارزشمند برای تحلیل post-mortem برای شناسایی علت اصلی crash عمل می‌کند. این فایل بینش‌هایی در مورد مکان‌های خاص حافظه و مسیرهای اجرای کد که منجر به خطا شده‌اند، ارائه می‌دهد.

SOS-Report

یک SOS-Report یک snapshot جامع از اطلاعات سیستم و تنظیمات پیکربندی در زمان crash است. این گزارش شامل لاگ‌های مختلف، پارامترهای kernel، پیکربندی شبکه، جزئیات سخت‌افزار و سایر داده‌های تشخیصی مرتبط است. SOS-Report یک نمای کلی از وضعیت سیستم ارائه می‌دهد که در عیب‌یابی و شناسایی مشکلات بالقوه که ممکن است به crash کمک کرده باشند، کمک می‌کند.

هشدار امنیتی

مهم است که هنگام برخورد با SOS-Report احتیاط کنید، زیرا ممکن است حاوی اطلاعات حساس باشند. قبل از به اشتراک گذاشتن یک SOS-Report با تیم پشتیبانی یا هر طرف خارجی، ضروری است که محتوای آن را بررسی کنید و اطمینان حاصل کنید که هیچ داده حساس یا محرمانه‌ای در آن گنجانده نشده است. داده‌های حساس ممکن است شامل رمزهای عبور، آدرس‌های IP، اطلاعات خاص مشتری یا هر داده دیگری که نباید افشا شود، باشد. حذف یا مبهم کردن داده‌های حساس به محافظت از حریم خصوصی و امنیت سیستم و کاربران آن کمک می‌کند.

برای بررسی یک SOS-Report برای داده‌های حساس، محتوای گزارش را به دقت بررسی کنید، مانند فایل‌های لاگ و فایل‌های پیکربندی سیستم. اطمینان حاصل کنید که هر اطلاعات حساس به درستی حذف یا مبهم شده است. توصیه می‌شود هنگام برخورد و به اشتراک گذاشتن SOS-Report از دستورالعمل‌های حفاظت از داده و سیاست‌های امنیتی داخلی پیروی کنید.

دستورات CLI

show crashinfo [json]

این دستور برای نمایش اطلاعات درباره crash ها یا خطاهای سیستم که روی دستگاه رخ داده‌اند، استفاده می‌شود. جزئیات crash را شامل زمان crash و برنامه‌ای که crash کرده است، ارائه می‌دهد.

پارامترها:

  • json: (اختیاری) خروجی را به فرمت JSON فرمت می‌کند.

مثال:

soodar# show crashinfo

copy crashinfo: sftp:

این دستور برای کپی فایل‌های اطلاعات crash از یک دستگاه محلی به یک سرور راه‌دور با استفاده از پروتکل Secure File Transfer Protocol (SFTP) استفاده می‌شود.

نکته

URI sftp به صورت زیر است: sftp:[user]:[password]@[host]:[path]

نکته

URI crashinfo به صورت زیر است: crashinfo:[index]

مثال‌ها:

soodar# ! copy second crashinfo with full URI
soodar# copy crashinfo:2 sftp:john:1234@test:/data/crashinfo
Address or name of remote host [test]?
Remote host user [john]?
Remote host password [*****]?
Remote path [/data/crashinfo]?
Index to export [2]?
soodar# ! copy crashinfo without providing anything
soodar# copy crashinfo: sftp:
Address or name of remote host [192.168.1.1]?
Remote host user [admin]?
Remote host password [admin]?
Remote path [/home/admin]?
Index to export [-1]?

copy crashinfo: device: [force]

این دستور برای کپی فایل‌های مرتبط با crash ذخیره شده در دایرکتوری crashinfo روی دستگاه به یک دستگاه ذخیره‌سازی قابل جابجایی مانند دیسک USB استفاده می‌شود.

پارامترها:

  • force: (اختیاری) عملیات کپی را اجباری می‌کند و فایل‌های موجود را جایگزین می‌کند.

نکته

URI device به صورت زیر است: device:DEVNAME/[path]

نکته

URI crashinfo به صورت زیر است: crashinfo:[index]

مثال:

soodar# ! copy first crashinfo to USB disk volume sda1
soodar# copy crashinfo:1 device:sda1/crashreports

delete crashinfo:

این دستور برای حذف فایل‌های مرتبط با crash ذخیره شده در دایرکتوری crashinfo روی دستگاه استفاده می‌شود.

نکته

URI crashinfo به صورت زیر است: crashinfo:[index]

نکته مهم

index 0 به معنای تمام crashinfo ها است، بنابراین استفاده از این index با دستور delete (یا copy) تمام crash ها را حذف (یا export) می‌کند.

مثال:

soodar# delete crashinfo:1

خلاصه

سیستم مدیریت خرابی یک ابزار ضروری برای:

جمع‌آوری اطلاعات در زمان crash یا خطا
تحلیل post-mortem با استفاده از coredump
عیب‌یابی جامع با SOS-Report
انتقال اطلاعات به سرورهای راه‌دور یا دستگاه‌های USB
مدیریت فایل‌های crash با دستورات ساده

با استفاده صحیح از این سیستم می‌توانید اطلاعات ارزشمندی برای عیب‌یابی و حل مشکلات سیستم جمع‌آوری کنید.