پیش از ورود به بحث لازم است تأکید کنیم که هدف این مجموعه مقالات زیر سؤال بردن ارزش یا توانمندی ابزارهای مطرح مانیتورینگ زیرساخت فناوری اطلاعات نیست. بسیاری از این راهکارها سالهاست در سازمانهای مختلف مورد استفاده قرار گرفتهاند و نقش مهمی در پایش و مدیریت محیطهای IT ایفا میکنند. آنچه در این مجموعه مقالات بررسی میشود، بیشتر نگاهی تحلیلی به برخی محدودیتها و چالشهایی است که میتوانند برای سازمانها مسئلهساز شوند. ازاینرو، اگر قصد خرید نرمافزار PRTG را دارید، پیشنهاد میکنیم پیش از تصمیمگیری، مجموعه مقالات کالبدشکافی PRTG را نیز مطالعه کنید.
در معماری PRTG، تقریباً همه مسیرها به Core Server ختم میشوند. Probeها داده جمعآوری میکنند، اما نگهداری وضعیت سنسورها، ارزیابیTriggerها، تولید هشدارها، ذخیره تاریخچه، پاسخ به رابط کاربری و بخش مهمی از منطق عملیاتی در Core متمرکز است. این طراحی در شبکههای کوچک و متوسط معمولاً ساده و قابل مدیریت به نظر میرسد؛ اما هرچه تعداد سنسورها، Probeها و حجم رویدادها افزایش پیدا کند، همان سادگی اولیه میتواند به یک نقطه تجمع بار تبدیل شود.
در بسیاری از سازمانها، چالش مقیاسپذیری زمانی آغاز میشود که سامانه مانیتورینگ از چند صد یا چند هزار سنسور عبور میکند و به سمت دهها هزار نقطه مانیتورینگ حرکت میکند. در این شرایط، معماری داخلی ابزار اهمیت بیشتری از قابلیتهای ظاهری آن پیدا میکند؛ زیرا تعیین میکند بار پردازشی چگونه توزیع شده و سیستم تا چه اندازه میتواند رشد زیرساخت را تحمل کند.
برای درک بهتر این موضوع، ابتدا باید نقش Core Server را در معماری PRTG بررسی کرد. برخلاف تصور رایج، Core صرفاً یک مخزن داده نیست؛ بلکه بخش قابل توجهی از عملیات حیاتی سامانه را مدیریت میکند.
از جمله مهمترین وظایف Core میتوان به موارد زیر اشاره کرد:
در نتیجه، هرچه تعداد سنسورها افزایش پیدا کند، بار پردازشی مرتبط با تمام این وظایف نیز افزایش مییابد و بخش بزرگی از آن همچنان در Coreمتمرکز باقی میماند.
در بسیاری از سامانههای مدرن، رشد زیرساخت با توزیع بار پردازشی همراه است. به بیان دیگر، اگر تعداد منابع مانیتورشونده دو برابر شود، سیستم میتواند با اضافه کردن نودهای جدید، بخشی از بار را میان آنها توزیع کند.
در PRTG وضعیت متفاوت است. اگرچه امکان استفاده از Probeهای متعدد وجود دارد، اما افزایش تعداد Probeها لزوماً به معنای توزیع کامل پردازش نیست. Probeها عمدتاً مسئول جمعآوری داده هستند و در نهایت بخش عمدهای از اطلاعات باید به Core منتقل شود.
به همین دلیل، رشد افقی زیرساخت الزاماً به رشد افقی واقعی در لایه پردازش منجر نمیشود. شما میتوانید Probe های بیشتری در شعبهها یا دیتاسنترهای مختلف مستقر کنید، اما خروجی همه آنها باید در نهایت در Core تجمیع، ذخیره و پردازش شود.
Pollingها، پردازش وضعیت سنسورها، ارزیابیTriggerها، زمانبندی عملیات و اجرای هشدارها همگی نیازمند منابع پردازشی هستند. با افزایش تعداد سنسورها، این وظایف به شکل تجمعی روی Core فشار وارد میکنند.
تمام Probeها باید بهصورت مداوم با Core در ارتباط باشند. هرچه تعداد Probeها و سنسورها بیشتر شود، حجم تبادل داده، تعداد اتصالهای فعال و عملیات همگامسازی نیز افزایش پیدا میکند.
در چنین شرایطی، حتی پیش از آنکه حجم دادهها به سطح بحرانی برسد، تأخیرهای ارتباطی میتوانند بر عملکرد کلی سیستم اثر بگذارند.
PRTG یک سیستم Stateful محسوب میشود.Core باید وضعیت فعلی، تاریخچه، وابستگیها، هشدارهای فعال و اطلاعات مربوط به هزاران سنسور را نگهداری کند.همین انباشت وضعیت میتواند بر سرعت داشبوردها، پردازش هشدارها، گزارشگیری و پاسخگویی سیستم تأثیر بگذارد.
یکی از برداشتهای رایج این است که وجود Remote Probeها به معنای توزیع کامل بار در PRTG است؛ اما در عمل این دو مفهوم با یکدیگر تفاوت دارند.
در معماری توزیعشده واقعی، هر نود میتواند بخشی از پردازش، ذخیرهسازی یا تحلیل داده را بر عهده بگیرد و بار میان چندین نود مستقل تقسیم شود. اما در PRTG، Probeها عمدتاً وظیفه جمعآوری داده را بر عهده دارند. تصمیمگیری نهایی، نگهداری وضعیت، مدیریت هشدارها و بسیاری از عملیات اصلی همچنان در Core انجام میشود.
به همین دلیل افزایش تعداد Probeها اگرچه میتواند جمعآوری داده را تسهیل کند، اما الزاماً فشار پردازشی روی Core را از بین نمیبرد.
فرض کنید یک سازمان حدود ده ها هزار سنسور فعال با Interval شصتثانیهای در اختیار دارد.در چنین شرایطی، Core Server باید در هر دقیقه دهها هزار نتیجه Polling را دریافت، پردازش و ذخیره کند. هر نتیجه میتواند شامل:
این اطلاعات باید همزمان در پایگاه داده ثبت شوند، در موتور هشدار مورد ارزیابی قرار گیرند و برای نمایش در داشبوردها نیز آماده باشند.در شرایط عادی، سیستم ممکن است همچنان عملکرد قابل قبولی داشته باشد؛ اما چالش زمانی آغاز میشود که اختلالی در ارتباط میان Probeها و Core رخ دهد.
فرض کنید یکی از Remote Probeها به دلیل اختلال شبکه برای چند دقیقه از Core جدا شود.در این مدت، دادهها در صف داخلی Probe باقی میمانند. پس از برقراری مجدد ارتباط، حجم قابل توجهی از اطلاعات بهصورت Burst به Coreارسال میشود.
در این وضعیت Core باید همزمان:
نتیجه چنین وضعیتی میتواند شامل موارد زیر باشد:
نشانههایی که معمولاً زودتر از خرابی کامل ظاهر میشوند
پیش از آنکه سیستم به نقطه بحرانی برسد، معمولاً نشانههایی ظاهر میشوند که میتوانند بیانگر فشار بیش از حد بر Core باشند:
در بسیاری از مواقع، نخستین واکنش سازمانها به مشکلات عملکردی، ارتقای سختافزار است. افزایش CPU، RAM یا استفاده از Storageسریعتر میتواند تا حدی ظرفیت سیستم را افزایش دهد؛ اما معماری را تغییر نمیدهد.
وقتی بار اصلی همچنان در یک نقطه متمرکز باشد، ارتقای سختافزار صرفاً سقف تحمل همان گره را بالاتر میبرد. الگوی جریان داده، محل نگهداری State و نحوه پردازش اطلاعات همچنان بدون تغییر باقی میماند.
به همین دلیل، در بسیاری از استقرارهای بزرگ، پس از عبور از یک نقطه مشخص، مسئله از «کمبود منابع» به «محدودیت معماری» تبدیل میشود.
PRTG سالها در بسیاری از محیطهای IT عملکرد قابل قبولی ارائه کرده است، اما معماری Core-Centric آن در استقرارهای بزرگ میتواند به نقطهای تبدیل شود که پردازش، ذخیرهسازی، هشداردهی و رابط کاربری همگی برای استفاده از منابع یک سرور مرکزی با یکدیگر رقابت کنند.

نکته مهم این است که موضوع صرفاً تعداد سنسورها نیست؛ بلکه محل تجمع پردازش و وضعیت سیستم است. هرچه تعداد سنسورها، Probeها و تغییرات محیط بیشتر شود، احتمال شکلگیری صفهای پردازشی، افزایش تأخیر و فشار عملیاتی بر Core نیز بیشتر خواهد شد.
در نسل جدید پلتفرمهای مانیتورینگ، بسیاری از تولیدکنندگان تلاش کردهاند با استفاده از معماریهای توزیعشدهتر، جداسازی مؤلفههای پردازشی و مقیاسپذیری افقی، این نوع گلوگاهها را کاهش دهند. بدون داوری ارزشی، تفاوت اصلی در اینجا کمتر به نوع سنسورها مربوط میشود و بیشتر به محل تجمع پردازش، تصمیمگیری و نگهداری State بازمیگردد؛ نقطهای که در PRTG همچنان Core Server محسوب میشود.
در همین راستا، نرمافزار مانیتورینگ معین نیز با رویکردی متفاوت در طراحی معماری خود، تلاش کرده است وابستگی به یک نقطه پردازشی واحد را کاهش دهد و امکان توزیع بار میان مؤلفههای مختلف سامانه را فراهم کند. هدف از این رویکرد، افزایش ظرفیت رشد، حفظ پایداری عملکرد در مقیاسهای بزرگ و کاهش احتمال شکلگیری گلوگاههای عملیاتی در زمان توسعه زیرساخت است.