Prometheus adalah aplikasi perangkat lunak gratis yang digunakan untuk pemantauan dan peringatan acara. Ini merekam metrik waktu nyata dalam database deret waktu yang dibuat menggunakan model tarik HTTP, dengan kueri fleksibel dan peringatan waktu nyata. Proyek ini ditulis dalam Go dan dilisensikan di bawah Lisensi Apache 2 , dengan kode sumber yang tersedia di GitHub, dan merupakan proyek lulus dari Cloud Native Computing Foundation , bersama dengan Kubernetes dan Utusan.
Perbarui Sistem
Perbarui sistem operasi Linux Anda dengan
# dnf update -y
Prometheus saat ini tidak menyertakan kebijakan SELinux resmi. Jadi Anda harus menonaktifkan SELinux atau alihkan ke mode permisif.
# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/sysconfig/selinux
# setenforce permissive
Buat Pengguna dan Direktori Prometheus
Untuk memiliki perangkat lunak dan proses Prometheus.
# useradd --no-create-home -s /bin/false prometheus
Buat direktori Prometheus yang diperlukan dan edit kepemilikannya.
# mkdir /etc/prometheus
# mkdir /var/lib/prometheus
# chown prometheus:prometheus /var/lib/prometheus
# chown prometheus:prometheus /etc/prometheus
Instal Prometheus
Anda dapat mengunduhnya dari situs web resmi Prometheus.
Unduh tarbal Prometheus dengan wget perintah sebagai berikut di bawah ini.
[root@unixcop ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz -P /tmp
--2021-09-09 11:02:11-- https://github.com/prometheus/prometheus/releases/download/v2.29.2/prometheus-2.29.2.linux-amd64.tar.gz
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/6838921/17d3d453-5a8e-47aa-844f-d4ff56f5c1cb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T150118Z&X-Amz-Expires=300&X-Amz-Signature=04f95de9924949000d3cf5b51d508db4a101e6741d13540d60b0b8c7618421bc&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.29.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
--2021-09-09 11:02:13-- https://github-releases.githubusercontent.com/6838921/17d3d453-5a8e-47aa-844f-d4ff56f5c1cb?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T150118Z&X-Amz-Expires=300&X-Amz-Signature=04f95de9924949000d3cf5b51d508db4a101e6741d13540d60b0b8c7618421bc&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=6838921&response-content-disposition=attachment%3B%20filename%3Dprometheus-2.29.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.111.154, 185.199.108.154, 185.199.110.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.111.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 73175122 (70M) [application/octet-stream]
Saving to: 'https://1118798822.rsc.cdn77.org/tmp/prometheus-2.29.2.linux-amd64.tar.gz'
prometheus-2.29.2.linux-amd64.tar.gz 100%[=======================================================================>] 69.79M 169KB/s in 6m 30s
2021-09-09 11:08:43 (183 KB/s) - 'https://1118798822.rsc.cdn77.org/tmp/prometheus-2.29.2.linux-amd64.tar.gz' saved [73175122/73175122]
[root@unixcop ~]#
Kemudian ekstrak tarball Prometheus yang telah diunduh ke /var/lib/prometheus seperti yang ditunjukkan.
tar -xf /tmp/prometheus-2.29.2.linux-amd64.tar.gz -C /var/lib/prometheus/ --strip-components=1
Berikan kepemilikan file yang diekstraksi kepada pengguna Prometheus dengan:
chown -R prometheus:prometheus /var/lib/prometheus
Pindahkan file konfigurasi Prometheus ke /etc/prometheus dengan:
mv /var/lib/prometheus/prometheus.yml /etc/prometheus/
Periksa juga konfigurasi file prometheus.yml seperti di bawah ini:
[root@unixcop ~]# grep -v '#' /etc/prometheus/prometheus.yml
global:
alerting:
alertmanagers:
- static_configs:
- targets:
rule_files:
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
[root@unixcop ~]#
Juga buat tautan simbolis untuk Prometheus agar dapat dieksekusi dari jalur mana pun.
# cp -s /var/lib/prometheus/promtool /usr/bin
# cp -s /var/lib/prometheus/prometheus /usr/bin
Buat Unit Layanan Systemd untuk Prometheus
Anda harus membuat unit layanan systemd untuk mengaktifkan Autostart Prometheus.
Ikuti langkah-langkah berikut:
# vim /usr/lib/systemd/system/prometheus.service
Kemudian tambahkan berikut ini.
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/var/lib/prometheus/consoles \
--web.console.libraries=/var/lib/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
Kemudian aktifkan dan mulai Prometheus dengan:
[root@unixcop ~]# systemctl enable --now prometheus.service
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /usr/lib/systemd/system/prometheus.service.
[root@unixcop ~]#
Konfigurasikan juga Firewall untuk Prometheus
Port default 9090/tcp . Jadi perlu untuk mengizinkannya.
[root@unixcop ~]# firewall-cmd --permanent --add-port=9090/tcp
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]#
Buka URL http://localhost:9090 di browser web seperti yang ditunjukkan pada tangkapan layar di bawah ini
Instal Pengekspor Node
Pengekspor Node adalah eksportir Prometheus untuk level server dan metrik level dengan pengumpul metrik yang dapat dikonfigurasi. Ini membantu kami dalam mengukur sumber daya server seperti ruang disk, RAM, dan penggunaan CPU.
Anda perlu menginstal node_exporter di server Prometheus Anda .
Pertama, buat direktori untuk Node Exporter sebagai berikut:
# mkdir -p /var/lib/prometheus/node_exporter
Unduh Node_Exporter dari situs web Prometheus.
[root@unixcop ~]# wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz -P /tmp
--2021-09-09 11:42:18-- https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/9524057/28598a7c-d8ad-483d-85ba-8b2c9c08cf57?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T154012Z&X-Amz-Expires=300&X-Amz-Signature=2581f24124ad04eeb9d7ead72729c4afbcfe08ade2e37a8d3ffa0eb876ab0091&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-1.2.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [following]
--2021-09-09 11:42:19-- https://github-releases.githubusercontent.com/9524057/28598a7c-d8ad-483d-85ba-8b2c9c08cf57?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210909%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210909T154012Z&X-Amz-Expires=300&X-Amz-Signature=2581f24124ad04eeb9d7ead72729c4afbcfe08ade2e37a8d3ffa0eb876ab0091&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=9524057&response-content-disposition=attachment%3B%20filename%3Dnode_exporter-1.2.2.linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.108.154, 185.199.110.154, 185.199.109.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.108.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8898481 (8.5M) [application/octet-stream]
Saving to: 'https://1118798822.rsc.cdn77.org/tmp/node_exporter-1.2.2.linux-amd64.tar.gz'
node_exporter-1.2.2.linux-amd64.tar.g 100%[=======================================================================>] 8.49M 204KB/s in 42s
2021-09-09 11:43:02 (207 KB/s) - 'https://1118798822.rsc.cdn77.org/tmp/node_exporter-1.2.2.linux-amd64.tar.gz' saved [8898481/8898481]
[root@unixcop ~]#
Kemudian ekstrak tarball yang telah diunduh ke /var/lib/prometheus/node_exporter/ dengan perintah berikut.
# tar xf /tmp/node_exporter-1.2.2.linux-amd64.tar.gz -C /var/lib/prometheus/unixcop_node_exporter/ --strip-components=1
Ubah kepemilikan.
# chown -R prometheus:prometheus /var/lib/prometheus/unixcop_node_exporter/
Buat juga tautan simbolis untuk node_exporter dengan:
[root@unixcop ~]# cp -s /var/lib/prometheus/unixcop_node_exporter/node_exporter /usr/bin/
Aktifkan mulai otomatis node_exporter proses, buat unit layanan systemd.
vim /usr/lib/systemd/system/unixcop_node_exporter.service
Kemudian tambahkan berikut ini:
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
ExecStart=/usr/bin/node_exporter
[Install]
WantedBy=default.target
Aktifkan dan mulai Pengekspor Node dengan perintah di bawah ini:
[root@unixcop ~]# systemctl enable --now unixcop_node_exporter.service
Created symlink /etc/systemd/system/default.target.wants/node_exporter.service → /usr/lib/systemd/system/node_exporter.service.
[root@unixcop ~]#
Konfigurasikan juga firewall untuk mengizinkan port node_exporter 9100/tcp .
[root@unixcop ~]# firewall-cmd --permanent --add-port=9100/tcp
success
[root@unixcop ~]# firewall-cmd --reload
success
[root@unixcop ~]#
Kemudian edit file konfigurasi Prometheus.
# vi /etc/prometheus/prometheus.yml
Dan tambahkan unixcop_node_exporter konfigurasi titik akhir dalam file ini.
- job_name: 'unixcop_node_exporter'
static_configs:
- targets: ['localhost:9100']
Kemudian mulai ulang Prometheus.
# systemctl restart prometheus.service
Buka browser Anda lalu buka prometheus.
Buka Status
Kemudian klik Target .
Kesimpulan
Pada artikel ini, kami menjelaskan cara menginstal alat pemantauan sistem Prometheus di CentOS / RHEL 8.
Kami juga mengilustrasikan cara menginstal Node Exporter untuk level server dan metrik level yang membantu kami mengukur sumber daya server seperti ruang disk, RAM, dan penggunaan CPU.