مشکل دریافت متغیر از سمت سرور ها به زبیکس سرور


#1

سلام
من در هنگام مانیتورینگ سرور های خودم گاهی اوقات در هنگام بار بالا مخصوصا CPU Usage بالا با مشکلی مواجه میشوم که دیتا سمت زبیکس فرستاده نمیشه و با توجه به اینکه تریگر های من درهنگام CPU Usage بالا قراره فعال بشه و یک Action را روی سرور اجرا کنه بااختلال مواجه میشه . با بررسی دقیقتر سرور متوجه شدم که از بین تعدادی از آیتم ها بعضی از آنها پیغام timeout داده و اجرا نمیشوند . به عنوان نمونه یک گامند پاورشل دارم که یک پارامتر را از سرویسهای ویندوز خوانده و مقدار آن را برمیگرداند . همانطور که در شکل هم میبینید . در هنگام CPU Usage بالا این مقدار کار نمیکند و آخرین مقدار در داخل Cache باقی میماند
1- چطوری میتوانم بگم وقتی مقدار جدید نتونسته بگیره مقدار Last Value را Null یا خالی کنه
2- چطور میشه مشکل را حل کنم که این Timeout برطرف بشه .
باید بگم که مقدار TimeOut را روی سرور از 4 ثانیه به 25 ثانیه هم افزایش دادم اما مشکل حل نشد


#2

دوستان کسی راهکاری نداره ؟ میخوام وقتی NoData هست مقدار داخل دیتابیس پاک بشه و آخرین دیتا که قدیمی هست نشون داده نشه


#3

سلام

البته بالا بردن Timeout سرور کار خوبی نیست به خاطر اینکه روی کارایی سرور زبیکس به شدت تاثیر می ذاره.
از طرف دیگه امکان پاک کردن اطلاعات درون Database مربوط به زبیکس به شکل عادی وجود نداره و اصلا کار منطقی ای هم نیست. چرا که در یک سرویس مانیتورینگ اتفاقا اعتبار اطلاعات به اینه که پاک نشن و هر کاربری نتونه History سیستم رو از بین ببره.

اما برای اینکه شما در سرورهایی که معمولا دارای بار زیادی هستن و این احتمال هست که با مشکل تاخیر مواجه بشین و Timeout Error بگیرین مشکل رو برطرف کنین یکی از بهترین راه ها استفاده از آیتم های از نوع Trapper هستش. شما با استفاده از این آیتم ها دیگه با مشکل Timeout Error مواجه نمی شین و نیاز ندارین که Timeout سرور رو هم بالا ببرین.