نصب و کانفیگ Prometheus و Grafana و ادغام آنها: راهنمای جامع و کاربردی

جدول محتوا نمایش

کانفیگ Prometheus و Grafana روی اوبونتو، به‌عنوان دو ابزار قدرتمند متن‌باز، به شما امکان می‌دهد تا معیارهای عملکرد را به‌صورت بلادرنگ جمع‌آوری، ذخیره و با داشبوردهای بصری جذاب تحلیل کنید.

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

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

چرا کانفیگ Prometheus و Grafana برای مانیتورینگ انتخابی ایده‌آل هستند؟

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

ویژگی‌های کلیدی Prometheus و Grafana

این دو ابزار امکانات متعددی ارائه می‌دهند که آنها را از سایر راه‌حل‌های مانیتورینگ متمایز می‌کند:

  • جمع‌آوری داده‌های بلادرنگ با Prometheus: ثبت معیارهای عملکرد با فواصل کوتاه.
  • زبان پرس‌وجوی PromQL: تحلیل داده‌ها با انعطاف‌پذیری بالا.
  • داشبوردهای تعاملی Grafana: نمایش داده‌ها با چارت‌های بصری جذاب.
  • هشدارهای هوشمند: ارسال اعلان از طریق ایمیل، Slack یا تلگرام.

این ویژگی‌ها باعث شده‌اند که نصب Prometheus و Grafana به یکی از مهارت‌های ضروری برای مدیران سرور تبدیل شود.

مقایسه با سایر ابزارهای مانیتورینگ

در مقایسه با ابزارهایی مانند Zabbix یا Nagios، Prometheus و Grafana به دلیل تمرکز بر داده‌های زمانی و ادغام آسان با سیستم‌های مدرن، برای محیط‌های ابری و کانتینری مناسب‌تر هستند.

پیش‌نیازهای نصب Prometheus و Grafana

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

سخت‌افزار و نرم‌افزار موردنیاز

برای نصب Prometheus و Grafana روی اوبونتو، سرور شما باید حداقل مشخصات زیر را داشته باشد:

  • سیستم‌عامل: اوبونتو 20.04 یا 22.04 LTS.
  • پردازنده: حداقل 2 هسته CPU.
  • حافظه رم: حداقل 4 گیگابایت (8 گیگابایت توصیه می‌شود).
  • فضای دیسک: حداقل 20 گیگابایت فضای خالی.

همچنین، ابزارهای زیر موردنیاز هستند:

  • دسترسی به اینترنت برای دانلود بسته‌ها.
  • ابزارهای خط فرمان مانند wget و tar.
  • مرورگر وب برای دسترسی به رابط کاربری Grafana.

دسترسی‌های لازم

برای راه‌اندازی Prometheus و Grafana، به دسترسی root یا sudo نیاز دارید. همچنین، اطمینان حاصل کنید که سرور به اینترنت متصل است.

بررسی اتصال به اینترنت

قبل از شروع، اتصال اینترنت سرور را بررسی کنید:

ping google.com

اگر پاسخ دریافت کردید، سرور آماده دانلود بسته‌هاست.

نصب Prometheus روی اوبونتو

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

به‌روزرسانی سیستم‌عامل

اولین قدم در پیکربندی Prometheus، به‌روزرسانی سیستم‌عامل است:

sudo apt update && sudo apt upgrade -y

این دستور تمام بسته‌های نرم‌افزاری را به‌روزرسانی می‌کند.

دانلود و نصب Prometheus

آخرین نسخه Prometheus را دانلود کنید:

wget https://github.com/prometheus/prometheus/releases/download/v2.47.1/prometheus-2.47.1.linux-amd64.tar.gz
tar -xvf prometheus-2.47.1.linux-amd64.tar.gz
sudo mv prometheus-2.47.1.linux-amd64 /usr/local/prometheus

ایجاد کاربر و سرویس Prometheus

یک کاربر سیستمی برای Prometheus ایجاد کنید:

sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus /var/lib/prometheus

فایل تنظیمات را کپی کنید:

sudo cp /usr/local/prometheus/prometheus.yml /etc/prometheus/
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml

پیکربندی Prometheus

پس از نصب، باید Prometheus را برای جمع‌آوری داده‌ها پیکربندی کنید.

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

فایل تنظیمات را ویرایش کنید:

sudo nano /etc/prometheus/prometheus.yml

محتوای نمونه:

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

ایجاد فایل سرویس Systemd

فایل سرویس را ایجاد کنید:

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

محتوای فایل:

[Unit]
Description=Prometheus Monitoring
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/prometheus/prometheus \
    --config.file /etc/prometheus/prometheus.yml \
    --storage.tsdb.path /var/lib/prometheus/ \
    --web.console.templates=/usr/local/prometheus/consoles \
    --web.console.libraries=/usr/local/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

سرویس را فعال کنید:

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

بررسی وضعیت سرویس

برای اطمینان از اجرای صحیح:

sudo systemctl status prometheus

نصب Grafana روی اوبونتو

Grafana برای تجسم داده‌های جمع‌آوری‌شده توسط Prometheus استفاده می‌شود.

نصب بسته Grafana

مخزن Grafana را اضافه کنید:

sudo apt-get install -y apt-transport-https software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install -y grafana

سرویس را اجرا کنید:

sudo systemctl enable grafana-server
sudo systemctl start grafana-server

دسترسی به رابط کاربری Grafana

مرورگر خود را باز کنید و به آدرس زیر بروید:

http://your_server_ip:3000

با نام کاربری و رمز عبور پیش‌فرض (admin/admin) وارد شوید.

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

پورت 3000 را باز کنید:

sudo ufw allow 3000/tcp
sudo ufw reload

ادغام Prometheus و Grafana

ادغام این دو ابزار، قلب کانفیگ Prometheus و Grafana است.

افزودن Prometheus به Grafana

در رابط کاربری Grafana، به مسیر Configuration > Data Sources بروید و Prometheus را با آدرس http://localhost:9090 اضافه کنید.

ایجاد داشبورد در Grafana

یک داشبورد جدید ایجاد کنید و معیارهایی مانند:

  • بار CPU: نمایش درصد استفاده از پردازنده.
  • مصرف حافظه: تحلیل استفاده از RAM.
  • ترافیک شبکه: بررسی پهنای باند.

نمونه پرس‌وجوی PromQL

برای نمایش بار CPU:

rate(node_cpu_seconds_total{mode="user"}[5m])

نصب Node Exporter برای جمع‌آوری معیارهای سرور

Node Exporter معیارهای سیستمی مانند CPU و حافظه را به Prometheus ارسال می‌کند.

دانلود و نصب Node Exporter

Node Exporter را دانلود کنید:

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar -xvf node_exporter-1.6.1.linux-amd64.tar.gz
sudo mv node_exporter-1.6.1.linux-amd64 /usr/local/node_exporter

ایجاد سرویس Node Exporter

فایل سرویس را ایجاد کنید:

sudo nano /etc/systemd/system/node_exporter.service

محتوای فایل:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

سرویس را اجرا کنید:

sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter

افزودن Node Exporter به Prometheus

فایل prometheus.yml را ویرایش کنید:

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

تنظیم هشدارها در Prometheus و Grafana

هشدارها به شما کمک می‌کنند تا مشکلات را سریعاً شناسایی کنید.

نصب Alertmanager

Alertmanager را دانلود کنید:

wget https://github.com/prometheus/alertmanager/releases/download/v0.26.0/alertmanager-0.26.0.linux-amd64.tar.gz
tar -xvf alertmanager-0.26.0.linux-amd64.tar.gz
sudo mv alertmanager-0.26.0.linux-amd64 /usr/local/alertmanager

پیکربندی Alertmanager

فایل تنظیمات را ایجاد کنید:

sudo nano /etc/prometheus/alertmanager.yml

محتوای نمونه:

route:
  receiver: 'email'
receivers:
  - name: 'email'
    email_configs:
    - to: 'your_email@example.com'
      from: 'alertmanager@example.com'
      smarthost: 'smtp.example.com:587'
      auth_username: 'your_username'
      auth_password: 'your_password'

سرویس Alertmanager را راه‌اندازی کنید:

sudo nano /etc/systemd/system/alertmanager.service

محتوای فایل:

[Unit]
Description=Alertmanager
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
ExecStart=/usr/local/alertmanager/alertmanager \
    --config.file=/etc/prometheus/alertmanager.yml

[Install]
WantedBy=multi-user.target

سرویس را اجرا کنید:

sudo systemctl daemon-reload
sudo systemctl start alertmanager
sudo systemctl enable alertmanager

ایجاد قانون هشدار

فایل قوانین هشدار را ایجاد کنید:

sudo nano /etc/prometheus/alert.rules.yml

محتوای نمونه:

groups:
- name: example
  rules:
  - alert: HighCPUUsage
    expr: rate(node_cpu_seconds_total{mode="user"}[5m]) > 0.8
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "High CPU usage detected"

بهینه‌سازی عملکرد Prometheus و Grafana

برای اطمینان از عملکرد بهینه، باید تنظیمات را بهینه کنید.

بهینه‌سازی Prometheus

فواصل جمع‌آوری داده را تنظیم کنید:

global:
  scrape_interval: 30s

بهینه‌سازی Grafana

حافظه کش Grafana را افزایش دهید:

sudo nano /etc/grafana/grafana.ini

محتوای نمونه:

[caching]
enabled = true

سوالات متداول درباره کانفیگ Prometheus و Grafana

Prometheus و Grafana چه تفاوتی با Zabbix دارند؟

Prometheus برای داده‌های زمانی و Grafana برای تجسم بصری بهینه شده‌اند، در حالی که Zabbix برای مانیتورینگ جامع‌تر مناسب است.

آیا این ابزارها رایگان هستند؟

بله، هر دو ابزار متن‌باز و رایگان هستند.

جدول مقایسه Prometheus و Grafana با سایر ابزارها

ابزارتمرکز اصلیمناسب برای
Prometheus & Grafanaمانیتورینگ و تجسم داده‌های زمانیمحیط‌های ابری
Zabbixمانیتورینگ جامعسازمان‌های بزرگ

نکات پیشرفته برای استفاده از Prometheus و Grafana

برای استفاده حرفه‌ای، می‌توانید از قابلیت‌های پیشرفته مانند Service Discovery استفاده کنید.

استفاده از Service Discovery

Prometheus را برای کشف خودکار سرورها پیکربندی کنید:

scrape_configs:
  - job_name: 'discovery'
    consul_sd_configs:
    - server: 'consul:8500'

نمونه داشبورد پیشرفته

ایجاد داشبورد برای مانیتورینگ کانتینرهای Docker.

نتیجه‌گیری

کانفیگ Prometheus و Grafana روی اوبونتو یکی از بهترین راه‌ها برای مانیتورینگ بلادرنگ زیرساخت‌های شماست. با این راهنمای جامع، می‌توانید این ابزارها را به‌راحتی نصب، پیکربندی و ادغام کنید و از قابلیت‌های آنها برای بهبود عملکرد سرورهایتان استفاده کنید. اگر سوال یا تجربه‌ای دارید، در بخش نظرات با ما به اشتراک بگذارید و بیایید با هم دنیای مانیتورینگ را فتح کنیم!

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *