<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://noctkj.net/index.php?action=history&amp;feed=atom&amp;title=Linux_%3A_Monitoring_Server_Dasar_%28htop%2C_netdata%29</id>
	<title>Linux : Monitoring Server Dasar (htop, netdata) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://noctkj.net/index.php?action=history&amp;feed=atom&amp;title=Linux_%3A_Monitoring_Server_Dasar_%28htop%2C_netdata%29"/>
	<link rel="alternate" type="text/html" href="https://noctkj.net/index.php?title=Linux_:_Monitoring_Server_Dasar_(htop,_netdata)&amp;action=history"/>
	<updated>2026-11-12T14:40:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://noctkj.net/index.php?title=Linux_:_Monitoring_Server_Dasar_(htop,_netdata)&amp;diff=1734&amp;oldid=prev</id>
		<title>Maintenance script: Protected &quot;Linux : Monitoring Server Dasar (htop, netdata)&quot;: Proteksi editorial: edit/move sysop ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://noctkj.net/index.php?title=Linux_:_Monitoring_Server_Dasar_(htop,_netdata)&amp;diff=1734&amp;oldid=prev"/>
		<updated>2026-11-12T00:02:25Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/index.php/Linux_:_Monitoring_Server_Dasar_(htop,_netdata)&quot; title=&quot;Linux : Monitoring Server Dasar (htop, netdata)&quot;&gt;Linux : Monitoring Server Dasar (htop, netdata)&lt;/a&gt;&amp;quot;: Proteksi editorial: edit/move sysop ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:02, 12 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>https://noctkj.net/index.php?title=Linux_:_Monitoring_Server_Dasar_(htop,_netdata)&amp;diff=1733&amp;oldid=prev</id>
		<title>Maintenance script: Konsep inti: monitoring server dasar dengan htop dan netdata</title>
		<link rel="alternate" type="text/html" href="https://noctkj.net/index.php?title=Linux_:_Monitoring_Server_Dasar_(htop,_netdata)&amp;diff=1733&amp;oldid=prev"/>
		<updated>2026-11-12T00:02:16Z</updated>

		<summary type="html">&lt;p&gt;Konsep inti: monitoring server dasar dengan htop dan netdata&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Monitoring server&amp;#039;&amp;#039;&amp;#039; sering dianggap pekerjaan &amp;quot;buka &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;, lihat angka, tutup&amp;quot;. Padahal &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; cuma menjawab satu pertanyaan: apa yang terjadi detik ini. Begitu terminal ditutup, jawabannya hilang. Netdata menjawab pertanyaan yang berbeda: sejak kapan ini terjadi, dan apa yang berubah sebelumnya.&lt;br /&gt;
&lt;br /&gt;
Artikel ini menyusun keduanya sebagai satu rantai kerja, bukan dua daftar perintah. Kalau kamu belum pernah memakai &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; atau &amp;lt;code&amp;gt;uptime&amp;lt;/code&amp;gt;, baca dulu dua halaman dasarnya di bagian Materi terkait.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== 🎯 Tujuan ==&lt;br /&gt;
Setelah membaca dan mempraktikkan artikel ini, kamu bisa:&lt;br /&gt;
&lt;br /&gt;
* menjelaskan beda &amp;#039;&amp;#039;&amp;#039;potret sesaat&amp;#039;&amp;#039;&amp;#039; dan &amp;#039;&amp;#039;&amp;#039;riwayat&amp;#039;&amp;#039;&amp;#039; dalam monitoring, plus kapan masing-masing dipakai;&lt;br /&gt;
* membaca layar &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; tanpa salah tafsir: load average, CPU per core, memori, dan swap;&lt;br /&gt;
* membedakan &amp;quot;server sibuk&amp;quot; dari &amp;quot;server menunggu disk&amp;quot;;&lt;br /&gt;
* memasang Netdata di VM latihan dan membaca grafiknya, bukan cuma angka terakhir;&lt;br /&gt;
* menghitung sendiri berapa lama data monitoring tersimpan, dan kapan datanya dibuang;&lt;br /&gt;
* menulis satu alarm sederhana yang benar-benar berbunyi saat ambang terlampaui.&lt;br /&gt;
&lt;br /&gt;
== 📍 Konteks nyata ==&lt;br /&gt;
Bayangkan lab komputer SMK tempatmu praktik. Jam 10.00, semua siswa masuk aplikasi ujian. Sepuluh menit kemudian aplikasi terasa lambat, soal kadang gagal dimuat. Guru membuka &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; di server dan melihat angka CPU &amp;#039;&amp;#039;&amp;#039;4 persen&amp;#039;&amp;#039;&amp;#039;. Kesimpulan cepat: &amp;quot;server sehat, pasti jaringannya.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Tux.png|thumb|Tux, maskot Linux — teman pertama saat membuka server.]]&lt;br /&gt;
&lt;br /&gt;
Dua hari kemudian ketahuan masalahnya bukan jaringan. Disk server menunggu terus, swap terpakai hampir 2 GB, dan &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; memang tidak pernah menunjukkan itu sebagai &amp;quot;CPU tinggi&amp;quot;. Yang menipu adalah caranya membaca: satu angka bagus dipakai untuk membatalkan seluruh keluhan.&lt;br /&gt;
&lt;br /&gt;
Analogi yang enak dipakai: &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; itu &amp;#039;&amp;#039;&amp;#039;termometer&amp;#039;&amp;#039;&amp;#039; yang ditempel di dahi. Netdata itu &amp;#039;&amp;#039;&amp;#039;rekam medis&amp;#039;&amp;#039;&amp;#039; yang menyimpan kurva suhu seminggu. Termometer berguna saat demam sekarang. Tapi dokter yang cuma punya termometer tidak bisa menjawab &amp;quot;sejak kapan demamnya naik&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
🔥 &amp;#039;&amp;#039;&amp;#039;Kasus nyata:&amp;#039;&amp;#039;&amp;#039; di sebuah SMK, server CBT dianggap sehat karena &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; menunjukkan CPU 4 persen. Kenyataannya &amp;lt;code&amp;gt;vmstat&amp;lt;/code&amp;gt; menunjukkan &amp;lt;code&amp;gt;wa&amp;lt;/code&amp;gt; (wait I/O) 60 persen dan swap terpakai 1,9 GB karena &amp;lt;code&amp;gt;innodb_buffer_pool_size&amp;lt;/code&amp;gt; dipasang lebih besar dari RAM. Sekolah sempat membeli RAM baru yang tidak menyelesaikan apa pun. Setelah dipasang grafik 7 hari, pola langsung terlihat: lambat selalu muncul jam 10.00, saat backup harian dan input nilai bertabrakan.&lt;br /&gt;
&lt;br /&gt;
== 🧠 Konsep singkat ==&lt;br /&gt;
Monitoring yang berguna selalu menjawab tiga pertanyaan berurutan:&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Apakah ini normal?&amp;#039;&amp;#039;&amp;#039; — butuh pembanding, bukan angka mentah.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Sejak kapan tidak normal?&amp;#039;&amp;#039;&amp;#039; — butuh riwayat, bukan potret.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Apa yang berubah sebelumnya?&amp;#039;&amp;#039;&amp;#039; — butuh korelasi antar-metrik.&lt;br /&gt;
&lt;br /&gt;
Ketiganya tidak bisa dijawab oleh satu layar &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;. Karena itu monitoring disusun sebagai rantai lima lapis berikut.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Lapis !! Pertanyaan !! Kalau lapis ini bolong&lt;br /&gt;
|-&lt;br /&gt;
| Metric || Angka apa yang diukur? || Kamu sibuk melihat hal yang tidak berhubungan dengan keluhan&lt;br /&gt;
|-&lt;br /&gt;
| Sampel || Seberapa sering diambil? || Lonjakan 2 menit hilang, yang terlihat cuma rata-rata&lt;br /&gt;
|-&lt;br /&gt;
| Retensi || Berapa lama disimpan? || Tidak bisa menjawab &amp;quot;sejak kapan&amp;quot;, cuma &amp;quot;sekarang&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Ambang || Kapan angka dianggap salah? || Grafiknya cantik, tapi tidak ada yang berteriak&lt;br /&gt;
|-&lt;br /&gt;
| Pemberitahuan || Siapa yang diberi tahu? || Alarm berbunyi di layar yang tidak ada orangnya&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Periksa dari kiri ke kanan, dan &amp;#039;&amp;#039;&amp;#039;berhenti di lapis pertama yang gagal&amp;#039;&amp;#039;&amp;#039;. Salah urutan paling sering: orang langsung membahas ambang dan alarm, padahal belum punya riwayat sama sekali.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Tiga alat, tiga tugas ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Alat !! Menyimpan riwayat? !! Paling cocok untuk&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; || Tidak, hilang saat ditutup || Melihat kondisi sekarang dan mencari proses rakus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sar&amp;lt;/code&amp;gt; (paket sysstat) || Ya, ringkas tiap 10 menit || Server tanpa agen, pertanyaan &amp;quot;tadi jam 10 kenapa&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Netdata || Ya, resolusi per detik || Menjawab &amp;quot;sejak kapan&amp;quot; plus alarm otomatis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sar&amp;lt;/code&amp;gt; sengaja disebut karena sering dilupakan: satu paket kecil, tanpa dashboard, tapi cukup untuk menjawab &amp;quot;kemarin jam 10 server kenapa&amp;quot;. Banyak teknisi langsung memasang dashboard besar padahal butuhnya cuma angka historis.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Angka tanpa pembanding bukan informasi ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Baseline&amp;#039;&amp;#039;&amp;#039; adalah potret kondisi normal server kamu sendiri, diambil saat semuanya baik-baik saja. Tanpa baseline, kamu tidak punya dasar untuk bilang &amp;quot;tinggi&amp;quot; atau &amp;quot;rendah&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Contoh: load 4 di server 2 core artinya antrean dua kali lipat kapasitas. Load 4 di server 16 core artinya santai. Angka yang sama, arti yang berlawanan.&lt;br /&gt;
&lt;br /&gt;
📊 &amp;#039;&amp;#039;&amp;#039;Angka penting:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;uptime&amp;lt;/code&amp;gt; menghitung load average dari jumlah proses yang &amp;#039;&amp;#039;&amp;#039;runnable atau uninterruptable&amp;#039;&amp;#039;&amp;#039; (menunggu disk), dirata-ratakan 1, 5, dan 15 menit. Manpage-nya menegaskan load &amp;#039;&amp;#039;&amp;#039;tidak dinormalisasi&amp;#039;&amp;#039;&amp;#039; terhadap jumlah CPU. Jadi selalu bagi dengan &amp;lt;code&amp;gt;nproc&amp;lt;/code&amp;gt; sebelum panik.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Kenapa CPU rendah tapi terasa lambat ===&lt;br /&gt;
Ada dua penyebab yang paling sering dan paling sering terlewat:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Menunggu disk (iowait).&amp;#039;&amp;#039;&amp;#039; Proses &amp;quot;runnable&amp;quot; tapi menunggu data dari disk. CPU menganggur, pengguna tetap menunggu.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Swap.&amp;#039;&amp;#039;&amp;#039; Memori penuh, sebagian isi RAM dipindah ke disk. Setiap akses ke bagian itu jadi ratusan kali lebih lambat.&lt;br /&gt;
&lt;br /&gt;
⚠️ &amp;#039;&amp;#039;&amp;#039;Hati-hati:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; menampilkan &amp;lt;code&amp;gt;CPU%&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;#039;per core&amp;#039;&amp;#039;&amp;#039;, bukan total. Satu program yang tidak multithread di server 2 core maksimal hanya menyentuh 100 persen dari 200 persen kapasitas. Ini disebut &amp;quot;Irix mode&amp;quot; dan sengaja dipakai supaya kamu tahu core mana yang bekerja.&lt;br /&gt;
&lt;br /&gt;
🧪 &amp;#039;&amp;#039;&amp;#039;Uji cepat:&amp;#039;&amp;#039;&amp;#039; bandingkan tiga sudut pandang dalam 30 detik:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
uptime; nproc&lt;br /&gt;
free -m&lt;br /&gt;
vmstat 1 3&lt;br /&gt;
cat /proc/pressure/io&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kalau load tinggi tapi kolom &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; di &amp;lt;code&amp;gt;vmstat&amp;lt;/code&amp;gt; juga tinggi, curigai I/O, bukan CPU.&lt;br /&gt;
&lt;br /&gt;
== 🧩 Istilah penting ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Metric&amp;#039;&amp;#039;&amp;#039; — satu jenis angka yang diukur terus-menerus, misalnya pemakaian CPU atau jumlah koneksi.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sampel (sample)&amp;#039;&amp;#039;&amp;#039; — satu nilai metric pada satu waktu tertentu.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Time series&amp;#039;&amp;#039;&amp;#039; — deretan sampel yang tersimpan berurutan, inilah &amp;quot;rekam medis&amp;quot; server.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Interval / update every&amp;#039;&amp;#039;&amp;#039; — jarak antar sampel. Netdata bawaannya 1 detik, &amp;lt;code&amp;gt;sar&amp;lt;/code&amp;gt; 10 menit.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Retensi&amp;#039;&amp;#039;&amp;#039; — berapa lama data disimpan sebelum dibuang.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Baseline&amp;#039;&amp;#039;&amp;#039; — potret kondisi normal server kamu sendiri.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Threshold&amp;#039;&amp;#039;&amp;#039; — ambang yang memisahkan &amp;quot;wajar&amp;quot; dan &amp;quot;perlu dilihat&amp;quot;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Alert / alarm&amp;#039;&amp;#039;&amp;#039; — aturan yang mengubah angka jadi pemberitahuan.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;iowait&amp;#039;&amp;#039;&amp;#039; — waktu CPU menganggur karena menunggu disk selesai.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Swap&amp;#039;&amp;#039;&amp;#039; — ruang di disk yang dipakai sebagai tambahan memori.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PSI (Pressure Stall Information)&amp;#039;&amp;#039;&amp;#039; — angka dari kernel yang mengukur berapa lama tugas benar-benar tertahan, bukan cuma seberapa sibuk.&lt;br /&gt;
&lt;br /&gt;
== 🔧 Praktik: dari htop ke netdata ==&lt;br /&gt;
Lab ini memakai VM latihan, bukan server produksi. Siapkan snapshot dulu. Semua perintah dijalankan sebagai user biasa yang punya &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 0: potret baseline ===&lt;br /&gt;
Simpan kondisi awal ke satu berkas, supaya nanti bisa dibandingkan.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/lab-monitor&lt;br /&gt;
{&lt;br /&gt;
  date -Is&lt;br /&gt;
  uptime&lt;br /&gt;
  nproc&lt;br /&gt;
  free -m&lt;br /&gt;
  df -h /&lt;br /&gt;
  vmstat 1 5&lt;br /&gt;
  cat /proc/pressure/cpu /proc/pressure/io /proc/pressure/memory&lt;br /&gt;
} &amp;gt; ~/lab-monitor/baseline-$(date +%F-%H%M).txt&lt;br /&gt;
less ~/lab-monitor/baseline-*.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kalau &amp;lt;code&amp;gt;/proc/pressure&amp;lt;/code&amp;gt; tidak ada, kernel kamu lebih lama dari 4.20. Lewati bagian itu, sisanya tetap jalan.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 1: membaca layar htop dengan benar ===&lt;br /&gt;
Jalankan &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;, lalu baca dari atas ke bawah, bukan dari daftar proses.&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Baris load average&amp;#039;&amp;#039;&amp;#039; — bandingkan dengan &amp;lt;code&amp;gt;nproc&amp;lt;/code&amp;gt;. Load 2 di 2 core artinya penuh.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Meter CPU&amp;#039;&amp;#039;&amp;#039; — kalau dibuat per core, cari core yang penuh, bukan rata-rata.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Meter Mem&amp;#039;&amp;#039;&amp;#039; — perhatikan warna cache; memori bekas cache bukan memori hilang.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Meter Swp&amp;#039;&amp;#039;&amp;#039; — angka bukan nol berarti ada halaman yang sudah pindah ke disk.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Daftar proses&amp;#039;&amp;#039;&amp;#039; — baru di sini kamu cari proses penyebabnya.&lt;br /&gt;
&lt;br /&gt;
💡 &amp;#039;&amp;#039;&amp;#039;Tips:&amp;#039;&amp;#039;&amp;#039; di server produksi pakai &amp;lt;code&amp;gt;htop --readonly&amp;lt;/code&amp;gt;. Semua fitur pengubah (kill, renice) dimatikan, jadi tidak ada risiko salah tekan saat menunjuk layar.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 2: kunci htop yang menghemat waktu ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
htop --readonly            # aman untuk produksi&lt;br /&gt;
htop -d 20                 # refresh tiap 2 detik (satuan persepuluh detik)&lt;br /&gt;
htop -u www-data           # hanya proses satu user&lt;br /&gt;
htop -t                    # tampilan pohon, kelihatan induk-anak&lt;br /&gt;
htop -F &amp;quot;php|mariadb&amp;quot;      # filter nama, dipisah tanda pipa&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Di dalam &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;, tombol yang paling sering dipakai:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt; — ganti kolom urutan, misalnya &amp;lt;code&amp;gt;PERCENT_MEM&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;F4&amp;lt;/code&amp;gt; — filter proses yang sedang tampil.&lt;br /&gt;
* &amp;lt;code&amp;gt;F5&amp;lt;/code&amp;gt; — mode pohon, untuk melihat siapa induk dari proses aneh.&lt;br /&gt;
* &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; — sembunyikan thread, supaya daftar tidak penuh baris kembar.&lt;br /&gt;
* &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; — sembunyikan thread kernel.&lt;br /&gt;
* &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; — filter per user.&lt;br /&gt;
* &amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; — jeda pembaruan, berguna saat membaca angka dengan teliti.&lt;br /&gt;
&lt;br /&gt;
📊 &amp;#039;&amp;#039;&amp;#039;Angka penting:&amp;#039;&amp;#039;&amp;#039; opsi &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; memakai satuan &amp;#039;&amp;#039;&amp;#039;persepuluh detik&amp;#039;&amp;#039;&amp;#039;. Nilai di bawah 1 dinaikkan jadi 1, nilai di atas 100 diturunkan jadi 100. Artinya rentang nyatanya 0,1 sampai 10 detik.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 3: membuat beban sendiri ===&lt;br /&gt;
Supaya tidak menebak, buat beban terkendali lalu amati. Beban CPU dulu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
for i in $(seq 1 &amp;quot;$(nproc)&amp;quot;); do&lt;br /&gt;
  timeout 90 bash -c &amp;#039;while :; do :; done&amp;#039; &amp;amp;&lt;br /&gt;
done&lt;br /&gt;
htop --readonly&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Di terminal lain, lihat perubahan angkanya:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
uptime&lt;br /&gt;
vmstat 1 3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Load akan naik mendekati jumlah core, dan tiap core terlihat penuh di &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;. Setelah 90 detik beban berhenti sendiri.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 4: membuktikan htop tidak punya riwayat ===&lt;br /&gt;
Ini bagian yang paling penting untuk dipahami.&lt;br /&gt;
&lt;br /&gt;
# Saat beban masih jalan, catat angka load di &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Tutup &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; dengan &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Tunggu beban selesai, lalu buka &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; lagi.&lt;br /&gt;
&lt;br /&gt;
Angka load sudah turun, dan &amp;#039;&amp;#039;&amp;#039;tidak ada satu pun jejak&amp;#039;&amp;#039;&amp;#039; bahwa tadi ada lonjakan. Bukan bug — &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; memang tidak menyimpan apa pun. Di titik inilah Netdata masuk.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 5: memasang netdata ===&lt;br /&gt;
Netdata adalah agen monitoring yang mengumpulkan metric tiap detik, menyimpannya ke disk, dan menyediakan dashboard sendiri di port 19999.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install -y curl&lt;br /&gt;
curl -fsSL -o /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh&lt;br /&gt;
sudo sh /tmp/netdata-kickstart.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skrip ini butuh akses root dan internet, serta menulis ke &amp;lt;code&amp;gt;/etc/netdata&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;/var/lib/netdata&amp;lt;/code&amp;gt;. Di server produksi, baca dulu skripnya dan jalankan di luar jam sibuk.&lt;br /&gt;
&lt;br /&gt;
Verifikasi cepat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
systemctl is-active netdata&lt;br /&gt;
ss -tlnp | grep 19999&lt;br /&gt;
curl -s localhost:19999/api/v1/info&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Akses dashboard paling aman lewat terowongan SSH, bukan membuka port ke internet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
ssh -L 19999:localhost:19999 server@192.168.100.240&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lalu buka &amp;lt;code&amp;gt;http://localhost:19999&amp;lt;/code&amp;gt; di browser komputermu.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 6: membaca grafik, bukan angka ===&lt;br /&gt;
Di dashboard, ubah rentang waktu ke 15 menit, lalu 3 jam, lalu 7 hari. Perhatikan tiga hal:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Bentuk kurva&amp;#039;&amp;#039;&amp;#039;, bukan nilai terakhir. Naik-turun teratur biasanya pola jadwal.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Titik perubahan&amp;#039;&amp;#039;&amp;#039; — cari jam saat kurva berubah perilaku.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Anomali&amp;#039;&amp;#039;&amp;#039; — versi terbaru punya deteksi anomali berbasis machine learning. Anggap sebagai petunjuk, bukan vonis.&lt;br /&gt;
&lt;br /&gt;
💡 &amp;#039;&amp;#039;&amp;#039;Tips:&amp;#039;&amp;#039;&amp;#039; saat ada keluhan &amp;quot;lambat&amp;quot;, jangan langsung buka grafik CPU. Buka dulu &amp;lt;code&amp;gt;system.cpu&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;system.ram&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;disk.io&amp;lt;/code&amp;gt;, dan &amp;lt;code&amp;gt;system.io&amp;lt;/code&amp;gt; pada rentang waktu keluhan. Penyebab paling sering justru di disk, bukan CPU.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 7: memeriksa retensi ===&lt;br /&gt;
Retensi menentukan sejauh apa kamu bisa melihat ke belakang. Buka konfigurasi:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
sudo /etc/netdata/edit-config netdata.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cari bagian &amp;lt;code&amp;gt;[db]&amp;lt;/code&amp;gt;. Nilai bawaan yang perlu kamu tahu:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pengaturan !! Bawaan !! Arti&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;db&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;dbengine&amp;lt;/code&amp;gt; || Data disimpan di disk, bukan cuma di RAM&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;update every&amp;lt;/code&amp;gt; || 1 || Satu sampel per detik&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;storage tiers&amp;lt;/code&amp;gt; || 3 || Tiga tingkat resolusi&lt;br /&gt;
|-&lt;br /&gt;
| Tier 0 || 1 GiB / 14 hari || Resolusi per detik&lt;br /&gt;
|-&lt;br /&gt;
| Tier 1 || 1 GiB / 3 bulan || Resolusi per menit&lt;br /&gt;
|-&lt;br /&gt;
| Tier 2 || 1 GiB / 2 tahun || Resolusi per jam&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
📊 &amp;#039;&amp;#039;&amp;#039;Angka penting:&amp;#039;&amp;#039;&amp;#039; total penyimpanan bawaan sekitar &amp;#039;&amp;#039;&amp;#039;3 GiB&amp;#039;&amp;#039;&amp;#039; untuk metric, dan sekitar 4 GiB bila ditambah basis data metadata. Data dibuang saat &amp;#039;&amp;#039;&amp;#039;salah satu&amp;#039;&amp;#039;&amp;#039; batas tercapai — ukuran atau waktu, mana yang lebih dulu.&lt;br /&gt;
&lt;br /&gt;
Cek nilai yang benar-benar aktif:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
curl -s localhost:19999/netdata.conf | grep -A15 &amp;#039;\[db\]&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
⚠️ &amp;#039;&amp;#039;&amp;#039;Hati-hati:&amp;#039;&amp;#039;&amp;#039; kalau &amp;lt;code&amp;gt;db&amp;lt;/code&amp;gt; diubah jadi &amp;lt;code&amp;gt;ram&amp;lt;/code&amp;gt;, semua riwayat hilang setiap Netdata restart. Dashboard tetap jalan, tapi pertanyaan &amp;quot;sejak kapan&amp;quot; tidak bisa dijawab lagi.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 8: menulis alarm sendiri ===&lt;br /&gt;
Alarm Netdata disimpan sebagai berkas di &amp;lt;code&amp;gt;health.d/&amp;lt;/code&amp;gt;. Buat satu alarm pemakaian RAM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
sudo /etc/netdata/edit-config health.d/ram-usage.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isinya:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 alarm: ram_usage_lab&lt;br /&gt;
    on: system.ram&lt;br /&gt;
lookup: average -1m percentage of used&lt;br /&gt;
 units: %&lt;br /&gt;
 every: 10s&lt;br /&gt;
  warn: $this &amp;gt; 70&lt;br /&gt;
  crit: $this &amp;gt; 85&lt;br /&gt;
  info: RAM terpakai di atas ambang lab&lt;br /&gt;
    to: sysadmin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Terapkan tanpa restart, supaya tidak ada lubang data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
sudo netdatacli reload-health&lt;br /&gt;
curl -s localhost:19999/api/v1/alarms&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Perhatikan baris &amp;lt;code&amp;gt;to: sysadmin&amp;lt;/code&amp;gt;. Tanpa konfigurasi pengiriman notifikasi, alarm hanya berubah warna di dashboard — tidak ada pesan yang keluar. Itu lapis kelima yang sering dilupakan.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 9: menguji alarm dengan beban nyata ===&lt;br /&gt;
Alarm yang belum pernah berbunyi belum bisa dipercaya. Pakai memori terkendali:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
python3 - &amp;lt;&amp;lt;&amp;#039;PY&amp;#039;&lt;br /&gt;
b = bytearray(900 * 1024 * 1024)&lt;br /&gt;
for i in range(0, len(b), 4096):&lt;br /&gt;
    b[i] = 1&lt;br /&gt;
import time&lt;br /&gt;
time.sleep(120)&lt;br /&gt;
PY&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sambil menunggu, pantau di terminal lain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
watch -n 2 &amp;#039;free -m | head -2; curl -s localhost:19999/api/v1/alarms | head -c 300&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alarm harus naik ke &amp;lt;code&amp;gt;WARNING&amp;lt;/code&amp;gt;, lalu kembali normal setelah proses selesai. Kalau tidak pernah berubah, masalahnya bukan di beban — periksa &amp;lt;code&amp;gt;every&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lookup&amp;lt;/code&amp;gt;, dan apakah health benar-benar aktif.&lt;br /&gt;
&lt;br /&gt;
=== 🔹 Langkah 10: bersih-bersih ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
sudo rm -f /etc/netdata/health.d/ram-usage.conf&lt;br /&gt;
sudo netdatacli reload-health&lt;br /&gt;
sudo systemctl disable --now netdata   # hanya untuk VM latihan&lt;br /&gt;
rm -rf ~/lab-monitor&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jangan menonaktifkan Netdata di server yang memang sedang dipakai memantau.&lt;br /&gt;
&lt;br /&gt;
== 🏭 Dipakai di dunia kerja ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sekolah/lab komputer:&amp;#039;&amp;#039;&amp;#039; ujian berbasis komputer berjalan serentak. Monitoring riwayat memisahkan masalah server dari masalah jaringan, sehingga tidak ada pembelian hardware yang sia-sia.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kantor dan UMKM:&amp;#039;&amp;#039;&amp;#039; server aplikasi kasir atau stok. Grafik 14 hari cukup untuk menjawab &amp;quot;sejak kapan lambat&amp;quot; saat pemilik bertanya.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hosting dan VPS kecil:&amp;#039;&amp;#039;&amp;#039; paket 1 vCPU membuat load 1,0 sudah berarti penuh. Alarm otomatis mencegah pembelian paket lebih besar tanpa bukti.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Industri/manufaktur:&amp;#039;&amp;#039;&amp;#039; server produksi atau mesin tidak boleh berhenti mendadak. Alarm dikirim ke operator, bukan ditunggu di dashboard.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ISP dan NOC:&amp;#039;&amp;#039;&amp;#039; banyak server dipantau dari satu titik. Netdata mendukung model parent-child, jadi agen di tiap server mengirim data ke satu penampung.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Freelancer dan remote worker:&amp;#039;&amp;#039;&amp;#039; cukup satu VPS. Terowongan SSH membuat dashboard bisa dibuka dari HP tanpa membuka port ke internet.&lt;br /&gt;
&lt;br /&gt;
🔥 &amp;#039;&amp;#039;&amp;#039;Kasus nyata:&amp;#039;&amp;#039;&amp;#039; sebuah distributor membuka dashboard Netdata ke internet &amp;quot;biar bisa dipantau dari rumah&amp;quot;. Tiga minggu kemudian log akses menunjukkan percobaan login ke aplikasi internal yang alamatnya hanya terlihat dari dashboard. Port ditutup, akses dipindah ke VPN, dan daftar &amp;lt;code&amp;gt;allow connections from&amp;lt;/code&amp;gt; dipersempit ke jaringan kantor.&lt;br /&gt;
&lt;br /&gt;
== ✅ Verifikasi ==&lt;br /&gt;
Cek satu per satu; jangan lanjut kalau baris sebelumnya belum benar.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Yang diperiksa !! Perintah !! Hasil yang diharapkan&lt;br /&gt;
|-&lt;br /&gt;
| Load vs kapasitas || &amp;lt;code&amp;gt;uptime; nproc&amp;lt;/code&amp;gt; || Kamu bisa menyebut load per core&lt;br /&gt;
|-&lt;br /&gt;
| Memori tersedia || &amp;lt;code&amp;gt;free -m&amp;lt;/code&amp;gt; || Kamu membaca kolom &amp;lt;code&amp;gt;available&amp;lt;/code&amp;gt;, bukan &amp;lt;code&amp;gt;free&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Tekanan I/O || &amp;lt;code&amp;gt;vmstat 1 3&amp;lt;/code&amp;gt; || Kolom &amp;lt;code&amp;gt;wa&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;si/so&amp;lt;/code&amp;gt; terbaca&lt;br /&gt;
|-&lt;br /&gt;
| Tekanan kernel || &amp;lt;code&amp;gt;cat /proc/pressure/io&amp;lt;/code&amp;gt; || Ada baris &amp;lt;code&amp;gt;some&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;full&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| htop interaktif || &amp;lt;code&amp;gt;htop --readonly&amp;lt;/code&amp;gt; || Meter dan daftar proses tampil, tidak bisa kill&lt;br /&gt;
|-&lt;br /&gt;
| Netdata hidup || &amp;lt;code&amp;gt;systemctl is-active netdata&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;active&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port benar || &amp;lt;code&amp;gt;ss -tlnp | grep 19999&amp;lt;/code&amp;gt; || Hanya lokal atau alamat VPN&lt;br /&gt;
|-&lt;br /&gt;
| Retensi terbaca || &amp;lt;code&amp;gt;curl -s localhost:19999/netdata.conf&amp;lt;/code&amp;gt; || Bagian &amp;lt;code&amp;gt;[db]&amp;lt;/code&amp;gt; muncul&lt;br /&gt;
|-&lt;br /&gt;
| Alarm terdaftar || &amp;lt;code&amp;gt;curl -s localhost:19999/api/v1/alarms&amp;lt;/code&amp;gt; || Nama alarm buatanmu ada&lt;br /&gt;
|-&lt;br /&gt;
| Riwayat terbukti || dashboard rentang 3 jam || Kurva beban uji tadi masih terlihat&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ⚠️ Kesalahan umum &amp;amp; troubleshooting ==&lt;br /&gt;
Lima jebakan yang paling sering terjadi:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Melihat load tanpa membagi jumlah core.&amp;#039;&amp;#039;&amp;#039; Load 6 di 16 core masih wajar; di 2 core sudah kritis.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Menganggap &amp;lt;code&amp;gt;CPU%&amp;lt;/code&amp;gt; 100 berarti semua core penuh.&amp;#039;&amp;#039;&amp;#039; Itu 100 persen dari satu core.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Membaca kolom &amp;lt;code&amp;gt;free&amp;lt;/code&amp;gt; di &amp;lt;code&amp;gt;free -m&amp;lt;/code&amp;gt;.&amp;#039;&amp;#039;&amp;#039; Cache bisa dilepas; yang menentukan adalah &amp;lt;code&amp;gt;available&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Memasang alarm sebelum punya baseline.&amp;#039;&amp;#039;&amp;#039; Ambang 85 persen terasa masuk akal, padahal server normalnya sudah 88 persen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Mengubah &amp;lt;code&amp;gt;netdata.conf&amp;lt;/code&amp;gt; lalu hanya menjalankan &amp;lt;code&amp;gt;reload-health&amp;lt;/code&amp;gt;.&amp;#039;&amp;#039;&amp;#039; Perubahan &amp;lt;code&amp;gt;netdata.conf&amp;lt;/code&amp;gt; butuh restart; &amp;lt;code&amp;gt;reload-health&amp;lt;/code&amp;gt; hanya membaca ulang berkas alarm.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gejala !! Penyebab sering !! Cek cepat&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;htop: command not found&amp;lt;/code&amp;gt; || Paket belum ada || &amp;lt;code&amp;gt;sudo apt-get install htop&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Load tinggi, CPU rendah || Menunggu disk || &amp;lt;code&amp;gt;vmstat 1 5&amp;lt;/code&amp;gt;, lihat kolom &amp;lt;code&amp;gt;wa&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Server terasa lambat, semua angka wajar || Swap sudah terpakai || &amp;lt;code&amp;gt;free -m&amp;lt;/code&amp;gt;, lihat baris Swap&lt;br /&gt;
|-&lt;br /&gt;
| Daftar proses dobel || Thread ditampilkan || Tekan &amp;lt;code&amp;gt;H&amp;lt;/code&amp;gt; di &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Netdata tidak aktif || Instalasi gagal di tengah || &amp;lt;code&amp;gt;systemctl status netdata&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;journalctl -u netdata&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Dashboard tidak terbuka dari luar || Dibatasi &amp;lt;code&amp;gt;allow connections from&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;curl -sI localhost:19999&amp;lt;/code&amp;gt; dari server&lt;br /&gt;
|-&lt;br /&gt;
| Grafik kosong setelah restart || &amp;lt;code&amp;gt;db = ram&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;curl -s localhost:19999/netdata.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Retensi lebih pendek dari perkiraan || Batas ukuran tercapai lebih dulu || Periksa ukuran tier dan laju metric&lt;br /&gt;
|-&lt;br /&gt;
| Alarm tidak pernah berbunyi || &amp;lt;code&amp;gt;to:&amp;lt;/code&amp;gt; belum dikonfigurasi || Lihat status alarm di dashboard&lt;br /&gt;
|-&lt;br /&gt;
| Netdata makan disk || Bawaan 3 GiB metric || Kecilkan ukuran tier bila perlu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
🧪 &amp;#039;&amp;#039;&amp;#039;Uji cepat:&amp;#039;&amp;#039;&amp;#039; kalau ragu antara &amp;quot;server sibuk&amp;quot; dan &amp;quot;server menunggu&amp;quot;, jalankan &amp;lt;code&amp;gt;vmstat 1 5&amp;lt;/code&amp;gt;. Kolom &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; besar berarti antrean CPU; kolom &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;wa&amp;lt;/code&amp;gt; besar berarti menunggu disk.&lt;br /&gt;
&lt;br /&gt;
== 🔐 Catatan keamanan &amp;amp; etika ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Port 19999 bukan halaman publik.&amp;#039;&amp;#039;&amp;#039; Bawaan &amp;lt;code&amp;gt;allow connections from = localhost *&amp;lt;/code&amp;gt; artinya hampir semua alamat cocok. Selama port bisa dijangkau, dashboard bisa dibuka. Batasi lewat firewall atau VPN.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Dashboard adalah peta infrastruktur.&amp;#039;&amp;#039;&amp;#039; Hostname, alamat IP, nama layanan, dan daftar container terlihat di sana. Informasi itu memudahkan penyerang memilih sasaran.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Pasang agen dari sumber resmi.&amp;#039;&amp;#039;&amp;#039; Skrip instalasi berjalan sebagai root. Simpan berkasnya, periksa isinya, dan jangan menjalankan skrip yang diambil dari tautan acak.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Agen butuh akses baca luas.&amp;#039;&amp;#039;&amp;#039; Sebagian collector membaca &amp;lt;code&amp;gt;/proc&amp;lt;/code&amp;gt; dan statistik sistem. Jalankan sebagai user &amp;lt;code&amp;gt;netdata&amp;lt;/code&amp;gt;, jangan sebagai root penuh tanpa alasan.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Metric bisa menyentuh privasi.&amp;#039;&amp;#039;&amp;#039; Plugin aplikasi dapat menampilkan aktivitas per user. Di lab bersama, jelaskan ke pengguna bahwa aktivitas dipantau.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Uji hanya di mesin sendiri.&amp;#039;&amp;#039;&amp;#039; Membuat beban CPU atau memori di server orang lain tanpa izin sama dengan sengaja memperlambat layanan.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Alarm jangan dikirim ke kanal publik.&amp;#039;&amp;#039;&amp;#039; Nama host dan alamat IP internal sebaiknya tidak muncul di grup terbuka.&lt;br /&gt;
&lt;br /&gt;
== 📌 Kesimpulan ==&lt;br /&gt;
&amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; menjawab &amp;quot;sekarang&amp;quot;. Netdata menjawab &amp;quot;sejak kapan&amp;quot;. Keduanya tidak saling menggantikan, dan justru paling kuat saat dipakai berurutan: &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; untuk menemukan tersangka, Netdata untuk membuktikan kapan dan seberapa lama.&lt;br /&gt;
&lt;br /&gt;
Yang membuat monitoring berguna bukan jumlah grafik, tapi adanya &amp;#039;&amp;#039;&amp;#039;baseline&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;retensi yang cukup&amp;#039;&amp;#039;&amp;#039;, dan &amp;#039;&amp;#039;&amp;#039;alarm yang pernah diuji&amp;#039;&amp;#039;&amp;#039;. Grafik tanpa ambang cuma hiasan; ambang tanpa riwayat cuma tebakan.&lt;br /&gt;
&lt;br /&gt;
Langkah berikutnya: ambil baseline server yang sedang kamu pegang hari ini, lalu tentukan satu saja alarm yang paling relevan — biasanya memori atau kapasitas disk.&lt;br /&gt;
&lt;br /&gt;
== 🔗 Materi terkait ==&lt;br /&gt;
* [[Linux : Perintah htop]] — dasar tombol dan opsi &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt;.&lt;br /&gt;
* [[Linux : Perintah uptime]] — membaca load average dan waktu aktif.&lt;br /&gt;
* [[Linux : Log dan journalctl untuk Troubleshooting]] — bukti kejadian setelah monitoring menunjukkan jamnya.&lt;br /&gt;
* [[Linux : Membuat Service Sendiri dengan systemd]] — menjadikan pemantau buatan sendiri sebagai layanan.&lt;br /&gt;
* [[Linux : Disk, Partisi, dan Filesystem (Mount dan fstab)]] — saat alarm kapasitas disk berbunyi.&lt;br /&gt;
* [[Linux : SSH Hardening Lanjutan (Lima Lapis Kunci Akses)]] — mengamankan akses ke dashboard.&lt;br /&gt;
* [[Linux : Monitoring Server dengan Prometheus]] — alternatif dengan model tarik data.&lt;br /&gt;
* [[Linux : Monitoring Server dengan Cacti]] — alternatif berbasis grafik RRDtool.&lt;br /&gt;
&lt;br /&gt;
== 📚 Referensi ==&lt;br /&gt;
* &amp;lt;code&amp;gt;htop(1)&amp;lt;/code&amp;gt; — Debian bookworm. Opsi &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--readonly&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-F&amp;lt;/code&amp;gt;, kolom &amp;lt;code&amp;gt;PERCENT_CPU&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;PERCENT_NORM_CPU&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;uptime(1)&amp;lt;/code&amp;gt; — procps, Debian bookworm. Definisi load average dan catatan tidak dinormalisasi per CPU.&lt;br /&gt;
* &amp;lt;code&amp;gt;top(1)&amp;lt;/code&amp;gt; — procps, Debian bookworm. Penjelasan Irix mode dan Solaris mode.&lt;br /&gt;
* Netdata — &amp;#039;&amp;#039;Daemon Configuration Reference&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;[global]&amp;lt;/code&amp;gt; dan &amp;lt;code&amp;gt;[db]&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;update every&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;storage tiers&amp;lt;/code&amp;gt;, retensi per tier.&lt;br /&gt;
* Netdata — &amp;#039;&amp;#039;Disk Requirements &amp;amp;amp; Retention&amp;#039;&amp;#039;: bawaan 3 GiB, tier 0 14 hari, tier 1 3 bulan, tier 2 2 tahun.&lt;br /&gt;
* Netdata — &amp;#039;&amp;#039;Configure Health Alerts&amp;#039;&amp;#039;: format &amp;lt;code&amp;gt;alarm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lookup&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;warn&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;crit&amp;lt;/code&amp;gt;, dan &amp;lt;code&amp;gt;netdatacli reload-health&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Netdata — &amp;#039;&amp;#039;Web Server Reference&amp;#039;&amp;#039;: port 19999 dan &amp;lt;code&amp;gt;allow connections from&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Linux kernel — &amp;#039;&amp;#039;Pressure Stall Information&amp;#039;&amp;#039;, &amp;lt;code&amp;gt;/proc/pressure/cpu&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;io&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;memory&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:TKJ]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>