بدون پایش، شما اولین کسی نیستید که از خرابی سرویس باخبر میشود؛ مشتری است. Prometheus و Grafana یک زوج استاندارد برای حل این مشکلاند. Prometheus یک پایگاه دادهٔ سریزمانی است که معیارها را بهصورت دورهای از سرویسها جمع میکند و Grafana همان داده را به داشبوردهای بصری و قابلفهم تبدیل میکند.
Prometheus مدل pull دارد؛ یعنی خودش به نقطهٔ پایانی metrics هر سرویس سر میزند و داده را برمیدارد. این رویکرد کشف خودکار سرویسها را ساده میکند و از گم شدن داده هنگام قطعی موقت جلوگیری میکند. اپلیکیشن باید معیارهای کلیدی مثل نرخ درخواست، نرخ خطا و تأخیر را در قالب استاندارد Prometheus در معرض دید بگذارد.
برای انتخاب معیارهای درست، روش RED راهنمای خوبی است: Rate یعنی تعداد درخواست در ثانیه، Errors یعنی نرخ خطا و Duration یعنی توزیع زمان پاسخ. این سه با هم تصویری روشن از سلامت هر سرویس میدهند. برای منابع زیرساختی هم روش USE — بهرهوری، اشباع و خطا — مکمل خوبی است.
هشدار خوب باید بر نشانههایی استوار باشد که کاربر واقعاً حس میکند، نه هر نوسان جزئی. ما با Alertmanager هشدارها را بر اساس شدت دستهبندی و مسیر اطلاعرسانی هرکدام را مشخص میکنیم. هشدار پرسروصدا و بیاهمیت بدتر از نبود هشدار است، چون تیم را به بیاعتنایی عادت میدهد و هشدار واقعی گم میشود.