Modul ini disusun untuk mata pelajaran Administrasi Sistem Jaringan (ASJ) jenjang SMK Kelas XII (Fase F - Konsentrasi Keahlian Teknik Komputer dan Jaringan).
Setelah menyelesaikan materi dan praktikum modul ini, peserta didik diharapkan mampu:
Dalam dunia industri teknologi informasi, kegagalan sistem server (downtime) dapat mengakibatkan kerugian finansial, penurunan produktivitas, serta terganggunya operasional penting (seperti ujian sekolah terhenti atau sistem transaksi mati).
Tujuan utama sistem monitoring adalah mengubah paradigma pemeliharaan dari Reaktif (baru bertindak setelah ada pengguna yang mengeluh server mati) menjadi Proaktif (sistem mendeteksi tren kenaikan beban dan memberi peringatan dini sebelum server mengalami crash).
[ IDENTIFIKASI AWAL ] [ ANALISIS METRIK ] [ AKSI PERBAIKAN ]
Node Exporter / SNMP --> Prometheus & Grafana --> Alertmanager ke Telegram
(Scrape CPU, RAM, Disk) (Visualisasi Grafik) (Sysadmin Cepat Menangani)SNMP adalah protokol standar industri pada Application Layer (UDP Port 161 untuk polling, Port 162 untuk Trap) yang dirancang untuk mengumpulkan informasi status dan mengonfigurasi perangkat jaringan (Router, Switch, Server, Access Point, Printer Jaringan, dan UPS).
+-------------------------------------------------------------+
| NMS (NETWORK MANAGEMENT SYSTEM) |
| Contoh: Zabbix, Cacti, PRTG, LibreNMS |
+-------------------------------------------------------------+
^
| SNMP Request (Get / Walk / Set)
v UDP Port 161
+-------------------------------------------------------------+
| SNMP AGENT (Router / Switch / Linux) |
| Menyediakan data status perangkat via MIB Tree |
+-------------------------------------------------------------+snmpd di Linux atau opsi SNMP di Router MikroTik/Cisco).1.3.6.1.2.1.1.1.0 : Deskripsi Sistem Perangkat (sysDescr)1.3.6.1.2.1.1.3.0 : Waktu Nyala Perangkat (sysUpTime)1.3.6.1.2.1.2.2.1.10.1 : Total Byte Masuk pada Interface 1 (ifInOctets)| Versi SNMP | Metode Autentikasi | Enkripsi Data | Tingkat Keamanan | Rekomendasi Industri |
|---|---|---|---|---|
| SNMPv1 | Community String (Teks polos) | Tidak Ada (Plaintext) | Sangat Lemah (Rentan sniffing) | Usang (Hindari) |
| SNMPv2c | Community String (misal: "public") | Tidak Ada (Plaintext) | Lemah (Hanya untuk LAN aman) | Populer di LAN Sekolah |
| SNMPv3 | Username + Password Hash (SHA/MD5) | Enkripsi AES-128 / DES | Sangat Kuat (Enterprise) | Wajib untuk Jaringan Terbuka |
Pada infrastruktur server modern dan cloud computing, model monitoring berbasis Time-Series Database (TSDB) dengan arsitektur Pull Model seperti Prometheus telah menjadi standar industri de facto.
+---------------------+ HTTP Scrape (Port 9100) +-----------------------+
| LINUX SERVER TARGET | <------------------------------------------ | PROMETHEUS SERVER |
| [Node Exporter] | ------------------------------------------> | (Time-Series DB) |
+---------------------+ Kirim Metrik Teks Standar +-----------------------+
|
v PromQL Query
+-----------------------+
| GRAFANA DASHBOARD |
| Visualisasi Grafik UI |
+-----------------------+/metrics./proc dan /sys).```promql
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
```
Grafana adalah platform visualisasi dan analitik sumber terbuka terdepan di dunia yang dapat terhubung ke berbagai sumber data (Data Sources) seperti Prometheus, InfluxDB, Elasticsearch, MySQL, dan Zabbix.
Jika seorang administrator jaringan membutuhkan informasi diagnostik kinerja sistem secara instan dalam hitungan detik tanpa perlu menyiapkan database kompleks, Netdata adalah pilihan terbaik.
+-----------------------------------------------------------------------------------------+
| FITUR NETDATA |
+-----------------------------------------------------------------------------------------+
| • Instalasi satu baris perintah instan |
| • Resolusi metrik per 1 DETIK (Real-time micro-second granularity) |
| • Dashboard Web GUI terintegrasi langsung di port 19999 |
| • Sangat ringan: hanya memakai ~1-2% utilisasi CPU single-core |
| • Deteksi otomatis ratusan aplikasi (Nginx, MariaDB, Docker, Postfix, BIND) |
+-----------------------------------------------------------------------------------------+Siswa bertugas membangun infrastruktur monitoring terpusat untuk memantau server produksi laboratorium ASJ. Paket yang dipasang meliputi: Node Exporter pada server target, serta Prometheus dan Grafana pada server monitoring.
sudo apt update
sudo apt install prometheus-node-exporter -y
# Verifikasi Node Exporter berjalan pada port 9100
sudo systemctl enable --now prometheus-node-exporter
curl -s http://localhost:9100/metrics | head -n 20sudo apt install prometheus -yEdit file konfigurasi /etc/prometheus/prometheus.yml untuk menambahkan target scrape:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'server-lab-asj'
static_configs:
- targets: ['127.0.0.1:9100'] # Atau IP server target lainRestart layanan Prometheus dan pastikan berjalan:
sudo systemctl restart prometheus
sudo systemctl status prometheusBuka browser dan akses http://ip-server:9090 untuk membuka dashboard internal Prometheus dan menguji query PromQL.
Tambahkan repositori resmi Grafana dan pasang paketnya:
sudo apt install -y apt-transport-https software-properties-common wget
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana -y
sudo systemctl enable --now grafana-serverhttp://ip-server:3000.http://localhost:9090, lalu klik tombol Save & Test hingga muncul notifikasi warna hijau "Successfully queried the Prometheus API".1860 (Node Exporter Full), lalu klik Load.@BotFather dan catat API_TOKEN.CHAT_ID obrolan Anda melalui bot @userinfobot.node_load1 > 4.0 selama 5 menit berturut-turut, picu pesan peringatan darurat ke Telegram./proc dan menyediakannya untuk di-scrape oleh server Prometheus!