جدول محتوایی

مانیتورینگ سرور مجازی اوبونتو با ابزار Netdata

Netdata یک ابزار مانیتورینگ و عیب‌یابی لحظه ای و رایگان برای سرورهای مجازی و ابری، کانتینرها، برنامه‌ها و زیرساخت‌های فناوری اطلاعات داخلی است. این ابزار معیارهای گرانول و لحظه ای سیستم مانند عملکرد CPU، استفاده از RAM و دیسک، و آمار پهنای باند را ارائه می دهد. از Netdata میتوان برای مانیتورینگ انواع سرور های مجازی لینوکس از جمله اوبونتو استفاده کرد.

علاوه بر این، Netdata همچنین تجسم‌های متریک تعاملی را ارائه می‌کند که می‌توان در مرورگر وب به همراه آلارم‌های هوشمندی که در عیب‌یابی به آن‌ها دسترسی داشت، دسترسی داشت.

فناوری پیشرفته و محبوبیت Netdata باعث شده است تا در سال 2020 در فهرست 100 ستاره نوظهور ابری فوربس قرار بگیرد. در واقع، در زمان نوشتن این راهنما، تقریبا 50000 ستاره Github دریافت کرده است.

دو روش برای نصب این ابزار مانیتورینگ سرور مجازی وجود دارد. شما می توانید یک اسکریپت خودکار را روی پوسته BASH اجرا کنید. این سیستم شما را به روز می کند و نصب Netdata را آغاز می کند. همچنین می توانید مخزن Git Netdata را شبیه سازی کنید و پس از آن اسکریپت خودکار را اجرا کنید. روش اول ساده و سرراست است و در این راهنما بر روی آن تمرکز خواهیم کرد.

در این مقاله خواهیم دید که چگونه می توانید Netdata را روی اوبونتو نصب کنید تا مانیتورینگ لحظه ای، عملکرد و سلامت سرورها و برنامه ها را کنترل کنید.

 

Netdata از توزیع های Ubuntu LTS زیر پشتیبانی می کند:

  • Ubuntu 20.04
  • 18.04
  • 16.04

خرید سرور اختصاصی ایران از ایرانیکا سرور

نحوه نصب Netdata در لینوکس اوبونتو

برای شروع نصب، دستور زیر را روی ترمینال bash خود اجرا کنید تا اسکریپت دانلود و اجرا شود.

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh)

 

در حین اجرای اسکریپت، موارد زیر رخ می دهد:

  • اسکریپت به طور خودکار توزیع لینوکس شما را شناسایی می کند. لیست پکیج ها را به روز می کند و تمام پکیج های نرم افزاری مورد نیاز را نصب می کند.
  • آخرین درخت منبع netdata در مسیر /usr/src/netdata.git دانلود می شود.
  • اسکریپت با اجرای اسکریپت ./netdata-installer.sh از درخت منبع، netdata را نصب می کند.
  • به روز رسانی برای cron.daily انجام می شود تا اطمینان حاصل شود که netdata به صورت روزانه به روز می شود.

 

ابزار مانیتورینگ سرور مجازی

 

همانطور که اسکریپت اجرا می شود، نکاتی در مورد نحوه دسترسی به Netdata در مرورگر و نحوه مدیریت آن به عنوان یک سرویس systemd به شما داده می شود.

 

مدیریت ابزار در مرورگر

 

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

 

اتمام مراحل نصب netdata

 

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

$ sudo systemctl start netdata
$ sudo systemctl enable netdata
$ sudo systemctl status netdata

 

به طور پیش فرض، Netdata در پورت 19999 گوش می دهد و این را می توان با استفاده از دستور netstat تأیید کرد.

$ sudo netstat -pnltu | grep netdata

 

اگر UFW در حال اجرا دارید، سعی کنید پورت 19999 را باز کنید زیرا هنگام دسترسی به Netdata در مرورگر به این کار نیاز است.

$ sudo ufw allow 19999/tcp
$ sudo ufw reload

 

در نهایت، برای دسترسی به Netdata، به مرورگر خود بروید و آدرس زیر را وارد کنید.

http://server-ip:19999/

 

وقتی URL را وارد می کنید با چنین صفحه ای روبرو میشوید. در واقع، متوجه خواهید شد که نیازی به لاگین نخواهید داشت. تمام معیارهای سیستم نشان داده می شود.

 

محیط netdata

 

می توانید با کلیک بر روی معیارهای دلخواه خود در نوار کناری سمت راست داشبورد، نمودارهای مختلف را ورق بزنید. به عنوان مثال، برای بررسی آمار رابط شبکه، روی گزینه “Network Interfaces” کلیک کنید.

 

ایمن سازی Netdata با احراز هویت اولیه در اوبونتو

تا این مرحله، هر کسی می‌تواند به داشبورد Netdata دسترسی داشته باشد و به معیارهای مختلف سیستم نگاهی بیاندازد. این یک نقض امنیتی است و ما قطعاً می خواهیم از آن جلوگیری کنیم.

با در نظر گرفتن این موضوع، ما قصد داریم تا احراز هویت اولیه HTTP را پیکربندی کنیم. ما باید پکیج apache2-utils را نصب کنیم که برنامه htpasswd را ارائه می دهد. برای پیکربندی نام کاربری و رمز عبور کاربر استفاده می شود. علاوه بر این، وب سرور Nginx را نصب خواهیم کرد که به عنوان پروکسی معکوس عمل می کند.

برای نصب وب سرور Nginx و پکیج apache2-utils دستور زیر را اجرا کنید.

$ sudo apt install nginx apache2-utils

 

با نصب Nginx و apache2-utils، می‌خواهیم یک فایل پیکربندی در پوشه /etc/nginx/conf.d ایجاد کنیم. با این حال، اگر از Nginx برای مقاصد دیگری به غیر از Netdata استفاده می کنید، از دایرکتوری sites-available استفاده کنید.

$ sudo vim /etc/nginx/conf.d/default.conf

 

در داخل فایل پیکربندی، ابتدا به Nginx دستور می‌دهیم تا درخواست‌های ورودی را برای داشبورد Netdata پراکسی کند. پس از آن، برخی از درخواست‌های احراز هویت اولیه را اضافه می‌کنیم. که فقط به کاربران مجاز اجازه دسترسی به داشبورد Netdata را با استفاده از نام کاربری/گذرواژه می‌دهد تا بتوانند مانیتورینگ سرور مجازی خود را انجام دهند.

خرید vps ایران

توجه داشته باشید که دستورات server_ip و example.com را با آدرس IP سرور و نام سرور خود جایگزین کنید.

upstream netdata-backend {
server 127.0.0.1:19999;
keepalive 64;
}

server {
listen server_ip:80;
server_name example.com;

auth_basic "Authentication Required";
auth_basic_user_file netdata-access;

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://netdata-backend;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
}
}

 

برای مانیتورینگ خصوصی سرور مجازی اوبونتو خود باید پیکربندی های خاصی را انجام دهیم.

بخش 1:

upstream netdata-backend {
   server 127.0.0.1:19999;
   keepalive 64;
}

ما یک ماژول بالادستی به نام netdata-backend تعیین کرده‌ایم که به وب سرور داخلی Netdata با استفاده از آدرس loopback 127.0.0.1 و پورت 19999 که پورت پیش‌فرضی است که Netdata به آن گوش می‌دهد، ارجاع می‌دهد. دستورالعمل keepalive حداکثر تعداد اتصالات بیکار را که می توانند باز بمانند تعریف می کند.

 

بخش 2:

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

این بخش اصلی بلوک سرور Nginx است. خط اول آدرس IP خارجی را مشخص می کند که Nginx باید هنگام ارسال درخواست های مشتریان به آن گوش دهد. دستور server_name نام دامنه سرور را مشخص می‌کند و به Nginx دستور می‌دهد تا زمانی که کلاینت‌ها به جای آدرس IP خارجی، نام دامنه را فراخوانی می‌کنند، بلوک سرور را اجرا کند.

دو خط آخر احراز هویت ساده HTTP را نشان می دهد که کاربر را ملزم می کند با استفاده از نام کاربری و رمز عبور وارد سیستم شود. ماژول auth_basic نام کاربری/رمز عبور پاپ آپ را با عنوان “Authentication Required” در مرورگر فعال می کند که بعداً می تواند مطابق با اولویت شما سفارشی شود.

ماژول auth_basic_user_file به نام فایل اشاره می کند که شامل نام کاربری و رمز عبور کاربر مجاز برای دسترسی به داشبورد Netdata خواهد بود.

 

بخش 3:

آخرین بخش بلوک مکان است که در بلوک سرور قرار دارد. این کار پروکسی و ارسال درخواست های دریافتی به وب سرور Nginx را انجام می دهد.

location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }

 

برای احراز هویت، یک نام کاربری و رمز عبور برای کاربری به نام iranicaserver با استفاده از ابزار htpasswd ایجاد می کنیم. سپس اعتبارنامه ها را در فایل netdata-access ذخیره می کنیم.

$ sudo htpasswd -c /etc/nginx/netdata-access iranicaserver 

 

در اینجا رمز عبور را از شما میخواهد. رمز عبور را وارد کنید و آن را تایید کنید.

سپس وب سرور Nginx را مجددا راه اندازی کنید تا تغییرات اعمال شوند.

$ sudo systemctl restart nginx

 

برای آزمایش اینکه آیا پیکربندی درست انجام شده است یا نه، ادامه دهید و آدرس IP سرور خود را در مرورگر وارد کنید.

http://server-ip

 

تست ورود

 

پس از آن، به داشبورد Netdata دسترسی خواهید داشت.

 

مانیتورینگ سرور مجازی

 

شما در این آموزش یاد گیرفتید که چگونه ابزار مانیتورینگ سرور مجازی Netdata را در اوبونتو نصب کنید. از این لحظه به بعد میتوانید بطور کامل و لحظه ای بر عملکرد سیستم خود نظارت کنید.

 

16رای - امتیاز 5 ممنون از امتیازی که دادید..!

دسته بندی شده در: