Cara Memantau Kinerja Ubuntu Menggunakan Netdata


Netdata adalah alat pemantauan dan pemecahan masalah real-time gratis dan bersumber terbuka untuk server cloud, container, aplikasi, dan infrastruktur TI di lokasi. Ini memberikan metrik sistem granular dan real-time yang tinggi seperti kinerja CPU, pemanfaatan RAM & disk, dan statistik bandwidth, dan masih banyak lagi.

Selain itu, Netdata juga menyediakan visualisasi metrik interaktif yang dapat diakses di browser web bersama dengan alarm cerdas yang membantu dalam memecahkan masalah kesalahan sistem.

Teknologi mutakhir dan popularitas Netdata telah membuatnya masuk dalam Forbes cloud 100 bintang baru pada tahun 2020, dan ini bukanlah prestasi yang berarti. Faktanya, pada saat panduan ini ditulis, ia telah menerima hampir 50.000 bintang Github.

Ada dua cara yang dapat Anda gunakan untuk menginstal Netdata. Anda dapat langsung menjalankan skrip otomatis pada shell BASH. Ini akan memperbarui sistem Anda dan memulai instalasi Netdata. Alternatifnya, Anda dapat mengkloning repositori Git Netdata dan kemudian menjalankan skrip otomatis. Metode pertama sederhana dan mudah dan itulah yang akan kita fokuskan dalam panduan ini.

Dalam artikel ini, kita akan melihat bagaimana Anda dapat menginstal Netdata di Ubuntu untuk memantau pemantauan kinerja, dan kesehatan server dan aplikasi secara real-time.

Platform yang Didukung

Netdata mendukung distribusi Ubuntu LTS berikut:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Cara Install Netdata di Ubuntu Linux

Untuk memulai instalasi, jalankan perintah di bawah ini pada terminal bash Anda untuk mengunduh dan menjalankan skrip.

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

Selama eksekusi skrip, hal berikut terjadi:

  • Skrip secara otomatis menemukan distribusi Linux Anda, memperbarui daftar paket, dan menginstal semua paket perangkat lunak yang diperlukan.
  • Pohon sumber netdata terbaru diunduh ke jalur /usr/src/netdata.git.
  • Skrip menginstal netdata dengan menjalankan skrip ./netdata-installer.sh dari pohon sumber.
  • Pembaruan dilakukan pada cron.daily untuk memastikan bahwa netdata diperbarui setiap hari.

Saat skrip dijalankan, Anda akan diberikan tips tentang cara mengakses Netdata di browser dan cara mengelolanya sebagai layanan systemd.

Instalasi memakan waktu cukup lama, jadi tunggu sekitar 10 menit dan kembali lagi. Terakhir, Anda akan mendapatkan output di bawah ini saat skrip menyelesaikan instalasi.

Setelah diinstal, mulai, aktifkan, dan verifikasi status Netdata seperti yang ditunjukkan.

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

Secara default, Netdata mendengarkan pada port 19999 dan ini dapat dikonfirmasi menggunakan perintah netstat seperti yang ditunjukkan.

sudo netstat -pnltu | grep netdata

Jika Anda menjalankan UFW, cobalah membuka port 19999 karena ini diperlukan saat mengakses Netdata di browser.

sudo ufw allow 19999/tcp
sudo ufw reload

Terakhir, untuk mengakses Netdata, beralihlah ke browser Anda dan ramban URL berikut

http://server-ip:19999/

Inilah yang menyambut Anda setelah Anda menelusuri URL. Faktanya, Anda akan menyadari bahwa Anda tidak perlu login. Semua metrik sistem akan ditampilkan seperti yang ditunjukkan.

Anda dapat menelusuri berbagai grafik dengan mengeklik metrik pilihan Anda di sidebar kanan dasbor. Misalnya, untuk memeriksa statistik antarmuka jaringan, klik opsi 'Antarmuka Jaringan'.

Mengamankan Netdata dengan Otentikasi Dasar di Ubuntu

Hingga saat ini, siapa pun dapat mengakses dasbor Netdata dan mengintip berbagai metrik sistem. Ini merupakan pelanggaran keamanan dan kami tentu ingin menghindarinya.

Dengan mengingat hal ini, kita akan mengonfigurasi autentikasi HTTP dasar. Kita perlu menginstal paket Apache2-utils yang menyediakan program htpasswd yang akan digunakan untuk mengkonfigurasi nama pengguna dan kata sandi pengguna. Selain itu, kami akan menginstal server web Nginx yang akan bertindak sebagai proxy terbalik.

Untuk menginstal server web Nginx dan paket apache2-utils jalankan perintah.


sudo apt install nginx apache2-utils

Dengan Nginx dan apache2-utils terinstal, kita akan membuat file konfigurasi di dalam direktori /etc/nginx/conf.d. Namun, jangan ragu untuk menggunakan direktori situs-tersedia jika Anda menggunakan Nginx untuk tujuan lain selain Netdata.


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

Di dalam file konfigurasi, pertama-tama kita akan menginstruksikan Nginx untuk mem-proxy permintaan masuk untuk dasbor Netdata. Setelah itu kami akan menambahkan beberapa perintah autentikasi dasar yang hanya memberikan akses kepada pengguna yang berwenang ke dasbor Netdata menggunakan autentikasi nama pengguna/kata sandi.

Berikut konfigurasi keseluruhannya. Berhati-hatilah untuk mengganti perintah server_ip dan example.com dengan alamat IP server dan nama server Anda sendiri.


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;
    }
}

Mari kita pahami konfigurasinya, bagian demi bagian.

Bagian 1:


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

Kami telah menetapkan modul upstream yang disebut netdata-backend yang mereferensikan server web bawaan Netdata menggunakan alamat loopback 127.0.0.1< dan port 19999 yang merupakan port default yang didengarkan Netdata. Perintah keepalive menentukan jumlah maksimum koneksi menganggur yang dapat tetap terbuka.

Seksi 2:


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

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Ini adalah bagian blok server Nginx utama. Baris pertama menentukan alamat IP eksternal yang harus didengarkan Nginx ketika klien mengirimkan permintaan mereka. Direktif nama_server menentukan nama domain server dan memerintahkan Nginx untuk menjalankan blok server ketika klien memanggil nama domain dan bukan alamat IP eksternal.

Dua baris terakhir menunjukkan otentikasi HTTP sederhana yang mengharuskan pengguna masuk menggunakan nama pengguna dan kata sandi. Modul auth_basic memicu pop-up nama pengguna/kata sandi di browser dengan tulisan “Diperlukan Otentikasi” pada judulnya yang nantinya dapat disesuaikan sesuai preferensi Anda.

Modul auth_basic_user_file menunjuk ke nama file yang akan berisi nama pengguna dan kata sandi pengguna yang diberi wewenang untuk mengakses dashboard Netdata – Dalam hal ini netdata-access. Kami akan membuat file ini nanti.

Bagian 3:

Bagian terakhir adalah blok lokasi yang terdapat dalam blok server. Ini menangani proksi dan meneruskan permintaan masuk ke server web 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;
    }

Untuk autentikasi, kami akan membuat nama pengguna dan sandi untuk pengguna bernama tecmint menggunakan utilitas htpasswd dan menyimpan kredensial di dalam file netdata-access .


sudo htpasswd -c /etc/nginx/netdata-access tecmint

Berikan kata sandi dan konfirmasikan.

Selanjutnya, restart server web Nginx agar perubahan diterapkan.


sudo systemctl restart nginx

Untuk menguji apakah konfigurasi berjalan dengan benar, lanjutkan dan telusuri alamat IP server Anda


http://server-ip

Akan muncul pop-up otentikasi seperti gambar di bawah ini. Berikan nama pengguna dan sandi Anda dan tekan ENTER.

Setelah itu, Anda akan mendapatkan akses ke dasbor Netdata.

Ini membawa kita pada akhir topik kita hari ini. Anda baru saja mempelajari cara memasang alat pemantauan Netdata dan konfigurasi autentikasi HTTP dasar di Ubuntu. Jangan ragu untuk melihat grafik lain di berbagai metrik sistem.