یک اسکریپت 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 استفاده کرد. نکته‌ها: از مدیریت خطا (مثلاً در دسترس نبودن دستورها) غافل نشوید و مقادیر را قبل از مقایسه به عدد تبدیل کنید.

توسط پژوهشگر در 198 روز قبل ساعت 03:59
دسته بندی ها: Bash Scripting Bash Scripting for beginner
sara در 198 روز قبل ساعت 04:00

یک نکته: هنگام استخراج درصد استفاده به‌خصوص CPU و حافظه باید به تفاوت میان مقدار لحظه‌ای (top) و میانگین‌های سیستم توجه کنید چون spikes کوتاه ممکن است بی‌اهمیت باشند و نیاز به نمونه‌گیری چندباره یا میانگین‌گیری دارد. همچنین در سیستم‌های کانتینری یا VM مقادیر /proc و top ممکن است نشان‌دهنده کل میزبان نباشند، پس در صورت نیاز فضای دیسک را per-filesystem با df بررسی کنید و mountهای خاص را فیلتر کنید. برای مقایسه اعشاری از awk یا bc استفاده کنید و خطاها را با بررسی وجود ابزارها و مقداردهی پیش‌فرض مدیریت کنید تا اسکریپت پایدار باشد. در نهایت، برای اعلان هشدارها می‌توانید لاگ‌کردن، ارسال ایمیل یا ادغام با سیستم‌های نوتیفیکیشن را در نظر بگیرید و اجرای دوره‌ای را با cron تنظیم کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری