Monitoring Debian 12 Servers with Grafana on Docker: A Step-by-Step Guide


Pantau penggunaan resource server Docker kamu dengan Grafana, Ikuti panduan simpel ini untuk setup lengkap di server Debian 12, mulai dari nol sampai jadi.
Cukup copy-paste, dan semua beres!
Prasyarat
Server dengan OS Debian 12 (kondisi fresh/baru).
Akses root atau user dengan hak
sudo
.
Langkah 1: Update Sistem & Install Kebutuhan Dasar
Pertama, pastikan server kita update dan install paket yang diperlukan.
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg
Langkah 2: Install Docker Engine dan Docker Compose
Kita akan menambahkan repository resmi Docker untuk mendapatkan versi terbaru.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Jangan lupa ketik “y” untuk melanjutkan!
Langkah 3: Siapkan Direktori dan File Konfigurasi
Buat sebuah folder untuk menyimpan file-file konfigurasi kita.
mkdir docker-monitoring
cd docker-monitoring
Sekarang, buat dua file di dalam direktori ini.
1. Buat file prometheus.yml
dengan nano di folder docker-monitoring
copy-paste code dibawah ini.
# prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'cadvisor'
static_configs:
- targets: ['cadvisor:8080']
2. Selanjutnya buat file docker-compose.yml
di folder yang sama
# docker-compose.yml
version: '3.7'
services:
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
command:
- '--config.file=/etc/prometheus/prometheus.yml'
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
grafana:
image: grafana/grafana-oss:latest
container_name: grafana
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- grafana-storage:/var/lib/grafana
depends_on:
- prometheus
volumes:
grafana-storage:
Langkah 4: Jalankan Semua Layanan Monitoring
Dengan satu perintah, kita akan menjalankan Grafana, Prometheus, dan cAdvisor.
docker compose up -d
Tunggu beberapa saat hingga semua image terunduh dan container berjalan. Cek statusnya dengan:
docker compose ps
Langkah 5: Konfigurasi Grafana dan Import Dashboard
Buka browser dan akses ke
http://192.168.20.11:3000
-- sesuaikan dengan ip server andaLogin dengan username
admin
dan passwordadmin
. akan diminta mengganti password.Tambahkan Data Source:
Klik menu Connections di menu kiri -> Data Sources.
Klik Add data source -> Pilih Prometheus.
Pada field URL, masukkan
http://prometheus:9090
.Klik Save & test.
Import Dashboard:
Ketik Import Dashbord pada menu search kanan atas -> pilih Import Dashbord.
Di kolom "Grafana.com dashbord URL or ID", masukkan ID 193 lalu klik Load.
Di halaman selanjutnya, pilih Prometheus sebagai data source.
Klik Import.
Selesai! Dashboard monitoring server Docker Anda kini sudah aktif dan menampilkan semua metrik penggunaan CPU, Memori, Jaringan, dan lainnya untuk setiap container. Simpel, kan?
Subscribe to my newsletter
Read articles from Hendra Juniansyah directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
