استفاده از ابزار 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_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])