GNU/Linux >> Belajar Linux >  >> Cent OS

Instal Prometheus dan Node Exporter di CentOS / RHEL 8

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.


Cent OS
  1. Cara Menginstal Python 3.5 di CentOS/RHEL dan Fedora

  2. CentOS / RHEL 7 :Cara menginstal dan mengkonfigurasi telnet

  3. Cara menginstal dan mengkonfigurasi Samba di CentOS / RHEL

  1. Cara Instal Node.js dan NPM di CentOS 7

  2. Cara menginstal node.js di RHEL 8 / CentOS 8 Linux

  3. Cara menginstal Node.js dan NPM di CentOS

  1. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  2. Cara Instal Node.js dan npm di CentOS 8

  3. Cara Memasang dan Menggunakan Kokpit di CentOS 8 / RHEL 8