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

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

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

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

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

باز بودن پورت 9100 در فایروال سرور. Prometheus آمار از طریق این پورت فراخوانی می‌کند.

نصب باینری  Node Exporter

گام ۱) آخرین نسخه بسته ابزار Node Exporter را دریافت کنید. برای این منظور می‌بایست بخش دانلودهای Prometheus را به منظور یافتن آخرین نسخه جستجو کنید و سپس این فرمان را برای دریافت آخرین بسته بروزرسانی نمایید.


cd /tmp

curl -LO https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

گام ۲) استخراج فایل فشرده tarball


tar -xvf node_exporter-0.18.1.linux-amd64.tar.gz

گام ۳) باینری Node Exporter را به مسیر /usr/local/bin انتقال دهید.


sudo mv node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin/

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

گام ۱) ایجاد کاربر node_exporter برای اجرای سرویس Node Exporter


sudo useradd -rs /bin/false node_exporter

گام ۲) در زیرمجموعه systemd، یک فایل سرویس node_exporter بسازید.


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

گام ۳) محتوای فایل سرویس را اضافه کرده و آن را ذخیره نمایید.


[Unit]

Description=Node Exporter

After=network.target

[Service]

User=node_exporter

Group=node_exporter

Type=simple

ExecStart=/usr/local/bin/node_exporter

[Install]

WantedBy=multi-user.target

گام ۴) سیستم را دوباره راه‌اندازی کرده و سرویس Node Exporter را اجرا کنید.


sudo systemctl daemon-reload

sudo systemctl start node_exporter

گام ۵) وضعیت ابزار Node Exporter  را بررسی کنید. این کار برای اطمینان از فعال‌بودن این ابزار صورت می‌گیرد.


sudo systemctl status node_exporter

گام ۶) سرویس Node Exporter را برای شروع به کار سیستم فعال نمایید.


sudo systemctl enable node_exporter

حالا ابزار Node Exporter قادر خواهد بود که آمار را از طریق پورت 9100 استخراج کند.

امکان مشاهده تمام آمار سرور از طریق ‌آدرس سرور در /metrics مطابق زیر ممکن خواهد بود.


http://<server-IP>:9100/metrics

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

اکنون با فعال‌بودن ابزار Node Exporter و اجرای آن در سرور، باید این سرور را به عنوان مقصد یا target در تنظیمات سرور Prometheus وارد کنیم.

نکته: این تنظیمات می‌بایست در سرور Prometheus انجام شوند.

گام ۱) به سرور Prometheus وارد شوید و فایل prometheus.yml را باز کنید.


sudo vi /etc/prometheus/prometheus.yml

گام ۲) در زیر بخش scrape config، مقصد node exporter را مطابق زیر اضافه کنید. همچنین آدرس 10.142.0.3 را با IP سرور خودتان جایگزین نمایید. عبارت “Job name” نیز می‌تواند عنوان هاست یا IP سرور شما باشد که بیشتر برای شناسایی مورد استفاده قرار می‌گیرد.


- job_name: 'node_exporter_metrics'

scrape_interval: 5s

static_configs:

- targets: ['10.142.0.3:9100']

گام ۳) سرویس Prometheus را دوباره راه‌اندازی کنید تا تغییرات اِعمال شوند.


sudo systemctl restart prometheus

حالا اگر وضعیت target را در رابط کاربری وب Prometheus با آدرس http://<prometheus-IP>:9090/targets بررسی کنید، وضعیت را مشابه زیر مشاهده خواهید کرد.

وضعیت ابزار Prometheus Node Exporter

وضعیت ابزار Prometheus Node Exporter

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


node_memory_MemFree_bytes

node_cpu_seconds_total

node_filesystem_avail_bytes

rate(node_cpu_seconds_total{mode="system"}[1m])

rate(node_network_receive_bytes_total[1m])

کوئری‌های آمار Prometheus Node Exporter

کوئری‌های آمار Prometheus Node Exporter