مانیتورینگ پرومتئوس چگونه است؟
در این مقاله راهنمای جامعی درباره مانیتورینگ پرومتئوس و چگونگی انجام آن آماده کردهایم. در ادامه این مقاله همراه ما باشید.
امروزه شرکتهای بزرگی در دنیا به دنبال نظارت و بررسی بر دیتاهای خود در شبکه و سرور هستند. راه حل پیشنهادی برای این کار، مانیتورینگ است. یکی از محبوبترین و شناختهشدهترین سرویسهای دنیا برای این کار نیز پرومتئوس است. در این مقاله نگاهی به کوئری کردن دیتاها توسط پرومتئوس و به طور کلی مانیتورینگ پرومتئوس انداختهایم که خواندن آن میتواند کمک زیادی به افزایش دانش و اطلاعات شما کند. اگر به دنبال کسب اطلاعات جدید در این باره هستید، ادامه این متن را از دست ندهید.
کوئری کردن دیتاهای پرومتئوس
برای مانیتورینگ پرومتئوس باید نگاهی دقیقتر به دیتاهای استخراجی از این سرویس بیندازیم. در مقاله قبلی درباره چیستی پرومتئوس صحبت کردیم و برای آشنایی با خود پرومتئوس میتوانید آن مقاله را بررسی کنید. اما در این قسمت نگاهی دقیقتر به نحوه مانیتورینگ با استفاده از این سرویس انداختهایم. دیتاهای داخل سرویس پرومتئوس با استفاده از زبانی به نام PromQL کوئری میشوند.
این زبان کوئری داخلی به کاربر اجازه میدهد تا معیارهای مختلف را با استفاده از انواع عملگراها و توابع انتخاب، تجزیه و قالببندی کند. از آنجایی که سرویس پرومتئوس از ذخیرهسازی time series یا سری زمانی استفاده میکند، از انتخابهای مبتنی بر محدوده یا مدتزمانی پشتیبانی میکند. با استفاده از این ویژگی میتوان دیتاهای سطحی را در بازههای زمانی مختلف بررسی کرد.
در این قسمت مثالی را برای شما آماده کردهایم. فرضا اگر میخواهید تمام ایونتهای مربوط به memory_consumption یا مصرف حافظه در یک ساعت گذشته را بررسی کنید، میتوانید از این دستور استفاده کنید:
Memory_Consumption[1h] |
مثالی که برای شما زدیم، رویدادهای مربوط به مصرف حافظه در یک ساعت گذشته را به شما نمایش میدهد. از طرفی شما میتوانید با افزودن لیبلهای key-value داخل آکولاد، دستور خود را فیلتر کنید:
Memory_Consumption{app=”api”}[1h] |
توابع یا فانکشنهای داخلی نیز فرصتهایی را برای تجزیه و تحلیل دقیقتر شما فراهم میسازد. در این قسمت مثالی از فانکشن rate() برای محاسبه نرخ افزایش متریک در مصرف حافظه یا memory_consumption در یک بازه زمانی مشخص آوردهایم:
rate(memory_consumption[1h]) |
دیتاهای داخل پرومتئوس معمولا از طریق واسط داخلی وب که معمولا روی پورت 9090 قرار میگیرد یا از طریق HTTP API قابل دسترس هستند. راه دوم به عنوان یک راه قوی برای دریافت و انتقال دیتا از پرومتئوس به ابزارهای دیگر مانند داشبورد گرافانا شناخته میشود.
هشدارها یا Alerts
پرومتئوس یک بخش Alert Manager دارد که با ایجاد تغییرات ناگهانی و خطرناک در متریکهای ارسالی، برای کاربر نوتیفیکیشن میفرستد. این بخش به عنوان یکی از کاربردیترین بخشها در مانیتورینگ پرومتئوس شناخته میشود و کاربرد زیادی برای شما دارد. این بخش از پرومتئوس از سیاستهای تعیین شده توسط شما درباره متریکهای ارسالی پیروی میکند و در شرایط بحرانی نوتیفیکیشنی را برای کاربر خود ارسال میکند.
شما میتوانید هشدارهای مربوط به این سرویس را از طریق ایمیل، وب هوک HTTP دلخواه یا پیامرسانی نظیر Slack دریافت کنید. این بخش شامل پشتیبانی یکپارچه برای جمعآوری و بیصدا کردن هشدارهای تکراری است. به همین دلیل زمانی که چندین ایونت تکراری در یک بازه زمانی برای شما اتفاق افتاد، غرق در آن نشوید؛ چراکه این سرویس تمام هشدارهای مربوط به سیستم را برای شما ارسال خواهد کرد.
با اینکه Alert Manager بخشی از پرومتئوس محسوب میشود، جدای از این سرویس توسعه داده شده است. شما قوانین و سیاستهای مربوط به Alert یا هشدارها را تنظیم میکنید و بر اساس این شرایط، AlertManager هشدارهای متریک را برای شما ارسال میکند. سپس مولفه بعدی تصمیم میگیرد که آیا این هشدار باید به پلتفرم پیکربندی شده ارسال شود یا خیر.
پرومتئوس چه وظایفی را نمیتواند انجام دهد؟
در حالی که پرومتئوس به عنوان یک راه حل مناسب برای مانیتورینگ شناخته میشود، اما در بعضی موارد نیز ضعفهایی را از خود نشان میدهد. پرومتئوس با قابلیت اطمینان و عملکرد مهندسی شده است و این مسئله دقت متریکهای خروجی از آن را افزایش داده است.
البته پرومتئوس درباره درستی اطلاعات جمعآوریشده تضمین ۱۰۰ درصدی نمیدهد. البته اگر ضریب خطایی نیز در اطلاعات دریافتی وجود داشته باشد، تاثیر بزرگی روی تصویر بزرگتر ایونتها نمیگذارد. اگر حساسیت بالایی درباره اطلاعات جمعآوریشده خود دارید، میتوانید از پلتفرمهای دیگر نیز استفاده کنید. با این حال پرومتئوس همچنان به عنوان محبوبترین سرویس برای مانیتورینگ و جمع آوری اطلاعات مختلف شناخته میشود.
پرومتئوس میتواند تنها سرویسی که برای مانیتورینگ استفاده میکنید نباشد. در واقع این سرویس میتواند روی ذخیرهسازی اطلاعات، کوئری کردن ایونتها و استفاده مداوم از HTTP API شما کار کند. رابط کاربری داخلی وب این سرویس داشبوردهای شخصیسازیشده را پشتیبانی نمیکند. برای این کار شما میتوانید از پرومتئوس در کنار گرافانا استفاده کنید. برای مانیتورینگ سرور خود با استفاده از این سرویسها، میتوانید از کارشناسان ما در مجموعه یوتاب نیز کمک بگیرید.
کلام آخر
در این مقاله نگاهی کلی و جامع به مانیتورینگ پرومتئوس و استفاده از آن انداختیم. همانطور که در متن خواندیم، متوجه شدیم که با استفاده از این سرویس میتوان به سادگی گزارشهای دریافتی از طرف سرور را مانیتور کرد. از طرفی یکی از مکملهای خوب برای پرومتئوس در استفاده از این سرویس، گرافانا است. گرافانا به واسطه توانایی بالایی که در نمایش دیتاهای دریافتی از پرومتئوس دارد، به عنوان تکه پازل گمشده پرومتئوس شناخته میشود.
شما میتوانید با استفاده از سرویس مانیتورینگ مجموعه یوتاب هر دوی این پلتفرمها را برای مانیتورینگ سرور خود در اختیار داشته باشید. ما در مجموعه یوتاب میتوانیم با استفاده از پلتفرمهای پرومتئوس و گرافانا، مانیتورینگ سرویسهای شما را به بهترین شکل ممکن انجام دهیم. برای شروع این کار تنها کافی است با کارشناسان ما در مجموعه یوتاب تماس بگیرید. امیدواریم از خواندن این مقاله نهایت استفاده را برده باشید.