Prometheus adalah aplikasi pemantauan gratis, sumber terbuka, dan berbasis web yang mengumpulkan metrik dari layanan Anda dan menyimpannya dalam database deret waktu. Konfigurasi default Prometheus hanya mengekspor metrik tentang dirinya sendiri. Namun, Anda dapat memperluasnya dengan menginstal eksportir, dan program lainnya. Ini mendukung model data multi-dimensi, beberapa mode grafik dan dasbor.
Dalam posting ini, kami akan menunjukkan cara menginstal pemantauan Prometheus di Debian 11.
Prasyarat
- Server yang menjalankan Debian 11.
- Kata sandi root dikonfigurasi di server.
Instal Prometheus
Sebelum memulai, disarankan untuk membuat pengguna dan grup khusus untuk Prometheus. Anda dapat membuatnya menggunakan perintah berikut:
groupadd --system prometheus
useradd -s /sbin/nologin --system -g prometheus prometheus
Selanjutnya, unduh Prometheus versi terbaru dengan menjalankan perintah berikut:
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -Setelah Prometheus diunduh, Anda dapat melihat file yang diunduh menggunakan perintah berikut:
ls -lAnda akan melihat output berikut:
-rw-r--r-- 1 root root 72638078 5 Okt 16:46 prometheus-2.30.3.linux-amd64.tar.gzSelanjutnya, ekstrak file yang diunduh menggunakan perintah berikut:
tar -xvf prometheus*.tar.gzSelanjutnya, ubah direktori ke direktori yang diekstrak dengan perintah berikut:
cd prometheus-2.30.3.linux-amd64Selanjutnya, buat beberapa direktori yang diperlukan menggunakan perintah berikut:
mkdir /etc/prometheus
mkdir /var/lib/prometheusSelanjutnya, salin file konfigurasi dan alat yang diperlukan dengan perintah berikut:
mv prometheus.yml /etc/prometheus/prometheus.yml
mv consoles/ console_libraries/ /etc/prometheus/
mv prometheus promtool /usr/local/bin/Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Buat File Layanan Systemd untuk Prometheus
Selanjutnya, Anda perlu membuat file layanan systemd untuk mengelola layanan Prometheus. Anda dapat membuatnya dengan menjalankan perintah berikut:
nano /etc/systemd/system/prometheus.serviceTambahkan baris berikut:
[Unit]Description=PrometheusDocumentation=https://prometheus.io/docs/introduction/overview/Wants=network-online.targetAfter=network-online.target[Service]Type=simpleUser=prometheusGroup=prometheusExecReload=/bin /kill -HUP $MAINPIDExecStart=/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 \ --web.listen-address=0.0.0.0:9090 \ --web.external-url=SyslogIdentifier=prometheusRestart=always[Install]WantedBy=multi-user.targetSimpan dan tutup file kemudian atur kepemilikan dan izin yang tepat ke direktori konfigurasi Prometheus:
chown -R prometheus:prometheus /etc/prometheus/
chmod -R 775 /etc/prometheus/
chown -R prometheus:prometheus /var/lib/prometheus/Selanjutnya, muat ulang daemon systemd untuk menerapkan perubahan:
systemctl daemon-reloadSelanjutnya, mulai layanan Prometheus dan aktifkan untuk memulai pada sistem reboot menggunakan perintah berikut:
systemctl start prometheus
systemctl aktifkan prometheusAnda dapat memeriksa status Prometheus dengan perintah berikut:
systemctl status prometheusAnda akan mendapatkan output berikut:
? prometheus.service - Prometheus Dimuat:dimuat (/etc/systemd/system/prometheus.service; dinonaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Sab 2021-10-16 14:06:39 UTC; 4 dtk yang lalu Dokumen:https://prometheus.io/docs/introduction/overview/ PID Utama:18415 (prometheus) Tugas:5 (batas:2341) Memori:19,6M CPU:79ms CGroup:/system.slice/prometheus.service ??18415 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.cons>16 Oktober 14:06 :39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.172Z caller=head.go:513 component=tsdb msg="On-disk memory mappa>16 Okt 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.172Z pemanggil=head.go:519 component=tsdb msg="Memutar ulang WAL, ini>16 Oktober 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.174Z penelepon=head.go:590 component=tsdb msg="Segmen WAL dimuat">16 Oktober 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.174Z penelepon=head.go:596 component=tsdb msg="Pemutaran ulang WAL selesai>16 Oktober 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10 -16T14:06:39. 177Z pemanggil=main.go:849 fs_type=EXT4_SUPER_MAGICOct 16 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.177Z pemanggil=main.go:852 msg="TSDB dimulai "16 Okt 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.178Z caller=main.go:979 msg="Memuat file konfigurasi" nama file>16 Okt 14:06 :39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.178Z caller=main.go:1016 msg="Pemuatan konfigurasi selesai>16 Oktober 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.179Z caller=main.go:794 msg="Server siap menerima permintaan web>16 Oktober 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.179Z pemanggil=tls_config.go:191 component=web msg="TLS dinonaktifkan>Secara default, Prometheus mendengarkan pada port 9090. Anda dapat memeriksanya menggunakan perintah berikut:
ss -antpl | grep 9090Anda akan melihat output berikut:
DENGARKAN 0 4096 *:9090 *:* pengguna:(("prometheus",pid=18415,fd=7))Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasikan Nginx sebagai Proxy Terbalik untuk Prometheus
Selanjutnya, disarankan untuk menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk Prometheus. Pertama, instal paket server web Nginx menggunakan perintah berikut:
apt-get install nginx -ySetelah Nginx terinstal, buat file konfigurasi virtual host Nginx dengan perintah berikut:
nano /etc/nginx/conf.d/prometheus.confTambahkan baris berikut:
server { dengarkan 80; nama_server prometheus.example.com; lokasi / { proxy_pass http://localhost:9090; proxy_http_version 1.1; proxy_set_header Tingkatkan $http_upgrade; proxy_set_header Koneksi 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}Simpan dan tutup file kemudian verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -tJika semuanya baik-baik saja, Anda akan mendapatkan output berikut:
nginx:file konfigurasi /etc/nginx/nginx.conf tes berhasilTerakhir, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginxAnda juga dapat memverifikasi status layanan Nginx menggunakan perintah berikut:
systemctl status nginxAnda akan mendapatkan output berikut:
? nginx.service - Server web berkinerja tinggi dan server proxy terbalik Dimuat:dimuat (/lib/systemd/system/nginx.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Sab 2021-10-16 14 :08:15 UTC; 2 detik yang lalu Dokumen:man:nginx(8) Proses:18792 ExecStartPre=/usr/sbin/nginx -t -q -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) Proses:18793 ExecStart=/usr/sbin/nginx -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) PID Utama:18794 (nginx) Tugas:2 (batas:2341) Memori:2.5M CPU:35ms CGroup:/system.slice/nginx.service ??18794 nginx:master process /usr/sbin/nginx -g daemon aktif; master_proses aktif; ??18795 nginx:worker processOct 16 14:08:15 debian11 systemd[1]:Memulai Server web berkinerja tinggi dan server proxy terbalik...16 Oktober 14:08:15 debian11 systemd[1]:nginx.service:Gagal mengurai PID dari file /run/nginx.pid:Argumen tidak valid 16 Oktober 14:08:15 debian11 systemd[1]:Memulai Server web berkinerja tinggi dan server proxy terbalik.Pada titik ini, Nginx diinstal dan dikonfigurasi untuk melayani Prometheus. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Mengakses Dasbor Prometheus
Sekarang, buka browser web Anda dan akses dasbor Prometheus menggunakan URL http://prometheus.example.com . Anda akan melihat halaman berikut:
Instal dan Konfigurasi node_exporter
node_exporter adalah eksportir yang akan memantau dan mendapatkan metrik server Prometheus. Pertama, unduh versi terbaru node_exporter menggunakan perintah berikut:
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gzSetelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf node_exporter-1.2.2.linux-amd64.tar.gzSelanjutnya, pindahkan direktori hasil ekstrak ke direktori /etc/prometheus/:
mv node_exporter-1.2.2.linux-amd64 /etc/prometheus/node_exporterSelanjutnya, atur kepemilikan yang tepat dengan perintah berikut:
chown -R prometheus:prometheus /etc/prometheus/node_exporterSelanjutnya, buat file layanan systemd untuk mengelola layanan node_exporter:
nano /etc/systemd/system/node_exporter.serviceTambahkan baris berikut:
[Unit]Description=Node ExporterWants=network-online.targetAfter=network-online.target[Service]User=prometheusExecStart=/etc/prometheus/node_exporter/node_exporter[Install]WantedBy=default.targetSimpan dan tutup file, lalu muat ulang daemon systemd untuk menerapkan perubahan:
systemctl daemon-reloadSelanjutnya, mulai layanan node_exporter dan aktifkan untuk memulai saat sistem reboot:
systemctl start node_exporter
systemctl aktifkan node_exporterAnda dapat memeriksa status node_exporter dengan perintah berikut:
systemctl status node_exporterAnda akan mendapatkan output berikut:
? node_exporter.service - Pengekspor Node Dimuat:dimuat (/etc/systemd/system/node_exporter.service; dinonaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Minggu 2021-10-17 05:38:20 UTC; 4 dtk yang lalu PID Utama:513 (node_exporter) Tugas:4 (batas:2341) Memori:4,7M CPU:11ms CGroup:/system.slice/node_exporter.service ??513 /etc/prometheus/node_exporter/node_exporter 17 Oktober 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collector=thermal_zoneOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021 -10-17T05:38:20.382Z pemanggil=node_exporter.go:115 collector=timeOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z pemanggil=node_exporter. go:115 collector=timexOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collector=udp_queues 17 Oktober 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z pemanggil=node_exporter.go:115 collector=unameOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10 -17T05:38:20.382Z penelepon=node_exporter.go:115 kolektor=vmstat17 Oktober 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z pemanggil=node_exporter.go:115 collector=xfsOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021- 10-17T05:38:20.382Z pemanggil=node_exporter.go:115 collector=zfsOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.383Z pemanggil=node_exporter.go :199 msg="Mendengarkan" alamat=:91>17 Oktober 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.383Z pemanggil=tls_config.go:191 msg="TLS dinonaktifkan." http2=salahSecara default, node_exporter mendengarkan pada port 9100. Anda dapat memeriksanya dengan perintah berikut:
ss -antpl | grep 9100Anda akan mendapatkan output berikut:
DENGARKAN 0 4096 *:9100 *:* pengguna:(("node_exporter",pid=513,fd=3))Tambahkan node_exporter ke Server Prometheus
Selanjutnya, Anda perlu menambahkan node_exporter ke file konfigurasi Prometheus. Anda dapat melakukannya dengan mengedit file konfigurasi default Prometheus:
nano /etc/prometheus/prometheus.ymlDi bawah 'scrape_config ', tambahkan nama_pekerjaan baru node_exporter dengan menambahkan baris berikut.
- job_name:'node_exporter' static_configs:- target:['localhost:9100']Simpan dan tutup file, lalu mulai ulang layanan Prometheus untuk menerapkan perubahan:
systemctl restart prometheusVerifikasi Prometheus dan node_exporter
Sekarang, buka dasbor Prometheus dan klik Status => Target . Anda akan melihat node_exporter Anda di layar berikut:
Sekarang, kembali ke beranda Prometheus dan ketik node_memory_MemAvailable_bytes di bidang kueri dan klik 'Jalankan ' tombol. Anda akan mendapatkan hasil sebagai berikut:
Anda juga bisa mendapatkan node_exporter data metrik menggunakan URL http://your-server-ip:9100/metrics seperti yang ditunjukkan di bawah ini:
Kesimpulan
Selamat! Anda telah berhasil menginstal Prometheus dengan node_exporter di Debian 11. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan. Untuk informasi lebih lanjut, kunjungi dokumentasi resmi Prometheus.
Cara Instal Apache Cassandra di Debian 11 Cara Menginstal dan Menggunakan PIP Python Package Manager di Debian 11Debian