آشنایی با Update Interval در Zabbix؛ Flexible و Scheduling چه تفاوتی دارند؟
وقتی در Zabbix یک Item میسازیم، یکی از مهمترین تنظیماتی که باهاش روبهرو میشیم Update Interval هست.
در نگاه اول خیلی ساده به نظر میرسه. مثلاً مقدار 1m قرار میدیم و Zabbix هر یک دقیقه یک بار مقدار Item رو دریافت میکنه. اما همیشه نیاز ما به همین سادگی نیست.
گاهی میخوایم در ساعات خاصی اطلاعات با فاصلهی زمانی کمتری جمعآوری بشه، یا مثلاً یک Item فقط هر روز ساعت مشخصی اجرا بشه.
برای این سناریوها میتونیم از Custom intervals در Zabbix و دو حالت مهم Flexible و Scheduling استفاده کنیم.
در ویدیوی این صفحه سعی کردم این قابلیتها رو با مثال عملی بررسی کنم.
Update Interval چیست؟
Update Interval مشخص میکنه Zabbix هر چند وقت یک بار باید مقدار یک Item رو دریافت کنه.
مثلاً اگر مقدار زیر رو قرار بدیم:
1m
یعنی Zabbix تقریباً هر یک دقیقه یک بار Item موردنظر رو بررسی میکنه.
برای خیلی از Itemها همین تنظیم کافیه، اما فرض کنید میخوایم یک سرویس در ساعات کاری هر یک دقیقه و خارج از ساعات کاری هر ۱۰ دقیقه بررسی بشه.
اینجاست که Flexible intervals به کارمون میاد.
Flexible Interval
Flexible به ما اجازه میده Update Interval یک Item رو در یک بازهی زمانی مشخص تغییر بدیم.
مثلاً میتونیم بگیم:
در ساعات کاری، هر 1 دقیقه بررسی کن و در بقیهی ساعات، هر 10 دقیقه.
در این حالت یک Update Interval اصلی داریم و با Flexible برای بازهی زمانی موردنظر رفتار اون رو تغییر میدیم.
این قابلیت برای زمانی مناسبه که اهمیت یا میزان استفاده از یک سرویس در ساعات مختلف تغییر میکنه.
مثلاً یک سرویس سازمانی ممکنه بین ساعت ۸ صبح تا ۵ عصر اهمیت بیشتری داشته باشه. بنابراین منطقیه که در این بازه با فاصلهی زمانی کمتری مانیتور بشه.
Scheduling Interval
حالت Scheduling کمی متفاوت عمل میکنه.
اینجا به جای اینکه بگیم Item «هر چند دقیقه» اجرا بشه، مشخص میکنیم دقیقاً در چه زمانهایی اجرا بشه.
مثلاً ممکنه یک Job هر روز ساعت ۷ صبح اجرا بشه و ما هم فقط بخوایم بعد از اجرای اون Job یک مقدار رو از سیستم دریافت کنیم.
در چنین شرایطی لازم نیست Zabbix تمام روز Item رو هر چند دقیقه یک بار اجرا کنه. میتونیم زمان اجرای Item رو متناسب با نیازمون Schedule کنیم.
Scheduling برای Itemهایی مثل اینها خیلی کاربردیه:
-
بررسی نتیجهی Backupهای روزانه
-
دریافت گزارشهای روزانه
-
بررسی Batch Jobها
-
اجرای Check در ساعت مشخص
-
جمعآوری اطلاعاتی که فقط یک یا چند بار در روز تغییر میکنند
Flexible یا Scheduling؟
تفاوت اصلی این دو حالت در نوع نیاز ماست.
در Flexible همچنان با یک Interval سروکار داریم، اما Interval رو در یک بازهی زمانی مشخص تغییر میدیم.
مثلاً:
در ساعات کاری هر 1 دقیقه، خارج از ساعات کاری هر 10 دقیقه
اما در Scheduling زمان مشخصی برای اجرای Item تعیین میکنیم.
مثلاً:
هر روز ساعت 07:00
پس به صورت ساده میشه گفت:
Flexible → هر چند وقت یک بار؟
Scheduling → چه زمانی؟
همین تفاوت ساده کمک میکنه موقع طراحی Itemها راحتتر تصمیم بگیریم از کدوم روش استفاده کنیم.
چرا این تنظیمات مهم هستند؟
تنظیم Update Interval فقط مشخص کردن زمان دریافت اطلاعات نیست و میتونه روی طراحی و Performance سیستم مانیتورینگ هم تأثیر داشته باشه.
مثلاً اگر برای Itemهایی که فقط روزی یک بار تغییر میکنند Update Interval رو روی 1m قرار بدیم، عملاً تعداد زیادی Check غیرضروری ایجاد کردیم.
از طرف دیگه، اگر برای یک سرویس مهم Interval خیلی بزرگی انتخاب کنیم، ممکنه تشخیص مشکل با تأخیر انجام بشه.
بنابراین Update Interval مناسب باید بر اساس اهمیت Metric، سرعت تغییر اطلاعات و نیاز مانیتورینگ انتخاب بشه.
در ویدیوی این صفحه، Update Interval و Custom intervals در Zabbix رو بررسی کردم و با مثال عملی تفاوت بین Flexible intervals و Scheduling intervals رو توضیح دادم تا ببینیم هر کدوم در چه سناریویی کاربرد بیشتری دارند.
میتوانید سایر قسمت ها در زیر تماشا کنید