Grafana Alerting

Monitoring Server PostgreSQL Menggunakan Prometheus dan Grafana

Written by ,

| Sep 15, 2022

6 MIN READ

Postgresql Grafana

Apa itu Grafana?

Grafana adalah alat analitik dan visualisasi open source multi-platform yang terdiri dari beberapa panel individu yang disusun dalam dashboard. Panel berinteraksi dengan sumber data yang dikonfigurasi seperti AWS CloudWatch, server Microsoft SQL, Prometheus, MySQL, InfluxDB, dan banyak lainnya. Desain Grafana yang sedemikian rupa sehingga setiap panel terikat ke sumber data. Dashboard Grafana yang berisi beberapa panel dalam satu halaman, membantu memvisualisasikan hasil monitoring dari berbagai sumber data secara bersamaan.

Apa itu Prometheus?

Prometheus adalah alat open-source yang memungkinkan Anda untuk memantau database, VM, dan yang lainnya. Dengan kemampuan pemantauan cloud-native, ada deret waktu data yang mengambil data dari sekelompok eksportir yang Anda gunakan. Untuk mengekspor semua metrik pemantauan sumber daya yang Anda perlukan untuk memantau server database Anda dengan benar adalah exporter. Exporter paling populer adalah node-exporter untuk Prometheus sebagai pemantau sumber daya tingkat sistem, selain itu terdapat juga fitur alert menggunakan Alert-Manager.

Prometheus Alert-Manager, membantu menghasilkan peringatan untuk ambang batas metrik. Terlebih lagi, Anda dapat menggunakan Grafana untuk mengatur dashboard dengan Prometheus, mengamati pola dan perilaku metrik yang telah Anda kumpulkan. Untuk PostgreSQL, Anda juga dapat menggunakan eksportir PostgreSQL untuk mengekspor metrik penting seperti sesi aktif database, sumber daya database, dan replikasi.

Keuntungan dari Grafana dan Prometheus

  • Mereka berbasis Open-Source.
  • Dapat disesuaikan dan memungkinkan untuk membuat dasbor pemantauan Anda sendiri.
  • Memiliki fitur ‘drop down Time picker’ untuk mengakses opsi rentang waktu relatif, opsi penyegaran otomatis, dan mengatur rentang waktu yang khusus.
  • Legenda grafik memberikan informasi dari grafik.
  • Dukungan komunitas yang tersedia secara luas.
  • Mendukung metrik kinerja sistem dan database.
  • Fleksibilitas untuk mengkonfigurasi metrik khusus yang tidak didukung secara default di eksportir PostgreSQL

Bagaimana Cara Mengkonfigurasikan Grafana untuk Pemantauan PostgreSQL?

Hari ini, mari selami lebih dalam jenis pemantauan yang perlu kita pilih untuk server database PostgreSQL dan berbagai alat pemantauan nya. Grafana dikirimkan dengan plugin sumber data PostgreSQL bawaan yang memungkinkan Anda untuk membuat kueri dan memvisualisasikan data dari database yang kompatibel dengan PostgreSQL. Integrasi PostgreSQL untuk dashboard Grafana memungkinkan Anda untuk memvisualisasikan heuristik kinerja penting secara real time seperti Pemantauan Sumber Daya Sistem (CPU, Memori, Penyimpanan, Jaringan), Pemantauan Basis Data (Sesi aktif, Status Replikasi, Kinerja Kueri, dll).

Sekarang, mari konfigurasikan Grafana untuk PostgreSQL Monitoring dengan mengikuti langkah-langkah utama yang disebutkan di bawah ini:

  1. Download dan Install Grafana Pertama kita perlu membuat repositori 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.  https://:3000/

  1. 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

  1. Konfigurasikan Prometheus untuk mendapatkan matriks linux seperti CPU, Memori, dll.
    Prometheus perlu dikonfigurasi untuk 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:
https://:9090/graph

  1. 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://:@:/?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

Targets 

  1. Mengimpor Dashboard Grafana untuk Pemantauan PostgreSQL
  2. Untuk mengimpor dashboard Grafana, Prometheus bertindak untuk mengumpulkan matriks data statistik (yang dalam format biner) dari sistem Operasi dan postgres_exporter bertindak untuk mengumpulkan matriks data database dari PostgreSQL untuk dipantau di Grafana.

welcome to gafana

Pada titik ini kami telah menginstal dan mengkonfigurasi Grafana, PostgreSQL & Prometheus telah ditambahkan sebagai sumber data dan pengumpul matriks postgres_exporter juga telah dikonfigurasi. Kami sekarang dapat menghasilkan grafik baru dengan membuat query manual di bawah fitur dasbor baru atau Anda dapat menggunakan salah satu templat dashboard Grafana yang dibuat sebelumnya untuk memantau PostgreSQL.
Mari kita lihat langkah-langkah di bawah ini untuk mencapai tujuan yang disebutkan di atas:

  1. Pertama, kita perlu menyiapkan dashboard Grafana dengan mengunjungi halaman web Grafana PostgreSQL Dashboard dan memilih dasbor yang sesuai untuk pemantauan PostgreSQL (dalam hal ini untuk Pemantauan Sumber Daya Sistem dan Pemantauan Basis Data).

Postgresql search

  1. Langkah selanjutnya download dashboard Grafana JSON atau copy nomor ID dashboard untuk import ke dashboard Grafana kita.

PostgreSQL DashboardsTangkapan Layar dari Dasbor PostgreSQL Terperinci

  1. Untuk mengimpor file JSON atau ID Dasbor ke dasbor Grafana kami, kami harus mengikuti langkah-langkah yang disebutkan di bawah ini:
    1. Pergi ke bilah menu kiri
    2. Klik ikon dasbor untuk mengimpor ID dasbor atau mengunggah file JSON Dasbor yang telah kita unduh dari Grafana PostgreSQL Dashboard

gafana dashboardTangkapan Layar dari Halaman Utama Grafana

gafana main dashboardTangkapan Layar dari Menu Impor Dasbor Grafana

  1. Setelah melakukan langkah nomor 3 di atas, Anda akan dapat melihat daftar dasbor (gambar referensi di bawah). Sekarang, Anda dapat mengakses dasbor dengan mengklik Dashboard Grafana dan kemudian klik telusuri untuk melihat menu manajemen dasbor.

gafana dash 1Tangkapan Layar Manajemen Dashboard Grafana

  1. Setelah memilih dasbor yang akan dipantau di manajemen dasbor, sekarang kita dapat melihat dasbor untuk memantau server database PostgreSQL kita yang berisi sumber daya sistem dan pemantauan database.

imported databasePemantauan Sumber Daya System

imported database 1Pemantauan Basis Data PostgreSQL

Bagaimana Ashnik Dapat Membantumu?

Kami di Ashnik dapat membantu Anda dengan menawarkan layanan konsultasi, layanan teknis, layanan migrasi, layanan terkelola, dan program pelatihan di beberapa teknologi sumber terbuka dan berbagi dengan Anda pengalaman kami membantu beberapa perusahaan di SEA dan India. Kami dapat membantu Anda menyusun platform database, dan jalur data berkecepatan tinggi, serta merancang ulang aplikasi Anda menggunakan otomatisasi DevOps, Kubernetes, dan arsitektur layanan mikro, serta memfasilitasi adopsi multi-cloud atau hybrid.
Sangat penting bagi sistem pemantauan database untuk menjadi tangguh, terukur, dan fleksibel, sambil tetap mendukung kolaborasi. Ashnik bekerja dengan beberapa mitra teknologi sumber terbuka perusahaan terkemuka seperti Grafana yang menyediakan dasbor yang andal untuk pemantauan.
Ashnik juga memberi Anda kemampuan untuk memantau database PostgreSQL Anda, dengan dasbor yang berarti secara real-time. Kami siap membantu Anda melakukan tindakan tepat waktu melalui keahlian kami dalam layanan, dukungan, dan solusi open source.
Hubungi sekarang untuk konsultasi gratis dengan tim ahli kami!
Apakah artikel ini bermanfaat? Anda mungkin ingin melihat bagaimana Ashnik membantu menyederhanakan migrasi dan otomatisasi data untuk perusahaan periklanan seluler multinasional.


Go to Top