Prometheus
از Prometheus برای جمعآوری متریکها برای مانیتور کردن و ساخت سیستم هشداردهی استفاده میشود. با بهرهگیری از زبان query قدرتمند PromQL و توانایی نمایش آنها به صورت بیدرنگ، یکی از قویترین ابزارهای زمینه خود محسوب میشود.
با استفاده از Prometheus متریکهای بخش های مختلف سیستم را میتوان در یک مکان ذخیرهسازی و مدیریت کرد.
Prometheus از زبان query مخصوص خود PromQL (Prometheus Query Language) استفاده میکند. این زبان برای کارکردن بهینه با متریکهای Time-Series ساخته شده است.
ساخت Prometheus در دارکوب
به صفحه دارکوب در کنسول همروش مراجعه کنید. سپس در قسمت «ساخت اپ»، ذیل «ساخت اپ آماده»، Prometheus را انتخاب کنید. در این مرحله، نام و زیردامنهای برای نسخه Prometheus خود برگزینید.
در صفحه بعد، پس از انتخاب پلن مورد نظر، گزینه «ساخت اپ» را انتخاب کنید. پس از اندکی، نسخه Prometheus شما مستقر خواهدشد.
مشاهده متریکها و اجرای query
Prometheus پنلی را جهت مشاهده متریکها و اجرا query روی آنها ارائه میکند. این صفحه در آدرسی که هنگام ساخت اپ مشخص کردید و با استفاده از نام کاربری و رمز عبور موجود در تب «اطلاعات عمومی» اپ در دسترس است.
تنظیمات Prometheus
با مراجعه به تب config در صفحه جزئیات اپ، میتوانید محتوای فایلهای زیر را ویرایش دهید. پس از ثبت تغییرات، سرویس Prometheus ریست و تنظیمات جدید اعمال خواهند شد.
/config/prometheus.yml
/config/recording_rules.yml
/config/alerting_rules.yml
به عنوان مثال، اگر اپی با نام backend داشته باشید که روی پورت 9900 خود متریکهایی را expose میکند،
میتوانید قسمت scrape_config
را مانند نمونه زیر به فایل prometheus.yml
اضافه کنید.
در این صورت، متریکهای این اپ، با بسامدی که مشخص میکنید (scrape_interval
)، در نسخه Prometheus شما جمعآوری و ذخیره خواهند شد.
scrape_configs:
- job_name: "my_project"
scrape_interval: 15s
static_configs:
- targets: ["backend.NAMESPACE.svc:9900"]
ایجاد متریک
دو روش مهم برای ایجاد متریک Prometheus وجود دارد. روش اول استفاده از exporterهای آماده است. برای بسیاری از نرمافزارها مانند پایگاههای داده exporterهایی جهت ارائه متریکهای Prometheus توسعه داده میشود (به عنوان مثال، این مورد برای PostgreSQL). میتوان با دیپلوی کردن چنین exporterهایی و اعمال تنظیمات مناسب در Prometheus (مانند مثال بالا) متریکهای نرمافزارها را جمعآوری کرد. روش دوم تعریف متریکهای شخصیسازی شده با استفاده از کتابخانههای Prometheus در زبانهای برنامهنویسی مختلف است. برای اطلاعات بیشتر به این لینک مراجعه کنید. همچنین، جهت بررسی دقیقتر امکانات و تنظیمات Prometheus میتوانید به مستندات رسمی آن مراجعه کنید.