Monitoring Server PostgreSQL Menggunakan
Prometheus dan Grafana
by Azman Agung Nugraha
January 28, 2026
Apa itu Grafana?
Grafana merupakan analytic tools dan visualisasi data open-source yang bisa dipakai di berbagai platform. Grafana menampilkan data dalam bentuk dashboard yang berisi beberapa panel (misalnya grafik, tabel, atau chart). Setiap panel terhubung ke sumber data tertentu, seperti AWS CloudWatch, Microsoft SQL Server, Prometheus, MySQL, dan banyak lainnya. Artinya, Grafana didesain sedemikian rupa sehingga setiap panel biasanya mengambil data dari satu data source. Dengan dashboard ini, kita bisa melihat hasil monitoring dari berbagai sumber data sekaligus dalam satu halaman, jadi lebih mudah untuk memantau dan memahami kondisi sistem secara keseluruhan.
Apa itu Prometheus?
Prometheus adalah alat open-source yang digunakan untuk memantau database, virtual machine (VM), dan berbagai resource lainnya. Dengan pendekatan cloud-native, Prometheus mengumpulkan data dalam bentuk time series yang diambil dari sekumpulan exporter yang digunakan. Exporter berfungsi untuk mengekspor metrik monitoring yang dibutuhkan agar server, termasuk server database, dapat dipantau dengan baik. Exporter yang paling umum digunakan adalah node-exporter, yang berperan sebagai pemantau resource tingkat sistem. Selain itu, Prometheus juga dilengkapi dengan fitur alerting melalui Alert-manager untuk memberikan peringatan ketika terjadi kondisi tertentu.
Prometheus Alertmanager berfungsi untuk mengirimkan peringatan ketika nilai metrik melewati ambang batas yang telah ditentukan. Selain itu, Grafana dapat digunakan bersama Prometheus untuk membangun dashboard monitoring, sehingga pola dan tren metrik yang telah dikumpulkan dapat dipantau dengan lebih jelas. Selain itu, tersedia juga PostgreSQL exporter yang digunakan untuk mengekspor metrik penting, seperti jumlah koneksi database yang aktif, penggunaan resource database, serta status replikasi.
Kontrol Penuh Sistem Anda dengan Grafana & Prometheus
- Berbasis Open-Source, mudah di kembangkan dan diintegrasikan
- Sangat fleksibel dan dapat dikustomisasi, memungkinkan user membuat dashboard pemantauan sesuai kebutuhan.
- Dilengkapi fitur time picker (drop-down) untuk memilih rentang waktu relatif, mengatur auto-refresh, serta menentukan periode waktu tertentu.
- Legenda grafik membantu memahami informasi yang ditampilkan.
- Didukung komunitas yang luas dan aktif, memudahkan troubleshooting dan pengembangan lanjutan.
- Mendukung pemantauan metrik kinerja sistem dan database secara komprehensif.
- Memberikan fleksibilitas dalam mengkonfigurasi metrik khusus, termasuk metrik yang belum tersedia secara default pada Postgres exporter.
Cara Mudah Mengatur Grafana untuk Memantau PostgreSQL
Maintenance Job
Kali ini, kita akan mengulas jenis-jenis pemantauan yang dibutuhkan untuk server database PostgreSQL, sekaligus alat pemantauan yang dapat digunakan. Grafana telah menyediakan plugin sumber data PostgreSQL bawaan, memungkinkan pengguna melakukan kueri dan menampilkan data langsung dari database PostgreSQL.
Melalui integrasi PostgreSQL pada dashboard Grafana, berbagai metrik kinerja dapat dipantau secara real-time, mulai dari penggunaan sumber daya sistem seperti CPU, memori, penyimpanan, dan jaringan, hingga metrik database seperti jumlah sesi aktif, status replikasi, serta performa kueri.
Sekarang, mari konfigurasikan Grafana untuk PostgreSQL Monitoring dengan mengikuti langkah-langkah di bawah ini:
1. Download dan Install Grafana
- Pertama kita perlu membuat repository Grafana untuk mengunduh paket grafana-server.
# vi /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
Install dan hidupkan ‘Grafana service’ dengan menggunakan perintah systemctl.
# yum install grafana -y
# systemctl enable grafana-server
# systemctl start grafana-server
- Setelah itu kita perlu memverifikasi apakah grafana dashboard sudah dapat di akses atau belum, menggunakan alamat IP grafana server dan port sebagai berikut.
http://<IP_Address>:3000/
2. Langkah selanjutnya yaitu adalah untuk mengunduh dan install Prometheus
- Unduh Prometheus binary dengan menggunakan perintah berikut:
# wget
https://github.com/prometheus/prometheus/releases/download/v2.29.1/prometheus-2.29.1.linux-amd64.tar.gz
- Ekstrak sumber instalasi Prometheus pada server.
# tar -xzf prometheus-2.29.1.linux-amd64.tar.gz -C /tmp/prometheus-files
- Ganti nama Prometheus binary file ke folder user di server.
# mv prometheus-2.29.1.linux-amd64 prometheus-files
# cp /root/prometheus-files/prometheus /usr/bin/
# cp /root/prometheus-files/promtool /usr/bin/
- Verifikasi pemasangan Prometheus
# prometheus -V
3. Konfigurasikan Prometheus untuk mendapatkan matriks linux seperti CPU, Memori, dll.
- Prometheus perlu dikonfigurasi sebelum digunakan. Untuk ini kita perlu membuat pengguna dan direktori terlebih dahulu dan kemudian mengatur kepemilikan ke Prometheus.
# sudo useradd –no-create-home –shell /bin/false prometheus
# sudo mkdir /etc/prometheus
# sudo mkdir /var/lib/prometheus
# sudo chown prometheus:prometheus /etc/prometheus
# sudo chown prometheus:prometheus /var/lib/prometheus
- Salin semua file Prometheus ke direktori biner pengguna dan berikan izin menggunakan perintah di bawah ini:
# sudo cp prometheus-files/prometheus /usr/local/bin/
# sudo cp prometheus-files/promtool /usr/local/bin/
# sudo chown prometheus:prometheus /usr/local/bin/prometheus
# sudo chown prometheus:prometheus /usr/local/bin/promtool
# sudo cp -r prometheus-files/consoles /etc/prometheus
# sudo cp -r prometheus-files/console_libraries /etc/prometheus
# sudo chown -R prometheus:prometheus /etc/prometheus/consoles
# sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
- Buat file yml Prometheus
# vi /etc/prometheus/prometheus.yml
global:
scrape_interval: 10s
scrape_configs:
– job_name: ‘prometheus’
scrape_interval: 5s
static_configs:
– targets: [‘10.0.0.153:9090’]
- Ubah kepemilikan file yml menjadi Prometheus.
# chown prometheus.prometheus /etc/prometheus/prometheus.yml
- Buat dan hidupkan Prometheus service.
# vi /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
–config.file /etc/prometheus/prometheus.yml \
–storage.tsdb.path /var/lib/prometheus/ \
–web.console.templates=/etc/prometheus/consoles \
–web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
# sudo systemctl daemon-reload
# sudo systemctl enable prometheus
# sudo systemctl start prometheus
- Verifikasi tampilan Web Prometheus, menggunakan format IP alamat berikut:
http://<IP_Address>:9090/graph
4. Download dan konfigurasikan Postgres_exporter
- Buat direktori untuk Postgres_Exporter dan unduh biner Postgres_exporter
# mkdir /opt/postgres_exporter
# cd /opt/postgres_exporter
# wget https://github.com/wrouesnel/postgres_exporter/releases/download/v0.5.1/
postgres_exporter_v0.5.1_linux-amd64.tar.gz
- Ekstrak file Postgres_Exporter dan salin ke direktori biner pengguna.
# tar -xzvf postgres_exporter_v0.5.1_linux-amd64.tar.gz
# cd postgres_exporter_v0.5.1_linux-amd64
# cp postgres_exporter /usr/local/bin
# cd /opt/postgres_exporter
- Membuat file env Postgres_exporter menggunakan editor teks vi.
# sudo vi postgres_exporter.env
DATA_SOURCE_NAME=”postgresql://<user>:<password>@<IP_Address>:<DB_port>/?sslmode=disable”
- Disebutkan di bawah ini adalah skrip untuk membuat file postgres_exporter service menggunakan editor teks vi.
# vi /etc/systemd/system/postgres_exporter.service
[Unit]
Description=Prometheus exporter for Postgresql
Wants=network-online.target
After=network-online.target
[Service]
User=postgres
Group=postgres
WorkingDirectory=/opt/postgres_exporter
EnvironmentFile=/opt/postgres_exporter/postgres_exporter.env
ExecStart=/usr/local/bin/postgres_exporter
Restart=always
[Install]
WantedBy=multi-user.target
- Hidupkan Postgres_exporter service dan pastikan layanan target telah disetel ke “UP” di UI web Prometheus.
# sudo systemctl daemon-reload
# sudo systemctl start postgres_exporter
# sudo systemctl enable postgres_exporter

Tangkapan Layar dari Prometheus web GUI.
5. Mengimpor Dashboard Grafana untuk Pemantauan PostgreSQL
Dalam proses impor dashboard Grafana, Prometheus berperan dalam mengumpulkan metrik statistik sistem operasi (dalam format biner), sementara postgres_exporter bertugas mengumpulkan metrik database dari PostgreSQL. Seluruh data tersebut kemudian diintegrasikan, diimpor dan divisualisasikan di Grafana untuk mendukung kebutuhan pemantauan secara menyeluruh.

Grafana login page
Pada tahap ini, Grafana telah berhasil diinstal dan dikonfigurasi, dengan PostgreSQL dan Prometheus yang sudah ditambahkan sebagai sumber data, serta postgres_exporter yang telah dikonfigurasi sebagai pengumpul metrik. Selanjutnya, pengguna dapat membuat visualisasi grafik dengan menyusun kueri secara manual melalui fitur dashboard baru, atau memanfaatkan template dashboard Grafana yang telah tersedia untuk memantau PostgreSQL secara lebih cepat dan efisien.
Mari kita lihat langkah-langkah di bawah ini untuk mencapai tujuan yang disebutkan di atas.
- Pertama, kita perlu menyiapkan dashboard Grafana dengan mengunjungi halaman web Grafana PostgreSQL Dashboard dan memilih dashboard yang sesuai untuk pemantauan PostgreSQL (dalam hal ini untuk Pemantauan Sumber Daya Sistem dan Pemantauan Basis Data).

Grafana PostgreSQL Dashboards
- Langkah selanjutnya, download dashboard Grafana JSON atau copy nomor ID dashboard untuk import ke dashboard Grafana kita.

Tangkapan Layar dari Dasbor PostgreSQL Terperinci
- Untuk mengimpor file JSON atau ID Dashboard ke dashboard Grafana, ikuti langkah-langkah yang disebutkan di bawah ini:
- Pergi ke bilah menu kiri
- Klik ikon dashboard untuk mengimpor ID dashboard atau mengunggah file JSON Dasbor yang telah kita unduh dari Grafana PostgreSQL Dashboard.
- Untuk mengimpor file JSON atau ID Dashboard ke dashboard Grafana, ikuti langkah-langkah yang disebutkan di bawah ini:

Tangkapan Layar dari Halaman Utama Grafana

Tangkapan Layar dari Menu Import Dashboard Grafana
- Setelah melakukan langkah nomor 3 di atas, Anda akan dapat melihat daftar dashboard (gambar referensi di bawah). Sekarang, Anda dapat mengakses dashboard dengan mengklik Dashboard Grafana dan kemudian klik telusuri untuk melihat menu manajemen dashboard.

Tangkapan Layar Manajemen Dashboard Grafana
- Setelah memilih dashboard yang akan dipantau di manajemen dashboard, sekarang kita dapat melihat dashboard untuk memantau server database PostgreSQL kita yang berisi sumber daya sistem dan pemantauan database.

Pemantauan Sumber Daya System

Pemantauan Basis Data PostgreSQL