یک اسکریپت Bash بنویسید که بهطور لحظهای، میزان استفاده از CPU، حافظه و دیسک را خوانده، آنها را با آستانههای قابل تنظیم مقایسه کند و در صورت عبور از آستانهها پیام هشدار را روی خروجی نشان داده و همزمان در یک فایل لاگ ذخیره کند.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:43 0.0
برای حل این مسئله از ابزارهای خط فرمان پایه مانند top (یا mpstat)، free و df همراه با پردازش خروجی با awk/grep استفاده کنید؛ مقادیر جمعآوریشده را با متغیرهای آستانه قابل تنظیم مقایسه کنید، در صورت عبور از آستانهها پیام هشدار شامل زمان، نوع منبع و مقدار فعلی چاپ و با دستور echo >> در فایل لاگ بنویسید. نکتهها: برای گرفتن CPU یک نمونه از top با top -bn1 | grep "Cpu" یا vmstat/mpstat استفاده کنید، برای حافظه free -m را به کار ببرید و برای دیسک df -h یا df --output=pcent,target و سپس با awk درصد را استخراج کنید؛ اسکریپت را طوری بنویسید که پارامترهای آستانه قابل تغییر باشند و در صورت نیاز بتوان آن را با cron بهصورت دورهای اجرا کرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
ایده خوب است که آستانهها را بهصورت پارامترهای ورودی یا متغیرهای محیطی تعریف کنید تا بدون تغییر کد قابل تنظیم باشند. توصیه میکنم از ابزارهای استاندارد مثل mpstat یا vmstat برای CPU، free -m برای حافظه و df -h یا df --output=pcent برای دیسک استفاده کنید و خروجی را با awk استخراج کنید. برای ثبت لاگ از کاراکتر تاریخ و زمان استفاده کنید و فرمت لاگ را ساده نگه دارید تا با cron یا هر ابزار مانیتورینگ دیگر راحت باشد. همچنین از set -euo pipefail استفاده کنید تا خطاها به درستی مدیریت شوند و در صورت عبور از آستانه هشدارها بهصورت همزمان روی خروجی و لاگ نوشته شوند.
گزارش