Bagaimana sebuah website dapat "berkomunikasi" dengan perangkat jaringan fisik seperti router dan switch secara langsung ?
Pertanyaan ini sering menjadi tantangan bagi para developer dan administrator jaringan . Banyak yang mengalami kesulitan dalam memahami metode pengambilan data dari perangkat keras, mengintegrasikan skrip monitoring dengan aplikasi web, hingga membangun visibilitas (observability) data metrik secara real-time .
Dalam webinar terbaru bersama pemateri dari UNESA dan Radnet Digital Indonesia (Andy Hikmal P., Darian Rizaludin, dan Faiz M. Hakim), diperkenalkan sebuah solusi arsitektur bernama NetPulse Monitoring System . Sistem ini mengupas tuntas cara mengintegrasikan perangkat jaringan ke sebuah dashboard interaktif.
Pertanyaan ini sering menjadi tantangan bagi para developer dan administrator jaringan
Dalam webinar terbaru bersama pemateri dari UNESA dan Radnet Digital Indonesia (Andy Hikmal P., Darian Rizaludin, dan Faiz M. Hakim), diperkenalkan sebuah solusi arsitektur bernama NetPulse Monitoring System
Berikut adalah rangkuman arsitektur dan implementasi dari NetPulse:
1. Berikut adalah rangkuman arsitektur dan implementasi dari NetPulse:
Untuk kebutuhan development dan testing, kita tidak harus memiliki perangkat keras fisik . Proyek ini menggunakan GNS3, sebuah perangkat lunak simulasi jaringan yang mampu menjalankan router (seperti MikroTik CHR dan OpenWRT) secara virtual.
2. Lima Lapisan Arsitektur NetPulse
Sistem NetPulse dibangun di atas 5 lapisan utama yang saling terintegrasi :
- Lapisan 1: Perangkat Jaringan: Terdiri dari router (MikroTik/OpenWRT) dan switch yang dikonfigurasi menggunakan protokol SNMP v2c untuk pembacaan metrik dan ICMP untuk status konektivitas
. - Lapisan 2: Pengumpulan Data (Data Collection): Menggunakan script Python (
ping_monitor.py,snmp_collector.py, danbandwidth.py) yang berjalan otomatis di latar belakang setiap 30-60 detik . Skrip ini menarik data seperti uptime, trafik interface, dan latensi (ping). - Lapisan 3: Laravel dan API: Alih-alih berkomunikasi langsung dengan router, aplikasi backend berbasis Laravel memanggil endpoint REST API yang diekspos melalui FastAPI Python
. Proses berat di latar belakang ditangani oleh Laravel Job Queue. - Lapisan 4: Perancangan Database: Data real-time disimpan secara lokal di MariaDB dan dibatasi jumlah barisnya (offset) agar query tetap ringan
. Secara berkala (setiap 60 menit), data historis di-backup ke sistem cloud Supabase (PostgreSQL) . - Lapisan 5: Visualisasi Dashboard: Operator dapat memantau grid perangkat yang aktif, grafik trafik bandwidth, riwayat insiden, serta log sistem
.
3. Keamanan Tingkat Tinggi dengan Cloudflare Zero Trust
Salah satu hal paling menarik dari NetPulse adalah pendekatan keamanannya . Mengekspos server lokal ke publik sangatlah berbahaya . Oleh karena itu, endpoint FastAPI (seperti . Hal ini memungkinkan aplikasi Laravel untuk mengakses API secara aman tanpa perlu membuka port firewall ke jaringan publik.
/ping, /devices, /reboot) dibungkus dan diekspos menggunakan Cloudflare Zero Trust TunnelAspek Kritis dalam Implementasi
Jika Anda ingin mencoba membangun sistem serupa, ada beberapa hal krusial yang perlu diperhatikan :
- Pastikan SNMP community string (misalnya: public) sudah diaktifkan pada router.
- Untuk menjalankan ping tanpa akses root di Linux, terapkan command
setcap "cap_net_raw+ep"pada environment agar libraryicmplibPython dapat bekerja dengan baik.
Ingin mencoba secara langsung?
Source code NetPulse bersifat terbuka dan dapat dieksplorasi melalui repository GitHub berikut:
Semoga artikel ini membantu Anda memahami bagaimana mengorkestrasi jaringan dan web development menjadi satu kesatuan sistem yang solid!
hanya di Radnet-Digital.ID