Installing Prometheus on Ubuntu 26.04
Introduction
Dalam era infrastruktur modern dan arsitektur microservices, pengawasan (monitoring) ketersediaan serta performa sistem merupakan kebutuhan krusial. Prometheus hadir sebagai salah satu solusi open-source monitoring & alerting toolkit berstandar industri yang paling populer, terutama dalam ekosistem cloud-native.
Prometheus bekerja menggunakan model pull-based metrics collection, di mana server Prometheus secara berkala menarik (scrape) data metrik dari target terkonfigurasi melalui endpoint HTTP.
Panduan ini akan membahas alur instalasi Prometheus secara manual dari biner (binary) di sistem operasi Ubuntu 26.04 LTS, pengaturan izin akses system user, hingga konfigurasi berkala agar Prometheus dapat berjalan sebagai systemd service yang stabil.
Configuration
Step 1: Install package prometheus
Secara default di Ubuntu 26.04 itu sudah tersedia package prometheus pada default repo ubuntu. Jadi kita tidak instalasi secara manual.
sudo apt update && sudo apt upgrade -y
sudo apt install prometheus
Step 2: Enable UFW (jika diaktifkan)
sudo ufw allow 9090/tcp
Step 3: Install new UI
Karena kita menggunakan package default dari repo ubuntu, UI baru belum di install. Kita harus install secara manual
sudo /usr/share/prometheus/install-ui.sh
sudo systemctl restart prometheus
Prometheus sudah bisa digunakan

Enchanment
Membuat Basic Auth untuk akses ke Prometheus API
Membuat script hash menggunakan python bcrypt
cd ~
sudo apt install python3-bcrypt -y
cat << EOF > gen-pass.py
import getpass
import bcrypt
# 1. Meminta input password dari user
password = getpass.getpass("password: ")
# 2. Membuat hash bcrypt
hashed_password = bcrypt.hashpw(password.encode("utf-8"), bcrypt.gensalt())
hash_str = hashed_password.decode()
# 3. Menyusun format teks YAML yang Anda inginkan
config_content = f"""basic_auth_users:
admin: {hash_str}
"""
# 4. Menulis dan menyimpan langsung ke file web-config.yml
nama_file = "web.yml"
with open(nama_file, "w") as file:
file.write(config_content)
print(f"\n[Sukses] Hash berhasil dibuat dan langsung disimpan ke file '{nama_file}'!")
print("Berikut adalah isi filenya:")
print(config_content)
EOF
Buat password dengan menjalankan script tersebut
python3 gen-pass.py
Pindahkan file web.ymldan ubah permission
sudo mv web.yml /etc/prometheus/
sudo chown prometheus /etc/prometheus/web.yml
sudo chmod 600 /etc/prometheus/web.yml
Ubah service konfigurasi agar bisa menggunakan hashing yang sudah dibuat
sudo nano /usr/lib/systemd/system/prometheus.service
Cara bagian ExecStart kemudian ubah menjadi dibawah ini
ExecStart=/usr/bin/prometheus --web.config.file=/etc/prometheus/web.yml $ARGS
Restart service prometheus
sudo systemctl daemon-reload
sudo systemctl restart prometheus
