GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Prometheus di Ubuntu 18.04

Prometheus adalah sistem pemantauan dan peringatan sumber terbuka yang sangat kuat yang cocok untuk lingkungan dinamis seperti di ruang Cloud. Ini adalah proyek mandiri yang dikelola oleh komunitas dengan banyak perusahaan dan organisasi yang berkontribusi pada kode sumbernya. Sebagian besar komponen Prometheus ditulis dalam Go, membuatnya mudah dibuat dan digunakan sebagai binari statis. Anda jarang perlu mengompilasi aplikasi dari kode.

Prometheus mampu merekam rangkaian waktu numerik murni, baik untuk pemantauan mesin-sentris seperti sistem Linux maupun pemantauan arsitektur berorientasi layanan yang sangat dinamis. Alat visualisasi seperti Grafana mendukung kueri Prometheus dengan sumber data Grafana untuk Prometheus disertakan sejak Grafana 2.5.0.

Dalam panduan ini, kami akan membahas cara menginstal Prometheus di server Ubuntu 18.04.

Komponen Prometheus

Ekosistem Prometheus terdiri dari berbagai komponen yang bersama-sama bekerja untuk menyediakan sistem pemantauan dan peringatan yang lengkap. Sebagian besar komponen bersifat opsional, dan Anda hanya perlu menginstalnya sesuai permintaan. Komponen utamanya adalah:

  • Server Prometheus - Ini menggores dan menyimpan data deret waktu dari sistem dan aplikasi klien.
  • Eksportir - digunakan dalam mengekspor metrik yang ada dari sistem pihak ketiga sebagai metrik Prometheus.
  • Pengelola lansiran yang digunakan untuk menangani lansiran
  • Library klien untuk menginstruksikan kode aplikasi

Fitur Prometheus

Fitur utama Prometheus adalah:

  • model data multidimensi dengan data deret waktu yang diidentifikasi dengan nama metrik dan pasangan kunci/nilai
  • Ia memiliki bahasa kueri yang sangat fleksibel untuk memanfaatkan model multidimensinya
  • Node server tunggal bersifat otonom dan tidak bergantung pada penyimpanan terdistribusi.
  • Koleksi deret waktu Prometheus menggunakan model tarik melalui protokol HTTP
  • Ini memiliki layanan penemuan target otomatis dan file konfigurasi dapat digunakan untuk hal yang sama.
  • mendorong deret waktu didukung melalui gateway perantara
  • Prometheus memiliki dukungan untuk beberapa mode grafik dan dasbor

Menginstal Prometheus di Ubuntu 18.04

Karena Prometheus ditulis dalam Go, paket-paketnya didistribusikan sebagai binari. Pada tulisan ini, rilis terbaru dari Prometheus adalah v2.2.1 . Anda dapat memeriksa rilis dari halaman Unduhan Resmi. Paket yang disediakan adalah untuk sistem operasi macOS, Linux, dan Windows, jadi pastikan Anda mengunduh paket yang benar.

$ sudo su -
$ export RELEASE="2.2.1"
$ wget https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz

Setelah mengunduh arsip, ekstrak menggunakan tar.

$ tar xvf prometheus-${RELEASE}.linux-amd64.tar.gz
prometheus-2.2.1.linux-amd64/
prometheus-2.2.1.linux-amd64/consoles/
prometheus-2.2.1.linux-amd64/consoles/index.html.example
prometheus-2.2.1.linux-amd64/consoles/node-cpu.html
prometheus-2.2.1.linux-amd64/consoles/node-disk.html
prometheus-2.2.1.linux-amd64/consoles/node-overview.html
prometheus-2.2.1.linux-amd64/consoles/node.html
prometheus-2.2.1.linux-amd64/consoles/prometheus-overview.html
prometheus-2.2.1.linux-amd64/consoles/prometheus.html
prometheus-2.2.1.linux-amd64/console_libraries/
prometheus-2.2.1.linux-amd64/console_libraries/menu.lib
prometheus-2.2.1.linux-amd64/console_libraries/prom.lib
prometheus-2.2.1.linux-amd64/prometheus.yml
prometheus-2.2.1.linux-amd64/LICENSE
prometheus-2.2.1.linux-amd64/NOTICE
prometheus-2.2.1.linux-amd64/prometheus
prometheus-2.2.1.linux-amd64/promtool

Ubah ke direktori yang baru dibuat dari ekstraksi file.

# cd prometheus-${RELEASE}.linux-amd64/

Buat grup sistem Prometheus

Prometheus membutuhkan pengguna dan grupnya sendiri untuk dijalankan.

# groupadd --system prometheus
# grep prometheus /etc/group
prometheus:x:999:

Buat pengguna sistem Prometheus

Sekarang kita memiliki grup Prometheus, mari buat pengguna dan tetapkan grup yang dibuat.

# useradd -s /sbin/nologin -r -g prometheus prometheus
# id prometheus
uid=999(prometheus) gid=999(prometheus) groups=999(prometheus)

Buat konfigurasi dan direktori data untuk Prometheus

Prometheus membutuhkan direktori untuk menyimpan data dan file konfigurasinya. Kami akan membuat /var/lib/prometheus untuk data dan /etc/prometheus untuk file konfigurasi.

# mkdir -p /etc/prometheus/{rules,rules.d,files_sd}  /var/lib/prometheus

Salin file biner Prometheus ke direktori di $PATH Anda

Direktori pilihan untuk menempatkan binari pihak ketiga di Linux adalah /usr/local/bin/ karena dalam $PATH secara default dan tidak mengganggu biner sistem.

# cp prometheus promtool /usr/local/bin/
# ls /usr/local/bin/
prometheus promtool

Salin consoles dan console_libraries ke direktori file konfigurasi

File konsol dan pustaka harus ditempatkan di bawah /etc/prometheus/ direktori.

# cp -r consoles/ console_libraries/ /etc/prometheus/

Buat file unit systemd:

Ubuntu 18.04 menggunakan sistem init systemd secara default, kita perlu membuat file unit Layanan untuk mengelola layanan Prometheus. Kami akan meletakkan file di bawah /etc/systemd/system direktori. Nama file harus diakhiri dengan .service

# cat /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus systemd service unit
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
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 \
--web.listen-address=0.0.0.0:9090

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Perhatikan bahwa:

  • Kami mengikat layanan ke 0.0.0.0:9090 . Ini akan dapat diakses dari semua antarmuka jaringan di server. Batasi dengan menentukan alamat IP untuk antarmuka yang ingin Anda gunakan, 127.0.0.1 hanya untuk akses lokal.
  • File konfigurasi yang ditentukan adalah /etc/prometheus/prometheus.yml . Kami akan membuat file konfigurasi dasar untuk digunakan selanjutnya.

Buat file Konfigurasi Prometheus

Ini akan ditempatkan di /etc/prometheus/ direktori.

# cat  /etc/prometheus/prometheus.yml
# Global config
global: 
 scrape_interval: 15s # Set the scrape interval to every 15 seconds.
 evaluation_interval: 15s # Evaluate rules every 15 seconds. 
 scrape_timeout: 15s # scrape_timeout is set to the global default (10s).

# A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself.
scrape_configs:
 # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
 - job_name: 'prometheus'

# metrics_path defaults to '/metrics'
 # scheme defaults to 'http'.

static_configs:
 - targets: ['localhost:9090']

Untuk opsi konfigurasi lainnya, lihat panduan Konfigurasi Prometheus resmi.

Ubah izin direktori menjadi pengguna dan grup Prometheus

Kepemilikan file dan data Prometheus harus menjadi pengguna dan grupnya.

# chown -R prometheus:prometheus /etc/prometheus/  /var/lib/prometheus/
# chmod -R 775 /etc/prometheus/ /var/lib/prometheus/

Mulai dan aktifkan layanan Prometheus

Mulai dan aktifkan layanan Prometheus untuk memulai saat boot.

# systemctl start prometheus
# systemctl enable prometheus
Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /etc/systemd/system/prometheus.service.

Periksa status:

# systemctl status prometheus


Konfirmasikan bahwa port 9090 mendengarkan.

# netstat -tunlp | grep 9090
tcp6 0 0 :::9090 :::* LISTEN 2140/prometheus

# telnet 127.0.0.1 9090
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
^]
If you have a firewall like ufw, Open port 9090 to be able to access it from a remote device.

# ufw allow 9090
Rule added
Rule added (v6)

Untuk mengizinkan jaringan tertentu, gunakan:

# ufw allow from 192.168.10.0/24 to any port 9090
Rule added

# ufw status
Status: active

To Action From
-- ------ ----
9090 ALLOW Anywhere 
9090 ALLOW 192.168.10.0/24 
9090 (v6) ALLOW Anywhere (v6)

Untuk mendapatkan antarmuka Web, buka http://ip:9090

Hal berikutnya yang mungkin ingin Anda lihat adalah konfigurasi Berbagai eksportir untuk pengumpulan dan visualisasi metrik. Tempat terbaik untuk memulai adalah halaman Instrumen Eksportir.


Ubuntu
  1. Cara menginstal R di Ubuntu 16.04

  2. Cara Menginstal Go di Ubuntu 18.04

  3. Cara Menginstal Prometheus di Ubuntu 20.04

  1. Cara Menginstal Odoo di Ubuntu

  2. Cara Menginstal Maven di Ubuntu

  3. Cara Menginstal Anggur di Ubuntu

  1. Cara Menginstal Ruby di Ubuntu 20.04

  2. Cara Menginstal Putty di Ubuntu

  3. Cara Menginstal R di Ubuntu 20.04