دوستدار گنو/لینوکس ، دواپس در کافه بازار
آموزش کانفیگ سیستم مانیتورینگ - 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:password@localhost: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 را خواهیم داشت...
مطلبی دیگر از این انتشارات
چگونه درخواستهای زمانبر را در جنگو هندل کنیم یا رساله در حکمت مطلقهی celery
مطلبی دیگر از این انتشارات
ضدالگوها در طراحی یا چگونه با اطمینان کد کثیف بزنیم؟
مطلبی دیگر از این انتشارات
ارزیابی سادهی تیم نرمافزاری (تست جول)