یک اسکریپت Bash بنویسید که میانگین بار سیستم (load average) یا درصد استفاده از حافظه را بررسی کند و اگر مقدار مورد نظر از آستانهٔ تعیینشده گذشت، با ارسال ایمیل یا نمایش اعلان محلی (notify-send) هشدار دهد.
21.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:45 0.0
برای حل این مسئله میتوانید از فایل /proc/loadavg یا دستور free -m همراه با awk برای استخراج مقدارها استفاده کنید و آستانهها را بهصورت متغیر قابل تنظیم تعریف کنید؛ برای مقایسهٔ اعداد اعشاری از ابزارهایی مثل bc استفاده کنید. برای ارسال هشدار میتوانید از mailx یا sendmail برای ایمیل یا notify-send برای اعلان دسکتاپ بهره ببرید؛ بهتر است پیام شامل زمان و نام میزبان باشد و اسکریپت را با cron بهطور دورهای اجرا کنید تا پایش مداوم انجام شود. نکات: اطمینان از پیکربندی سرویس ایمیل روی سرور، مدیریت سطوح هشدار و جلوگیری از ارسال هشدارهای تکراری (با ذخیرهٔ زمان آخرین هشدار) مفید است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای جلوگیری از هشدارهای کاذب حتما آستانهها را بهصورت متغیر قابل تنظیم و یک دورهٔ "cool‑down" یا hysteresis تعریف کنید تا بعد از ارسال هشدار بلافاصله تکرار نشود. برای مقایسهٔ اعشاری از bc استفاده کنید و مقادیر را از /proc/loadavg یا خروجی free -m با awk استخراج نمایید. اگر از notify-send بهره میبرید مطمئن شوید متغیرهای محیطی DISPLAY و DBUS_SESSION_BUS_ADDRESS در کرونجاب یا سرویس شما تنظیم شدهاند و برای ایمیل سرویس mailx/sendmail روی سرور پیکربندی شده باشد. ذخیرهٔ زمان آخرین هشدار در فایل ساده یا استفاده از فایل قفل کمک میکند تنها در صورت تغییر وضعیت واقعی اعلان ارسال شود.
گزارش