ابزار Prometheus یک سیستم پایش متن‌باز است که بسیار سبک بوده و یک ساز و کار هشدار دهنده عالی در خود دارد. در این مطلب قرار است با نحوه نصب و تنظیم این ابزار آشنا شویم. با ما همراه باشید.

نصب و تنظیم ابزار Prometheus

در این آموزش، نحوه نصب و تنظیم آخرین نسخه Prometheus در یک ماشین مجازی لینوکس توضیح داده می‌شود. در صورتی که قصد دارید از این ابزار در یک کلاستر Kubernetes استفاده کنید، حتماً این مطلب از وبلاگ ‌آریانت را نیز مطالعه کنید.

قبل از شروع به کار

  • حتماً دسترسی sudo به سرور لینوکس را در اختیار داشته باشید. چرا که فرمان‌های مورد استفاده در این آموزش نیازمند این سطح دسترسی هستند.
  • سرور برای دریافت باینری Prometheus حتماً دسترسی به اینترنت داشته باشد.
  • مهمتر از همه اینکه، قواعد فایروال برای دسترسی پورت 9090 ابزار Prometheus در سرور تنظیم شده باشند.

نصب باینری‌های Prometheus

گام ۱) بروزرسانی منبع بسته yum

sudo yum update -y

گام ۲) به صفحه رسمی دریافت ابزار Prometheus بروید و آخرین لینک دانلود باینری لینوکس را دریافت نمایید.

prometheus linux download link

گام ۳) با استفاده از فرمان curl، منبع را دریافت کرده، آن را از حالت tar استخراج کنید و فایل استخراج‌شده را به prometheus-files تغییر نام بدهید.

curl -LO url -LO https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz

tar -xvf prometheus-2.22.0.linux-amd64.tar.gz

mv prometheus-2.22.0.linux-amd64 prometheus-files

گام ۴) یک کاربر Prometheus و همین‌طور دایرکتوری‌های موردنیاز را ایجاد نمایید. همچنین این کاربر را مالک این دایرکتوری‌ها تنظیم کنید.

sudo useradd --no-create-home --shell /bin/false prometheus

sudo mkdir /etc/prometheus

sudo mkdir /var/lib/prometheus

sudo chown prometheus:prometheus /etc/prometheus

sudo chown prometheus:prometheus /var/lib/Prometheus

گام ۵) باینری Prometheus و promtool را از فولدر prometheus-files به مسیر /usr/local/bin کپی نموده و مالکیت را به کاربر Prometheus تغییر دهید.

sudo cp prometheus-files/prometheus /usr/local/bin/

sudo cp prometheus-files/promtool /usr/local/bin/

sudo chown prometheus:prometheus /usr/local/bin/prometheus

sudo chown prometheus:prometheus /usr/local/bin/promtool

گام ۶) کنسول‌های consoles و console_libraries را از prometheus-files به فولدر /etc/Prometheus کپی کنید. سپس مالکیت را نیز به کاربر Prometheus تغییر دهید.

sudo cp -r prometheus-files/consoles /etc/prometheus

sudo cp -r prometheus-files/console_libraries /etc/prometheus

sudo chown -R prometheus:prometheus /etc/prometheus/consoles

sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries

تنظیمات Prometheus

تمام تنظیمات ابزار Prometheus می‌بایست در فایل /etc/prometheus/prometheus.yml وجود داشته باشند.

گام ۱) ساخت فایل prometheus.yml

sudo vi /etc/prometheus/prometheus.yml

گام ۲) محتوای زیر را کپی کرده و در فایل prometheus.yml بچسبانید.

global:

scrape_interval: 10s

scrape_configs:

- job_name: 'prometheus'

scrape_interval: 5s

static_configs:

- targets: ['localhost:9090']

گام ۳) مالکیت فایل را به کاربر Prometheus تغییر دهید.

sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

تنظیم فایل سرویس Prometheus

گام ۱) ایجاد یک فایل سرویس Prometheus

sudo vi /etc/systemd/system/prometheus.service

گام ۲) محتوای زیر را در این فایل کپی کنید.

[Unit]

Description=Prometheus

Wants=network-online.target

After=network-online.target

[Service]

User=prometheus

Group=prometheus

Type=simple

ExecStart=/usr/local/bin/prometheus \

--config.file /etc/prometheus/prometheus.yml \

--storage.tsdb.path /var/lib/prometheus/ \

--web.console.templates=/etc/prometheus/consoles \

--web.console.libraries=/etc/prometheus/console_libraries

[Install]

WantedBy=multi-user.target

گام ۳) سرویس system را دوباره راه‌اندازی کنید تا سرویس Prometheus ثبت شود. سپس سرویس Prometheus را اجرا نمایید.

sudo systemctl daemon-reload

sudo systemctl start prometheus

با استفاده از فرمان زیر، وضعیت سرویس Prometheus را بررسی نمایید.

sudo systemctl status prometheus

وضعیت فعال می‌بایست مطابق زیر نشان داده شود.

وضعیت سرویس ابزار Prometheus

وضعیت سرویس ابزار Prometheus

دسترسی به رابط کاربری وب Prometheus

حالا می‌توانید به رابط کاربری Prometheus از طریق پورت 9090 سرور prometheus دسترسی پیدا کنید.

http://<prometheus-ip>:9090/graph

در نتیجه، باید رابط کاربری را مطابق زیر مشاهده کنید.

رابط کاربری وب prometheus

رابط کاربری وب prometheus

می‌توانید از سربرگ کوئری Prometheus برای درخواست آمار موردنیاز به صورت زیر استفاده کنید.

درخواست آمار از رابط کاربری prometheus

درخواست آمار از رابط کاربری prometheus

هم‌اکنون، تنظیمات سرور Prometheus با موفقیت انجام گرفته است. در همین حال، برای دریافت آمار از سیستم‌های منبع می‌بایست «مقصد» را در در فایل prometheus.yml ثبت کنید.

به عنوان مثال، اگر بخواهید ۱۰ سرور را زیرنظر داشته باشید، آدرس‌های IP این  سرور را می‌بایست به عنوان target یا مقصد در تنظیمات ابزار Prometheus ثبت کنید. در این حالت سرور می‌بایست ابزار Node Exporter را در خود نصب داشته باشد تا تمام آمار سیستم را جمع‌آوری کرده و در دسترس ابزار Node Exporter قرار دهد.