رفتن به محتوای اصلی
کرگدن | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش کامل Netdata: نصب، راه‌اندازی و استفاده از تمامی امکانات و محیط کاربری

آموزش کامل Netdata: نصب، راه‌اندازی و استفاده از تمامی امکانات و محیط کاربری

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

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

فهرست مطالب

  1. Netdata چیست؟
  2. ویژگی‌های کلیدی Netdata
  3. پیش‌نیازهای نصب Netdata
  4. نصب Netdata
    • 4.1. نصب با استفاده از اسکریپت اتوماتیک
    • 4.2. نصب از سورس کد
  5. توضیح خط به خط اسکریپت نصب
  6. راه‌اندازی و پیکربندی اولیه Netdata
  7. آشنایی با محیط کاربری Netdata
  8. استفاده از تمامی امکانات Netdata
    • 8.1. مانیتورینگ منابع سیستم
    • 8.2. مانیتورینگ شبکه
    • 8.3. مانیتورینگ دیتابیس‌ها
    • 8.4. پیکربندی هشدارها و نوتیفیکیشن‌ها
  9. پیکربندی امنیتی Netdata
  10. یکپارچه‌سازی Netdata با ابزارهای دیگر
  11. نکات مهم در بهینه‌سازی و استفاده از Netdata
  12. عیب‌یابی و حل مشکلات رایج
  13. جمع‌بندی

1. Netdata چیست؟

Netdata یک ابزار متن‌باز و رایگان برای مانیتورینگ Real-Time سیستم‌ها و برنامه‌ها است. این ابزار با ارائه‌ی داشبوردهای تعاملی و زیبا، به مدیران سیستم و توسعه‌دهندگان امکان می‌دهد تا به صورت دقیق و لحظه‌ای عملکرد سرورها و سرویس‌های خود را نظارت کنند.

2. ویژگی‌های کلیدی Netdata

  • مانیتورینگ Real-Time: ارائه‌ی داده‌ها در لحظه با دقت ثانیه.
  • رابط کاربری گرافیکی و تعاملی: داشبوردهای زیبا و قابل تنظیم.
  • نصب و راه‌اندازی آسان: امکان نصب با یک خط فرمان.
  • پشتیبانی از انواع سیستم‌ها و سرویس‌ها: مانند CPU، RAM، دیسک، شبکه، دیتابیس‌ها و...
  • پیکربندی هشدارها: امکان تنظیم هشدارها و ارسال نوتیفیکیشن.
  • متن‌باز و رایگان: بدون نیاز به لایسنس یا پرداخت هزینه.

3. پیش‌نیازهای نصب Netdata

قبل از شروع نصب، اطمینان حاصل کنید که سرور یا سیستم شما دارای شرایط زیر است:

  • سیستم‌عامل: لینوکس (توزیع‌های مختلف مانند Ubuntu، CentOS، Debian و...)
  • دسترسی ریشه (Root): یا کاربری با دسترسی sudo.
  • دسترسی به اینترنت: برای دانلود بسته‌ها و وابستگی‌ها.
  • نصب بودن بسته‌های پایه‌ای: مانند gcc، make، curl و...

4. نصب Netdata

در این بخش، دو روش برای نصب Netdata را بررسی می‌کنیم:

4.1. نصب با استفاده از اسکریپت اتوماتیک

ساده‌ترین روش نصب Netdata استفاده از اسکریپت نصب اتوماتیک است.

bash <(curl -Ss https://my-netdata.io/kickstart.sh)
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توضیح خط به خط:

  • bash: اجرا کردن یک اسکریپت با استفاده از شل Bash.
  • <( ... ): دستور بین پرانتزها را اجرا کرده و خروجی آن را به عنوان ورودی به bash می‌دهد.
  • curl -Ss https://my-netdata.io/kickstart.sh: دانلود اسکریپت نصب Netdata با استفاده از curl.
    • -S: نمایش خطاها.
    • -s: حالت سکوت (عدم نمایش فرآیند دانلود).
    • URL: آدرس اسکریپت نصب Netdata.

4.2. نصب از سورس کد

اگر تمایل دارید Netdata را از سورس کد نصب کنید، مراحل زیر را دنبال کنید:

مرحله 1: کلون کردن مخزن Netdata

git clone https://github.com/netdata/netdata.git --depth=100
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توضیح:

  • git clone: دانلود مخزن گیت.
  • --depth=100: کلون کردن با تاریخچه محدود برای سرعت بیشتر.

مرحله 2: ورود به دایرکتوری Netdata

cd netdata
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

مرحله 3: اجرای اسکریپت نصب

sudo ./netdata-installer.sh
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توضیح:

  • sudo: اجرای دستور با دسترسی ریشه.
  • ./netdata-installer.sh: اجرای اسکریپت نصب Netdata.

5. توضیح خط به خط اسکریپت نصب

در این بخش، اسکریپت نصب اتوماتیک را به صورت دقیق بررسی می‌کنیم.

اسکریپت نصب:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توضیح خط به خط:

  1. دانلود اسکریپت نصب:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید
    • curl: ابزار خط فرمان برای انتقال داده‌ها با URL.
    • -S: نمایش خطاها.
    • -s: حالت سکوت.
    • URL: آدرس اسکریپت نصب Netdata.
  • اجرای اسکریپت با Bash:

bash <( ... )
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

 

    • <( ... ): اجرای دستور داخل پرانتز و ارائه خروجی به Bash.
    • bash: اجرای اسکریپت دانلود شده.

اسکریپت نصب چه کار می‌کند؟

  • بررسی پیش‌نیازها و وابستگی‌ها.
  • دانلود سورس کد Netdata.
  • کامپایل و نصب Netdata.
  • تنظیم سرویس Netdata برای اجرا به عنوان دیمون.

6. راه‌اندازی و پیکربندی اولیه Netdata

پس از نصب، Netdata به صورت خودکار به عنوان یک سرویس سیستم شروع به کار می‌کند.

بررسی وضعیت سرویس Netdata

sudo systemctl status netdata
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توضیح:

  • sudo systemctl status netdata: نمایش وضعیت سرویس Netdata.

دسترسی به داشبورد Netdata

  • آدرس محلی: http://localhost:19999
  • آدرس سرور: http://your-server-ip:19999

نکته: پورت پیش‌فرض Netdata عدد 19999 است.

7. آشنایی با محیط کاربری Netdata

پس از ورود به آدرس Netdata در مرورگر، با داشبورد گرافیکی و تعاملی مواجه می‌شوید.

بخش‌های اصلی داشبورد:

  • نمای کلی سیستم: نمایش وضعیت کلی منابع.
  • CPU Usage: مصرف پردازنده.
  • Memory Usage: مصرف حافظه RAM.
  • Disk I/O: عملیات ورودی/خروجی دیسک.
  • Network Traffic: ترافیک شبکه.
  • Processes: فرآیندهای در حال اجرا.

8. استفاده از تمامی امکانات Netdata

8.1. مانیتورینگ منابع سیستم

Netdata به صورت پیش‌فرض منابع اصلی سیستم را مانیتور می‌کند.

  • CPU: مصرف کل و هر هسته به صورت جداگانه.
  • Memory: حافظه استفاده شده، کش و سواپ.
  • Disk: سرعت خواندن و نوشتن دیسک.
  • Processes: تعداد فرآیندها، Load Average.

8.2. مانیتورینگ شبکه

  • ترافیک ورودی و خروجی: بر اساس اینترفیس‌های شبکه.
  • اتصالات فعال: TCP، UDP، ICMP.
  • پهنای باند مصرفی: برای هر سرویس یا پورت.

8.3. مانیتورینگ دیتابیس‌ها

Netdata از دیتابیس‌های مختلف پشتیبانی می‌کند:

  • MySQL/MariaDB
  • PostgreSQL
  • MongoDB

نحوه فعال‌سازی مانیتورینگ دیتابیس‌ها:

  1. ویرایش فایل پیکربندی مربوطه در /etc/netdata/python.d/.

  2. وارد کردن اطلاعات اتصال به دیتابیس.

  3. راه‌اندازی مجدد Netdata:

sudo systemctl restart netdata
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

8.4. پیکربندی هشدارها و نوتیفیکیشن‌ها

Netdata امکان تنظیم هشدارها بر اساس معیارهای مختلف را دارد.

مراحل تنظیم هشدار:

  1. ویرایش فایل پیکربندی هشدارها:

sudo nano /etc/netdata/health.d/my-alerts.conf
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تعریف هشدار جدید:

8 خط
alarm: my_cpu_usage
  on: system.cpu
  lookup: average -1m percentage of total
  every: 10s
  warn: $this > 80
  crit: $this > 90
  info: CPU usage is high
  to: sysadmin
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

توضیح:

  • alarm: نام هشدار.
  • on: نموداری که هشدار بر اساس آن است.
  • lookup: روش محاسبه مقدار.
  • every: بازه زمانی بررسی.
  • warn و crit: سطوح هشدار.
  • info: پیام توضیحی.
  • to: گیرندگان هشدار.
  1. راه‌اندازی مجدد Netdata:

sudo systemctl restart netdata
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

9. پیکربندی امنیتی Netdata

برای محافظت از دسترسی غیرمجاز به Netdata، می‌توان اقدامات امنیتی زیر را انجام داد:

9.1. محدود کردن دسترسی با فایروال

  • بستن پورت 19999 برای عموم و باز کردن آن فقط برای IP‌های مشخص.
sudo ufw allow from your_ip_address to any port 19999
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

9.2. تنظیم احراز هویت با استفاده از Nginx

  1. نصب Nginx:

sudo apt install nginx
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ایجاد فایل رمز عبور:

2 خط
sudo apt install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd username
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

پیکربندی Nginx به عنوان پروکسی معکوس:

sudo nano /etc/nginx/sites-available/netdata.conf
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

محتوا:

12 خط
server {
    listen 80;
    server_name your_domain;

    location / {
        proxy_pass http://localhost:19999/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        auth_basic "Protected";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

فعال‌سازی پیکربندی:

2 خط
sudo ln -s /etc/nginx/sites-available/netdata.conf /etc/nginx/sites-enabled/
sudo systemctl restart nginx
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

10. یکپارچه‌سازی Netdata با ابزارهای دیگر

10.1. اتصال به Grafana

Netdata می‌تواند به عنوان منبع داده برای Grafana استفاده شود.

مراحل:

  1. نصب Grafana.
  2. افزودن Netdata به عنوان منبع داده Prometheus در Grafana.
  3. ایجاد داشبوردهای سفارشی.

10.2. ارسال نوتیفیکیشن به Slack یا تلگرام

Netdata از ارسال نوتیفیکیشن به سرویس‌های مختلف پشتیبانی می‌کند.

پیکربندی:

  1. ویرایش فایل /etc/netdata/health_alarm_notify.conf.
  2. تنظیم متغیرهای مربوط به سرویس مورد نظر (مثلاً SLACK_WEBHOOK_URL).
  3. فعال‌سازی ارسال هشدارها.

11. نکات مهم در بهینه‌سازی و استفاده از Netdata

  • به‌روزرسانی منظم: Netdata را به آخرین نسخه به‌روزرسانی کنید.
  • مدیریت منابع: در سیستم‌های با منابع محدود، می‌توانید نرخ نمونه‌برداری را کاهش دهید.
  • پشتیبان‌گیری از پیکربندی‌ها: از فایل‌های پیکربندی خود نسخه پشتیبان تهیه کنید.

12. عیب‌یابی و حل مشکلات رایج

12.1. Netdata اجرا نمی‌شود

راه‌حل:

  • بررسی وضعیت سرویس:

sudo systemctl status netdata
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

مشاهده لاگ‌ها:

sudo journalctl -u netdata
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

12.2. داده‌ها در داشبورد نمایش داده نمی‌شوند

راه‌حل:

  • اطمینان از اجرای پلاگین‌های مربوطه.
  • بررسی فایل‌های پیکربندی در /etc/netdata/.

12.3. هشدارها ارسال نمی‌شوند

راه‌حل:

  • بررسی پیکربندی فایل health_alarm_notify.conf.
  • بررسی لاگ‌های Netdata برای پیام‌های خطا.

13. جمع‌بندی

در این مقاله، به صورت جامع و گام به گام با Netdata آشنا شدیم. از نصب و راه‌اندازی تا استفاده از تمامی امکانات و محیط کاربری آن را بررسی کردیم. Netdata با ارائه‌ی مانیتورینگ Real-Time و داشبوردهای زیبا، ابزاری قدرتمند برای نظارت بر سیستم‌ها و سرویس‌ها است.