آموزش کانفیگ سیستم مانیتورینگ - Prometheus
اول از هر چیزی Prometheus چیست؟
یک سرویس مانیتورینگ همه فن حریف است که به صورت متن باز منتشر میشود پیوند ، همچنین این سرویس توسعه پذیری بسیار بالایی دارد و از افزونههای زیادی بهره میبرد.
پیشنیازها:
- Docker
- Docker Compose
کانفیگ Docker compose:
version: "3"
services:
prom:
image: quay.io/prometheus/prometheus
volumes:
- /path/to/file/prometheus.yml:/etc/prometheus/prometheus.yml
command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus"
restart: always
ports:
- 9090:9090
فایل prometheus.yml:
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
evaluation_interval: 15s # By default, scrape targets every 15 seconds.
external_labels:
monitor: 'codelab-monitor'
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
- توجه داشته باشید داخل فایل
docker-compose.yml
باید آدرس مربوط به فایلprometheus.yml
را ویرایش نمایید.
حال با استفاده از دستور زیر باید کانتینر مربوط به Prometheus را اجرا نمایید:
$ docker-compose up -d
خوب تبریک میگم الان شما روی پورت ۹۰۹۰ سرویس Prometheus را دارید.
حال باید کانفیگ مربوط به سرویسی که میخواهید مانیتور کنید را انجام دهید ، Prometheus پارامترهای مورد نیاز را از طریق Exporter ها دریافت میکند لیست کامل
راه اندازی و کانفیگ exporter برای Prometheus:
داخل فایل docker-compose.yml
در بخش services
تنظیمات زیر را اضافه میکنیم:
postgres:
image: wrouesnel/postgres_exporter
ports:
- "9187:9187"
environment: DATA_SOURCE_NAME="postgresql://postgres:[email protected]:5432/?sslmode=disable"
حال لازم است که داخل فایل prometheus.yml
را نیز ویرایش نمایید و در انتهای آن تنظیمات زیر را وارد نمایید:
- job_name: "postgres"
scrape_interval: "15s"
static_configs:
- targets: ['postgres:9187']
حال باید کانتینر ها را راه اندازی مجدد نمایید.
$ docker-compose kill
$ docker-compose up -d
خوب دیگه کار تمام شد ، اکنون داخل Prometheus روی پورت ۹۰۹۰ میتوانید پارامترهای مربوط به مانیتورینگ PostgreSQL را مشاهده نمایید.
این آموزش ادامه دارد ، در بخش بعدی آموزش مربوط به اتصال Grafana به Prometheus را خواهیم داشت…