سیستم های مانیتورینگ با پرومتئوس و گرافانا: راهنمای جامع
در این وبلاگ ما یک راهنمای گام به گام برای ساختن سیستم مانیتورینگ شما برای دستگاه های شما خواهیم داشت. در این راهنما ما یک سرور 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 خود را برای ارسال هشدار بر اساس برخی قوانین پیکربندی خواهیم کرد.