Monitoring Server Linux Menggunakan Netdata

Kamis, 14 Januari 2021

Monitoring Server Linux Menggunakan Netdata. Netdata adalah tool monitoring yang mengoleksi data sistem, hardware, aplikasi, maupun container secara realtime. Dan yang membuat Netdata sendiri cukup populer adalah konfigurasinya cukup simple. Sehingga kita tidak perlu ribet di awal untuk mulai menggunakan Netdata.

Cara Install Netdata

Cara install yang pertama cukup simple karena kita langsung memasang Netdata Agent ke sistem. Dan kebetulan ada script installernya yang bisa langsung dieksekusi dengan perintah:

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

Cara diatas sebenarnya tidak salah, namun saya pribadi lebih suka langsung dipasang ke container agar lebih mudah manage kedepannya.

Install Netdata dengan Docker

Kalian install docker compose terlebih dahulu. Lalu buat direktori netdata.

mkdir netdata

Lalu masuk direktori tersebut dan buat file docker compose nya.

cd netdata

nano docker-compose.yml

Lalu isinya:

version: '3'
services:
  netdata:
    image: netdata/netdata
    container_name: netdata
    hostname: ibmcloud # set to fqdn of host
    ports:
      - 127.0.0.1:19999:19999
    restart: unless-stopped
    cap_add:
      - SYS_PTRACE
    security_opt:
      - apparmor:unconfined
    volumes:
      - ./netdataconfig/netdata:/etc/netdata
      - netdatalib:/var/lib/netdata
      - netdatacache:/var/cache/netdata
      - /etc/passwd:/host/etc/passwd:ro
      - /etc/group:/host/etc/group:ro
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /etc/os-release:/host/etc/os-release:ro

volumes:
  netdatalib:
  netdatacache:
Tunggu proses pemasangannya selesai.

Nah, selanjutnya netdata bisa diakses melalui alamat 127.0.0.1:19999
Atau, jika kalian ingin mengeksposnya ke publik, kalian bisa gunakan fitur reverse proxy Nginx. Dan karena memang tidak ada autentifikasi di Netdata, kalian bisa tambahkan sendiri menggunakan HTTP Auth di Nginx nya.

Berikut contoh konfigurasi virtualhostnya:
server {
       listen           80;
       server_name      netdata.linuxsec.org;
       server_tokens    off;
       return           301 https://$server_name$request_uri;
}

server {
  listen        443 ssl http2;
  server_name   netdata.linuxsec.org;
  server_tokens off;

  ssl_protocols TLSv1.2 TLSv1.3;          # TLS 1.3 requires nginx >= 1.13.0
  ssl_prefer_server_ciphers on;
  ssl_dhparam /etc/ssl/certs/dhparam.pem; # openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
  ssl_ciphers EECDH+AESGCM:EDH+AESGCM;
  ssl_ecdh_curve secp384r1;               # Requires nginx >= 1.1.0
  ssl_session_timeout  10m;
  ssl_session_cache shared:SSL:10m;
  ssl_session_tickets off;                # Requires nginx >= 1.5.9
  ssl_stapling on;                        # Requires nginx >= 1.3.7
  ssl_stapling_verify on;                 # Requires nginx => 1.3.7
  ssl_early_data off;                     # 0-RTT, enable if desired - Requires nginx >= 1.15.4
  resolver 1.1.1.1 valid=300s;            # Replace with your local resolver
  resolver_timeout 5s;

# HTTP Security Headers
  ssl_certificate /etc/letsencrypt/live/netdata.linuxsec.org/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/netdata.linuxsec.org/privkey.pem;
  root /var/www/netdata/;
  access_log /var/log/nginx/netdata-access.log;
  index index.html;

location / {
         auth_basic           "Login Area";
    auth_basic_user_file /etc/nginx/web-auth/netdata;
    proxy_pass       http://localhost:19999;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_pass_request_headers on;
    proxy_redirect off;
    proxy_buffering off;
    proxy_request_buffering off;
    proxy_intercept_errors on;
  }
}
Ok dan berikut tampilan Netdata nya.


Oke mungkin itu tutorial singkat kali ini, semoga bermanfaat. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Artikel Terkait Server