برنامههای زیادی به محصولی تبدیل شدهاند که توسط کاربران مختلفی استفاده میشود. بسیاری از برنامهها به قدری توسعه پیدا کردهاند که هزاران تا میلیونها کاربر روزانه از آنها استفاده میکنند. به هر نسبتی که کاربران یک برنامه بیشتر شود دقت در بررسی مشکلات برنامه بیشتر میشود. همچنین برنامههای سطح وبای نیز وجود دارند که لازم دارند تا همیشه و بدون اشکال بالا باشند و پاسخگو کاربران باشند به این دلیل که توسط موتورهای جستجو مورد بررسی قرار میگیرند و اگر ثانیهای مشکل داشته باشند امتیاز پایینی توسط موتورهای جستجو میگیرند از طرفی کاربران نیز از محصول ناراضی خواهند بود.
چندین و چند راه برای زیر نظر داشتن محصول وجود دارد. راهحلی که ما میخواهیم در این مطلب به آن بپردازیم monitoring tools ها هستند.
این ابزارها کمک میکنند تا اطلاعات لحظهای برنامهها زیر نظر باشد. برای مثال فرض کنید uptime سرویس مدنظر باشد و اگر ثانیهای سرویس پایین بیاید لازم است تا این ۱۰۰ درصد نبودن uptime به اطلاع برسد. یا مثلا response time ها مدنظر است و زمانی که response time از حدی بالاتر برود نشان میدهد که سیستمی زیر بار فشار زیادی است و لازم است تا راهحلهای متناسب با آن زیر نظر قرار بگیرد.
به طور کلی یک monitoring tools به صورت زیر تعریف میشود:
ابزارهای مانیتورینگ برای پیگیری مداوم وضعیت سیستم در حال استفاده، به منظور دریافت اولین هشدار در مورد خرابی، نقص یا مشکلات و بهبود آنها استفاده می شود.
یکی از این ابزارها Prometheus است.
این مطلب، بخشی از تمرینهای درس معماری نرمافزار در دانشگاه شهیدبهشتی است