Prometheus adalah toolkit open-source yang awalnya dibangun di SoundCloud untuk pemantauan dan peringatan. Toolkit ini sekarang menjadi proyek open source mandiri dan dikelola secara independen dari perusahaan mana pun.
Toolkit ini mengumpulkan metrik dari target yang dipantau dengan menghapus titik akhir HTTP pada target tersebut. Sebagian besar komponen Prometheus ada di Go. Beberapa ditulis dalam Java, Python, dan Ruby.
Prometheus bekerja dengan baik untuk merekam deret waktu numerik apa pun. Ini cocok untuk pemantauan yang berpusat pada mesin dan pemantauan arsitektur berorientasi layanan yang dinamis tinggi. Selain membuatnya lebih mudah untuk dijalankan dan diintegrasikan ke dalam lingkungan Anda, Prometheus menawarkan model data yang kaya dan bahasa kueri.
Tutorial berikut menunjukkan langkah-langkah untuk menginstal Prometheus di CentOS.
Instal dan Konfigurasikan Prometheus di CentOS 7
Masuk ke Terminal sebagai root, dan mulai jalankan perintah di bawah ini.
Langkah 1 – Perbarui Sistem
yum update -y
Langkah 2 – Nonaktifkan SELinux
Buka konfigurasi SELinux dan edit file:
vim /etc/sysconfig/selinux
Ubah “SELINUX=enforcing” menjadi “SELINUX=disabled”.
Simpan dan keluar dari file. Kemudian reboot sistem.
reboot
Langkah 3 – Unduh paket Prometheus
Buka halaman unduhan Prometheus resmi, dan salin URL file “tar” Linux.
Jalankan perintah berikut untuk mengunduh paket. Rekatkan URL yang disalin setelah wget pada perintah di bawah ini:
wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz
Langkah 4 – Konfigurasikan Prometheus
Tambahkan pengguna Prometheus.
useradd --no-create-home --shell /bin/false prometheus
Buat direktori yang dibutuhkan.
mkdir /etc/prometheus
mkdir /var/lib/prometheus
Ubah pemilik direktori di atas.
chown prometheus:prometheus /etc/prometheus
chown prometheus:prometheus /var/lib/prometheus
Sekarang buka lokasi unduhan Prometheus dan ekstrak.
tar -xvzf prometheus-2.8.1.linux-amd64.tar.gz
Ganti nama sesuai keinginan Anda.
mv prometheus-2.8.1.linux-amd64 prometheuspackage
Salin biner “prometheus” dan “promtool” dari folder “prometheuspackage” ke “/usr/local/bin”.
cp prometheuspackage/prometheus /usr/local/bin/
cp prometheuspackage/promtool /usr/local/bin/
Ubah kepemilikan menjadi pengguna Prometheus.
chown prometheus:prometheus /usr/local/bin/prometheus
chown prometheus:prometheus /usr/local/bin/promtool
Salin direktori “consoles” dan “console_libraries” dari “prometheuspackage” ke “/etc/prometheus folder”
cp -r prometheuspackage/consoles /etc/prometheus
cp -r prometheuspackage/console_libraries /etc/prometheus
Ubah kepemilikan menjadi pengguna Prometheus
chown -R prometheus:prometheus /etc/prometheus/consoles
chown -R prometheus:prometheus /etc/prometheus/console_libraries
Tambahkan dan ubah file konfigurasi Prometheus.
Konfigurasi harus ditambahkan ke “/etc/prometheus/prometheus.yml”
Sekarang kita akan membuat file prometheus.yml.
vim /etc/prometheus/prometheus.yml
Tambahkan konfigurasi berikut ke file.
global: scrape_interval: 10s scrape_configs: - job_name: 'prometheus_master' scrape_interval: 5s static_configs: - targets: ['localhost:9090']
simpan dan keluar dari file
Ubah kepemilikan file.
chown prometheus:prometheus /etc/prometheus/prometheus.yml
Konfigurasikan File Layanan Prometheus.
vim /etc/systemd/system/prometheus.service
Salin konten berikut ke file.
[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
Simpan dan keluar file.
Muat ulang layanan systemd.
systemctl daemon-reload
Mulai layanan Prometheus.
systemctl start prometheus
Periksa status layanan.
systemctl status prometheus
Tambahkan aturan firewall.
firewall-cmd --zone=public --add-port=9090/tcp --permanent
Muat ulang layanan firewall.
systemctl reload firewalld
Langkah 5 – Akses Antarmuka Web Prometheus
Gunakan Url berikut untuk mengakses UI.
http://Server-IP:9090/graph
Kemudian Anda dapat melihat antarmuka berikut.
Langkah 6 – Pantau Server Linux Menggunakan Prometheus
Pertama, Anda perlu mengonfigurasi pengekspor simpul Prometheus di server Linux.
Salin URL Pengekspor Node dari halaman unduhan resmi.
Rekatkan URL yang disalin setelah wget pada perintah berikut:
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
Ekstrak paket yang diunduh.
tar -xvzf node_exporter-0.17.0.linux-amd64.tar.gz
Buat pengguna untuk pengekspor simpul.
useradd -rs /bin/false nodeusr
Pindahkan biner ke “/usr/local/bin” dari paket ekstrak yang diunduh.
mv node_exporter-0.17.0.linux-amd64/node_exporter /usr/local/bin/
Buat file layanan untuk pengekspor simpul.
vim /etc/systemd/system/node_exporter.service
Tambahkan konten berikut ke file.
[Unit] Description=Node Exporter After=network.target [Service] User=nodeusr Group=nodeusr Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
Simpan dan keluar dari file.
Muat ulang daemon sistem.
systemctl daemon-reload
Mulai layanan pengekspor simpul.
systemctl start node_exporter
Tambahkan aturan firewall untuk mengizinkan pengekspor node.
firewall-cmd --zone=public --add-port=9100/tcp --permanent
Muat ulang layanan firewall.
systemctl restart firewalld
Aktifkan pengekspor simpul pada boot sistem.
systemctl enable node_exporter
Lihat metrik URL pengekspor simpul penjelajahan.
http://IP-Address:9100/metrics
Tambahkan pengekspor simpul yang dikonfigurasi Target Di Server Prometheus.
Masuk ke server Prometheus dan ubah file prometheus.yml
Edit filenya:
vim /etc/prometheus/prometheus.yml
Tambahkan konfigurasi berikut di bawah konfigurasi scrape.
- job_name: 'node_exporter_centos' scrape_interval: 5s static_configs: - targets: ['10.94.10.209:9100']
File akan terlihat seperti berikut.
Mulai ulang layanan Prometheus.
systemctl restart prometheus
Masuk ke antarmuka web server Prometheus, dan periksa target.
http://Prometheus-Server-IP:9090/targets
Anda dapat mengeklik grafik dan menanyakan metrik server apa pun dan mengeklik eksekusi untuk menampilkan keluaran. Ini akan menampilkan keluaran konsol.
Peramban Kueri:
Keluaran konsol:
Klik Grafik untuk melihat.
Langkah 7 – Pantau Server MySQL Menggunakan Prometheus
Masuk ke MySQL dan jalankan kueri berikut.
CREATE USER 'mysqlexporter'@'localhost' IDENTIFIED BY 's56fsg#4W2126&dfk' WITH max_user_connections 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'localhost';
FLUSH PRIVILEGES;
Unduh mysqld_exporter dari halaman unduhan resmi.
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz
Ekstrak file yang Diunduh.
tar -xvzf mysqld_exporter-0.11.0.linux-amd64.tar.gz
Tambahkan pengguna untuk mysqld_exporter.
useradd -rs /bin/false mysqld_exporter
Salin file mysqld_exporter ke /usr/bin.
mv mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter /usr/bin
Ubah kepemilikan file.
chown mysqld_exporter:mysqld_exporter /usr/bin/mysqld_exporter
Buat folder yang dibutuhkan.
mkdir -p /etc/mysql_exporter
Buat file kata sandi MySQL untuk mysqld_exporter.
vim /etc/mysql_exporter/.my.cnf
Tambahkan konfigurasi berikut ke file.
[client] user=mysqlexporter password=sdfsg#4W2126&gh
Simpan dan keluar dari file.
Ubah kepemilikan.
chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter
Berikan izin yang diperlukan.
chmod 600 /etc/mysql_exporter/.my.cnf
Buat file layanan.
vim /etc/systemd/system/mysql_exporter.service
Tambahkan konten berikut ke file.
[Unit] Description=MySQL Server fosslinux After=network.target [Service] User=mysqld_exporter Group=mysqld_exporter Type=simple ExecStart=/usr/bin/mysqld_exporter \ --config.my-cnf="/etc/mysql_exporter/.my.cnf" Restart=always [Install] WantedBy=multi-user.target
Muat ulang daemon sistem.
systemctl daemon-reload
Aktifkan mysql_exporter pada boot sistem.
systemctl enable mysql_exporter
Mulai layanan.
systemctl start mysql_exporter
Lihat metrik menggunakan URL berikut.
http://Server_IP:9104/metrics
Sekarang buka server Prometheus dan ubah file prometheus.yml.
vim /etc/prometheus/prometheus.yml
Tambahkan konten berikut ke file.
- job_name: 'mysql_exporter_fosslinux' scrape_interval: 5s static_configs: - targets: ['10.94.10.204:9104']
Mulai ulang Prometheus.
systemctl restart prometheus
Anda dapat melihat target yang ditambahkan dengan mengklik target di bawah status.
http://IP:9090/targets
Sekarang Anda dapat memilih kueri menggunakan browser kueri dan mendapatkan hasil dari server MySQL.
Itu saja tentang instalasi dan konfigurasi server Prometheus di CentOS 7. Semoga Anda menikmati tutorial ini. Beri tahu kami tanggapan Anda di komentar di bawah.