بلاگ/مانیتورینگ سرورهای لینوکس با ابزار Prometheus Node Exporter
به‌روز شده

مانیتورینگ سرورهای لینوکس با ابزار Prometheus Node Exporter

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

1400/04/275446 بازدید
مانیتورینگ سرورهای لینوکس با ابزار Prometheus Node Exporter
استفاده از ابزار Node exporter بهترین روش برای جمع‌آوری آمار و ارقام مرتبط با سرور لینوکس به منظور مانتیورینگ است. در این مطلب قرار است که کاربرد این ابزار را بررسی کنیم. با ما همراه باشید.

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

در این آموزش، نحوه نصب Prometheus node exporter را در یک سرور لینوکس به منظور استخراج آمار نقاط شبکه به سرور  Prometheus فراخواهیم گرفت.

قبل از شروع به کار

ابزار Node Exporter برای اجرا و راه‌اندازی حتماً نیاز به سرور Prometheus نیاز دارد. در صورت تمایل به نصب Prometheus، می‌توانید از راهنمای وبلاگ آریانت در این رابطه استفاده کنید. باز بودن پورت 9100 در فایروال سرور. Prometheus آمار از طریق این پورت فراخوانی می‌کند.

نصب باینری  Node Exporter

گام ۱) آخرین نسخه بسته ابزار Node Exporter را دریافت کنید. برای این منظور می‌بایست بخش دانلودهای Prometheus را به منظور یافتن آخرین نسخه جستجو کنید و سپس این فرمان را برای دریافت آخرین بسته بروزرسانی نمایید.
php
cd /tmpcurl -LO https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
گام ۲) استخراج فایل فشرده tarball
php
tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz
گام ۳) باینری Node Exporter را به مسیر /usr/local/bin انتقال دهید.
php
sudo mv node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/

ایجاد سرویس سفارشی ابزار Node Exporter

گام ۱) ایجاد کاربر node_exporter برای اجرای سرویس Node Exporter
php
sudo useradd -rs /bin/false node_exporter
گام ۲) در زیرمجموعه systemd، یک فایل سرویس node_exporter بسازید.
php
sudo vi /etc/systemd/system/node_exporter.service
گام ۳) محتوای فایل سرویس را اضافه کرده و آن را ذخیره نمایید.
php
[Unit]Description=Node ExporterAfter=network.target[Service]User=node_exporterGroup=node_exporterType=simpleExecStart=/usr/local/bin/node_exporter[Install]WantedBy=multi-user.target
گام ۴) سیستم را دوباره راه‌اندازی کرده و سرویس Node Exporter را اجرا کنید.
php
sudo systemctl daemon-reloadsudo systemctl start node_exporter
گام ۵) وضعیت ابزار Node Exporter  را بررسی کنید. این کار برای اطمینان از فعال‌بودن این ابزار صورت می‌گیرد.
php
sudo systemctl status node_exporter
گام ۶) سرویس Node Exporter را برای شروع به کار سیستم فعال نمایید.
php
sudo systemctl enable node_exporter
حالا ابزار Node Exporter قادر خواهد بود که آمار را از طریق پورت 9100 استخراج کند. امکان مشاهده تمام آمار سرور از طریق ‌آدرس سرور در /metrics مطابق زیر ممکن خواهد بود.
php
http://<server-IP>:9100/metrics

تنظیم سرور به عنوان Target در سرور Prometheus

اکنون با فعال‌بودن ابزار Node Exporter و اجرای آن در سرور، باید این سرور را به عنوان مقصد یا target در تنظیمات سرور Prometheus وارد کنیم. نکته: این تنظیمات می‌بایست در سرور Prometheus انجام شوند. گام ۱) به سرور Prometheus وارد شوید و فایل prometheus.yml را باز کنید.
php
sudo vi /etc/prometheus/prometheus.yml
گام ۲) در زیر بخش scrape config، مقصد node exporter را مطابق زیر اضافه کنید. همچنین آدرس 10.142.0.3 را با IP سرور خودتان جایگزین نمایید. عبارت “Job name” نیز می‌تواند عنوان هاست یا IP سرور شما باشد که بیشتر برای شناسایی مورد استفاده قرار می‌گیرد.
php
- job_name: 'node_exporter_metrics'scrape_interval: 5sstatic_configs:- targets: ['10.142.0.3:9100']
گام ۳) سرویس Prometheus را دوباره راه‌اندازی کنید تا تغییرات اِعمال شوند.
php
sudo systemctl restart prometheus
حالا اگر وضعیت target را در رابط کاربری وب Prometheus با آدرس http://<prometheus-IP>:9090/targets بررسی کنید، وضعیت را مشابه زیر مشاهده خواهید کرد.
وضعیت ابزار Prometheus Node Exporter
وضعیت ابزار Prometheus Node Exporter
همچنین می‌توانید از مرورگر توصیفی Prometheus برای درخواست آمار مرتبط با نقطه شبکه استفاده کنید. در اینجا، برخی از پارامترهای کلیدی را برای این منظور مشاهده می‌کنید.
php
node_memory_MemFree_bytesnode_cpu_seconds_totalnode_filesystem_avail_bytesrate(node_cpu_seconds_total{mode="system"}[1m])rate(node_network_receive_bytes_total[1m])
کوئری‌های آمار Prometheus Node Exporter
کوئری‌های آمار Prometheus Node Exporter