Salah satu fitur paling kuat namun sering kurang dimanfaatkan adalah DNS-based Service Discovery (DNS SD).
Mekanisme ini memungkinkan Prometheus secara dinamis menemukan target monitoring melalui pencarian DNS, yang sangat berguna dalam lingkungan yang dinamis seperti Kubernetes atau infrastruktur microservices.
Apa Itu DNS Service Discovery?
DNS Service Discovery adalah metode di mana Prometheus menggunakan pencarian DNS untuk menemukan target yang akan dimonitor.
Alih-alih mendaftarkan setiap target secara manual dalam konfigurasi, Prometheus akan melakukan query DNS untuk mendapatkan daftar IP address atau hostname yang kemudian akan menjadi target scraping.
Keuntungan DNS Service Discovery
- Dinamis, Target bisa datang dan pergi tanpa perlu mengubah konfigurasi Prometheus
- Sederhana, Menggunakan infrastruktur DNS yang sudah ada
- Efisien, Mengurangi konfigurasi manual yang rawan error
- Skalabel, Cocok untuk lingkungan dengan banyak instansi yang berubah-ubah
Konfigurasi DNS Service Discovery Record A
Buatkan sebuah dns record A, contoh disini akan memasukan IP Public yang menjalankan Node Exporter yang pointing ke subdomain.

Tambahkan dns_sd_config pada configuration prometheus dan simpan.
– job_name: server-linux-via-dns # job
dns_sd_configs:
– names:
– domain/ subdomain
type: A
port: 9100

Matikan service prometheus, lalu jalankan ulang dan lihat status prometheus. Pastikan running berwarna hijau.
sudo systemctl stop prometheus
sudo systemctl start prometheus
sudo systemctl status prometheus
Selanjutnya akses dashboard prometheus pada browser, masuk ke menu Status => Service discovery => Cari “server-linux-via-dns“.
Jika ingin menambahkan machine, tinggal memasukan IP Public dengan domain/subdomain sama pada dns record A.

Implementasi DNS SD memerlukan perencanaan yang matang, terutama dalam hal desain naming convention DNS dan strategi refresh interval.
Namun, investasi ini akan terbayar dengan pengelolaan monitoring yang lebih efisien dan responsif terhadap perubahan infrastruktur.

