Monitoring Haproxy dengan Prometheus, Grafana dan haproxy_exporter, haproxy merupakan sebuah perangkat lunak sumber terbuka yang berfungsi sebagai high avaliability load balancer dan server proxy untuk aplikasi berbasis HTTP dan TCP, setelah sebelumnya saya membahas bagaimana cara me-monitoring layanan MariaDB kali ini saya akan membahas bagaimana cara me-monitoring layanan Haproxy, sebelum melakukan monitoring kita membutuhkan sebuah exporter dan juga stats dari Haproxy.
untuk instalasi prometheus silahkan merujuk ke artikel sebelumnya Instalasi Prometheus di Ubuntu dan Visualisasi Metrics Prometheus dengan Grafana
Mengaktifkan Stats Haproxy
tambahkan konfigurasi berikut pada konfigurasi haproxy
$ vim /etc/haproxy/haproxy.cfg listen stats *:8080 mode http stats enable stats show-legends stats refresh 5s stats uri /stats stats auth admin:pass789
Menjalankan Haproxy Exporter
unduh haproxy exporter
$ wget https://github.com/prometheus/haproxy_exporter/releases/download/v0.9.0/haproxy_exporter-0.9.0.linux-amd64.tar.gz
ekstrak haproxy exporter
$ tar xvf haproxy_exporter-0.9.0.linux-amd64.tar.gz
jalankan haproxy exporter, exporter bisa dijalankan di server yang sama dengan haproxy atau di server yang berbeda, karena saya menjalankan di server yang berbeda jadi url di arahkan ke ip server haproxy, dan untuk port dari stats di bind ke port 8080, dan menggunakan basic autentikasi
$ haproxy_exporter --haproxy.scrape-uri=http://admin:[email protected]:8080/stats;csv
admin:pass789 disesuaikan dengan user dan password yang anda gunakan, dan jangan lupa untuk menambahkan ;csv
Konfigurasi Prometheus
tambahkan konfigurasi berikut
$ sudo vim /etc/prometheus/prometheus.yml - job_name: 'haproxy' static_configs: - targets: ['xxx.xxx.xxx.xxx:9101'] labels: alias: loadbalancer1
targets: diisi dengan alamat ip server haproxy dan port diisi dengan port haproxy exporter
Konfigurasi Grafana
saya akan menggunakan dashboard dari sini, import dan pilih data source dari prometheus
makasih tutorialnya…mau tanya bagaimana jika didalam 1 server terdapat lebih dari 1 haproxy port yg jalan, misalnya haproxy1000.cfg dan haproxy2000.cfg…bagaimana cara monitoring dan jalanin haproxy exporternya?
pada bagian `listen stats` tinggal buat dua listener dengan port yang berbeda, lalu haproxy exporter tinggal di set untuk ngecek port keduanya, jadi akan ada 2 haproxy exporter yang akan berjalan dan ngecek port yang berbeda