برنامه نویسی

سیستم های مانیتورینگ با پرومتئوس و گرافانا: راهنمای جامع

در این وبلاگ ما یک راهنمای گام به گام برای ساختن سیستم مانیتورینگ شما برای دستگاه های شما خواهیم داشت. در این راهنما ما یک سرور Prometheus و داشبورد Grafana برای تجزیه و تحلیل استفاده از منابع سیستم شما راه اندازی خواهیم کرد.
ما Prometheus و Grafana خود را در ظروف docker مستقر خواهیم کرد زیرا سبک وزن هستند و مدیریت آنها آسان است.

چرا مانیتورینگ سیستم مهم است؟

نظارت بر سیستم به چند دلیل بسیار مهم است، زیرا بینش ها و مزایای ارزشمندی را ارائه می دهد که به سلامت کلی، عملکرد و امنیت زیرساخت ها و برنامه های IT کمک می کند. در اینجا چند دلیل کلیدی برای اهمیت نظارت بر سیستم آورده شده است:

  • تشخیص زودهنگام مسائل
  • بهینه سازی عملکرد
  • برنامه ریزی ظرفیت
  • امنیت و انطباق
  • عیب یابی و تحلیل علل ریشه ای
  • SLA و KPI Tracking
  • بهینه سازی منابع و کاهش هزینه
  • تحلیل و برنامه ریزی روند

پرومتئوس چیست؟

Prometheus یک ابزار نظارت و هشدار است که برای جمع‌آوری و ذخیره داده‌های سری زمانی از منابع مختلف مانند برنامه‌ها، خدمات و اجزای سیستم طراحی شده است. این به ویژه برای نظارت بر محیط های بسیار پویا و توزیع شده مناسب است. Prometheus داده‌ها را از نقاط پایانی تعیین‌شده در فواصل زمانی منظم می‌ریزد و به کاربران اجازه می‌دهد تا سلامت و عملکرد سیستم‌های خود را نظارت کنند. برای استخراج و تجزیه و تحلیل داده ها از یک زبان پرس و جو به نام PromQL استفاده می کند. Prometheus همچنین از هشدار بر اساس قوانین از پیش تعریف شده پشتیبانی می کند و به کاربران امکان می دهد در صورت رعایت شرایط خاص، اعلان دریافت کنند.

گرافانا چیست؟

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

تنظیم محیط برای پرومتئوس و گرافان

sudo apt-get install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
sudo ufw allow ssh
sudo ufw enable
sudo ufw status
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

sudo apt install docker.io
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پیکربندی سرور Prometheus و Grafana در اوبونتو

  • یک دایرکتوری برای ذخیره تمام فایل های پیکربندی که در کانتینر docker نصب می شوند ایجاد کنید
cd /opt/
mkdir prometheus
cd prometheus
touch prometheus.yml
touch alerts.rules
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

قوانین هشدارها و مدیر هشدار در پست بعدی مورد بحث قرار خواهند گرفت

  • ظرف داکر برای پرومتئوس ایجاد کنید
docker run -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /opt/prometheus/alerts.rules:/etc/prometheus/alerts.rules --restart unless-stopped --name prometheus prom/prometheus
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • ایجاد یک صادرکننده گره، صادرکننده گره به بازیابی معیارهای یک سیستم مبتنی بر لینوکس و ارسال آن به پرومتئوس کمک می کند.
docker run -d -p 9100:9100 -v --name node-exporter prom/node-exporter
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • ظرف داکر برای گرانا ایجاد کنید
docker run -d --name=grafana -p 3000:3000 grafana/grafana
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

حالا هر مرورگری را باز کنید و جستجو کنید ubuntu_ip:9090، ubuntu_ip:3000 و ubuntu_ip:9100/metrics برای بررسی اینکه آیا پرومته، گرانا و صادرکننده گره در حال اجرا هستند یا خیر
ubuntu_ip آدرس IP ماشینی است که کانتینر docker در آن ایجاد شده است

اگر می‌خواهید دستگاه ویندوز خود را نظارت کنید، می‌توانید یک صادرکننده ویندوز را از اینجا نصب کنید. پس از نصب می توانید سرویس را برای راه اندازی صادرکننده ویندوز راه اندازی کنید

پیکربندی سرور Prometheus

vim /opt/prometheus/prometheus.yml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

prometheus.yml

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node-exporter'
    static_configs:
      - targets: ['ubuntu_id:9100']
  # ubuntu_ip is the IP address where node exporter is installed

  # for windows exporter
  - job_name: 'win-exporter'
    static_configs:
      - targets: ['windows_ip:9182']
  # windows_ip is the IP address of the window machine
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

docker restart prometheus
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • اکنون می توانید از PromQL برای به دست آوردن بینش در مورد ماشین لینوکس خود با مراجعه استفاده کنید ubuntu_ip:9090

پیکربندی داشبورد Grafana

باز کن ubuntu_ip:3000 در مرورگر شما

ورود به سیستم گرافانا

اکنون از نام کاربری و رمز عبور پیش فرض استفاده کنید admin و admin و پس از آن پرومتئوس را به منبع داده خود اضافه کنید

خانه گرافانا

منبع داده گرافانا
پس از افزودن منبع داده، یک داشبورد برای صادرکننده گره خود با استفاده از کتابخانه زیر، Grafana Dashboards بسازید.

با تشکر از خواندن وبلاگ امیدوارم برای شما مفید بوده باشد. در وبلاگ بعدی سرور Prometheus خود را برای ارسال هشدار بر اساس برخی قوانین پیکربندی خواهیم کرد.

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا