یک اسکریپت Bash بنویسید که میزان استفاده از CPU، حافظه (RAM) و فضای دیسک را خوانده و در خروجی گزارش دهد و اگر هر کدام از این مقادیر از آستانههای مشخص شده (مثلاً CPU > 80%، Memory > 70%، Disk > 90%) بالاتر رفتند، پیام هشدار مناسبی چاپ کند.
13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 03:59 0.0
برای حل این سؤال میتوانید از ابزارهای خط فرمان مثل top/grep/awk، free یا /proc/meminfo برای حافظه، و df برای فضای دیسک استفاده کنید؛ مقادیر را با awk یا read استخراج کرده و با bc یا awk برای مقایسههای اعشاری بررسی کنید. متغیرهای آستانه تعریف کنید، قالب خروجی خوانا با printf بسازید و در صورت نیاز هشدارها را در لاگ بنویسید یا ایمیل بفرستید؛ برای اجرای دورهای میتوان از cron استفاده کرد. نکتهها: از مدیریت خطا (مثلاً در دسترس نبودن دستورها) غافل نشوید و مقادیر را قبل از مقایسه به عدد تبدیل کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
یک نکته: هنگام استخراج درصد استفاده بهخصوص CPU و حافظه باید به تفاوت میان مقدار لحظهای (top) و میانگینهای سیستم توجه کنید چون spikes کوتاه ممکن است بیاهمیت باشند و نیاز به نمونهگیری چندباره یا میانگینگیری دارد. همچنین در سیستمهای کانتینری یا VM مقادیر /proc و top ممکن است نشاندهنده کل میزبان نباشند، پس در صورت نیاز فضای دیسک را per-filesystem با df بررسی کنید و mountهای خاص را فیلتر کنید. برای مقایسه اعشاری از awk یا bc استفاده کنید و خطاها را با بررسی وجود ابزارها و مقداردهی پیشفرض مدیریت کنید تا اسکریپت پایدار باشد. در نهایت، برای اعلان هشدارها میتوانید لاگکردن، ارسال ایمیل یا ادغام با سیستمهای نوتیفیکیشن را در نظر بگیرید و اجرای دورهای را با cron تنظیم کنید.
گزارش