Pantau sumber daya dan aplikasi sistem dengan Prometheus di Lightsail - Amazon Lightsail

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pantau sumber daya dan aplikasi sistem dengan Prometheus di Lightsail

Prometheus adalah alat pemantauan deret waktu open source untuk mengelola berbagai sumber daya dan aplikasi sistem. Ini menyediakan model data multidimensi, kemampuan untuk menanyakan data yang dikumpulkan, dan pelaporan terperinci dan visualisasi data melalui Grafana.

Secara default, Prometheus diaktifkan untuk mengumpulkan metrik di server tempat ia diinstal. Dengan bantuan eksportir node, metrik dapat dikumpulkan dari sumber daya lain seperti server web, wadah, database, aplikasi khusus, dan sistem pihak ketiga lainnya. Dalam tutorial ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi Prometheus dengan eksportir node pada instance Lightsail. Untuk daftar lengkap eksportir yang tersedia, lihat Eksportir dan integrasi dalam dokumentasi Prometheus.

Daftar Isi

Langkah 1: Selesaikan prasyarat

Sebelum Anda dapat menginstal Prometheus pada instance Amazon Lightsail, Anda harus melakukan hal berikut:

Langkah 2: Tambahkan pengguna dan direktori sistem lokal ke instance Lightsail Anda

Selesaikan prosedur berikut untuk terhubung ke instance Lightsail Anda menggunakan SSH dan menambahkan pengguna dan direktori sistem. Prosedur ini membuat akun pengguna Linux berikut:

  • prometheus— Akun ini digunakan untuk menginstal dan mengkonfigurasi lingkungan server.

  • exporter— Akun ini digunakan untuk mengkonfigurasi node_exporter ekstensi.

Akun pengguna ini dibuat hanya untuk tujuan manajemen dan oleh karena itu tidak memerlukan layanan pengguna tambahan atau izin di luar cakupan pengaturan ini. Dalam prosedur ini, Anda juga membuat direktori untuk menyimpan dan mengelola file, pengaturan layanan, dan data yang Prometheus gunakan untuk memantau sumber daya.

  1. Masuk ke konsol Lightsail.

  2. Pada halaman pengelolaan instans Anda, pada tab Connect, pilih Connect menggunakan SSH.

    Connect menggunakan SSH di konsol Lightsail
  3. Setelah Anda terhubung, masukkan perintah berikut satu per satu untuk membuat dua akun pengguna Linux, prometheus danexporter.

    sudo useradd --no-create-home --shell /bin/false prometheus
    sudo useradd --no-create-home --shell /bin/false exporter
  4. Masukkan perintah berikut satu per satu untuk membuat direktori sistem lokal.

    sudo mkdir /etc/prometheus /var/lib/prometheus
    sudo chown prometheus:prometheus /etc/prometheus
    sudo chown prometheus:prometheus /var/lib/prometheus

Langkah 3: Unduh paket biner Prometheus

Selesaikan prosedur berikut untuk mengunduh paket biner Prometheus ke instance Lightsail Anda.

  1. Buka browser web di komputer lokal Anda dan jelajahi halaman unduhan Prometheus.

  2. Di bagian atas halaman, untuk dropdown sistem operasi, pilih linux. Untuk Arsitektur, pilih amd64.

    Pilih filter unduhan untuk Prometheus
  3. Pilih atau klik kanan tautan unduhan Prometheus yang muncul, dan salin alamat tautan ke file teks di komputer Anda. Lakukan hal yang sama untuk tautan unduhan node_exporter yang muncul. Anda akan menggunakan kedua alamat yang disalin nanti dalam prosedur ini.

    Salin tautan unduhan untuk Prometheus
  4. Connect ke instance Lightsail Anda menggunakan SSH.

  5. Masukkan perintah berikut untuk mengubah direktori ke direktori home Anda.

    cd ~
  6. Masukkan perintah berikut untuk mengunduh paket biner Prometheus ke instance Anda.

    curl -LO prometheus-download-address

    Ganti prometheus-download-address dengan alamat yang Anda salin sebelumnya dalam prosedur ini. Perintah akan terlihat seperti contoh berikut ketika Anda menambahkan alamat.

    curl -LO https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz
  7. Masukkan perintah berikut untuk mengunduh paket node_exporter biner ke instance Anda.

    curl -LO node_exporter-download-address

    Ganti node_exporter-download-address dengan alamat yang Anda salin pada langkah sebelumnya dari prosedur ini. Perintah akan terlihat seperti contoh berikut ketika Anda menambahkan alamat.

    curl -LO https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
  8. Jalankan perintah berikut satu per satu untuk mengekstrak konten file Prometheus dan Node Exporter yang diunduh.

    tar -xvf prometheus-2.37.0.linux-amd64.tar.gz
    tar -xvf node_exporter-1.3.1.linux-amd64.tar.gz

    Beberapa subdirektori dibuat setelah konten file yang diunduh diekstraksi.

  9. Masukkan perintah berikut satu per satu untuk menyalin prometheus dan promtool mengekstrak file ke direktori /usr/local/bin program.

    sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus /usr/local/bin
    sudo cp -p ./prometheus-2.37.0.linux-amd64/promtool /usr/local/bin
  10. Masukkan perintah berikut untuk mengubah kepemilikan promtool file prometheus dan ke prometheus pengguna yang Anda buat sebelumnya dalam tutorial ini.

    sudo chown prometheus:prometheus /usr/local/bin/prom*
  11. Masukkan perintah berikut satu per satu untuk menyalin consoles dan console_libraries subdirektori ke. /etc/prometheus -rOpsi ini melakukan salinan rekursif dari semua direktori dalam hierarki.

    sudo cp -r ./prometheus-2.37.0.linux-amd64/consoles /etc/prometheus
    sudo cp -r ./prometheus-2.37.0.linux-amd64/console_libraries /etc/prometheus
  12. Masukkan perintah berikut satu per satu untuk mengubah kepemilikan file yang disalin ke prometheus pengguna yang Anda buat sebelumnya dalam tutorial ini. -ROpsi ini melakukan perubahan kepemilikan rekursif untuk semua file dan direktori dalam hierarki.

    sudo chown -R prometheus:prometheus /etc/prometheus/consoles
    sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
  13. Masukkan perintah berikut satu per satu untuk menyalin file konfigurasi prometheus.yml ke /etc/prometheus direktori dan mengubah kepemilikan file yang disalin ke prometheus pengguna yang Anda buat sebelumnya dalam tutorial ini.

    sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus.yml /etc/prometheus
    sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
  14. Masukkan perintah berikut untuk menyalin node_exporter file dari ./node_exporter* subdirektori ke direktori /usr/local/bin program.

    sudo cp -p ./node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin
  15. Masukkan perintah berikut untuk mengubah kepemilikan file ke exporter pengguna yang Anda buat sebelumnya dalam tutorial ini.

    sudo chown exporter:exporter /usr/local/bin/node_exporter

Langkah 4: Konfigurasikan Prometheus

Selesaikan prosedur berikut untuk mengkonfigurasi Prometheus. Dalam prosedur ini, Anda membuka dan mengedit prometheus.yml file, yang berisi berbagai pengaturan untuk alat Prometheus. Prometheus menetapkan lingkungan pemantauan berdasarkan pengaturan yang Anda konfigurasikan dalam file.

  1. Connect ke instance Lightsail Anda menggunakan SSH.

  2. Masukkan perintah berikut untuk membuat salinan cadangan prometheus.yml file sebelum Anda membuka dan mengeditnya.

    sudo cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml.backup
  3. Masukkan perintah berikut untuk membuka file prometheus.yml menggunakan Vim.

    sudo vim /etc/prometheus/prometheus.yml

    Berikut adalah beberapa parameter penting yang mungkin ingin Anda konfigurasikan dalam prometheus.yml file:

    • scrape_interval— Terletak di bawah global header, parameter ini mendefinisikan interval waktu (dalam detik) untuk seberapa sering Prometheus akan mengumpulkan atau mengikis data metrik untuk target tertentu. Seperti yang ditunjukkan oleh global tag, pengaturan ini bersifat universal untuk semua sumber daya yang dipantau Prometheus. Pengaturan ini juga berlaku untuk eksportir, kecuali eksportir individu memberikan nilai berbeda yang mengesampingkan nilai global. Anda dapat menyimpan parameter ini disetel ke nilai saat ini 15 detik.

    • job_name— Terletak di bawah scrape_configs header, parameter ini adalah label yang mengidentifikasi eksportir dalam kumpulan hasil kueri data atau tampilan visual. Anda dapat menentukan nilai nama pekerjaan untuk mencerminkan sumber daya yang sedang dipantau di lingkungan Anda. Misalnya, Anda dapat memberi label pekerjaan untuk mengelola situs web sebagaibusiness-web-app, atau Anda dapat memberi label database sebagaimysql-db-1. Dalam pengaturan awal ini, Anda hanya memantau server Prometheus, sehingga Anda dapat mempertahankan nilai saat ini. prometheus

    • targets— Terletak di bawah static_configs header, targets pengaturan menggunakan pasangan ip_addr:port kunci-nilai untuk mengidentifikasi lokasi di mana eksportir tertentu berjalan. Anda akan mengubah pengaturan default pada langkah 4-7 dari prosedur ini.

      Prometheus file YAMM
    catatan

    Untuk pengaturan awal ini, Anda tidak perlu mengkonfigurasi rule_files parameter alerting dan.

  4. Dalam prometheus.yml file yang telah Anda buka di Vim, tekan tombol I untuk masuk ke mode insert di Vim.

  5. Gulir dan temukan targets parameter yang terletak di bawah static_configs header.

  6. Ubah pengaturan default menjadi<ip_addr>:9090. Ganti <ip_addr> dengan alamat IP statis dari instance. Parameter yang dimodifikasi akan terlihat seperti contoh berikut.

    Prometheus YAMAL file dimodifikasi parameter static_configs
  7. Tekan tombol Esc untuk keluar dari mode insert, dan ketik:wq! untuk menyimpan perubahan Anda dan keluar dari Vim.

  8. (Opsional) Jika terjadi kesalahan, masukkan perintah berikut untuk mengganti prometheus.yml file dengan cadangan yang Anda buat sebelumnya dalam prosedur ini.

    sudo cp /etc/prometheus/prometheus.yml.backup /etc/prometheus/prometheus.yml

Langkah 5: Mulai Prometheus

Selesaikan prosedur berikut untuk memulai layanan Prometheus pada instans Anda.

  1. Connect ke instance Lightsail Anda menggunakan SSH.

  2. Masukkan perintah berikut untuk memulai layanan Prometheus.

    sudo -u prometheus /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

    Baris perintah mengeluarkan detail tentang proses startup dan layanan lainnya. Ini juga harus menunjukkan bahwa layanan mendengarkan pada port 9090.

    Prometheus memulai output

    Jika layanan tidak dimulai, lihat Langkah 1: Lengkapi bagian prasyarat dari tutorial ini untuk informasi tentang membuat aturan firewall instance untuk mengizinkan lalu lintas di port ini. Untuk kesalahan lain, tinjau prometheus.yml file untuk mengonfirmasi bahwa tidak ada kesalahan sintaks.

  3. Setelah layanan yang berjalan divalidasi, tekan Ctrl+C untuk menghentikannya.

  4. Masukkan perintah berikut untuk membuka file systemd konfigurasi di Vim. File ini digunakan untuk memulai Prometheus.

    sudo vim /etc/systemd/system/prometheus.service
  5. Masukkan baris berikut ke dalam file.

    [Unit] Description=PromServer 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

    Instruksi sebelumnya digunakan oleh manajer systemd layanan Linux untuk memulai Prometheus di server. Ketika dipanggil, Prometheus berjalan sebagai prometheus pengguna dan referensi prometheus.yml file untuk memuat pengaturan konfigurasi dan menyimpan data deret waktu dalam direktori. /var/lib/prometheus Anda dapat menjalankan man systemd dari baris perintah untuk melihat informasi lebih lanjut tentang layanan.

  6. Tekan tombol Esc untuk keluar dari mode insert, dan ketik:wq! untuk menyimpan perubahan Anda dan keluar dari Vim.

  7. Masukkan perintah berikut untuk memuat informasi ke manajer systemd layanan.

    sudo systemctl daemon-reload
  8. Masukkan perintah berikut untuk me-restart Prometheus.

    sudo systemctl start prometheus
  9. Masukkan perintah berikut untuk memeriksa status layanan Prometheus.

    sudo systemctl status prometheus

    Jika layanan diluncurkan dengan benar, Anda menerima output yang mirip dengan contoh berikut.

    Keluaran status Prometheus
  10. Tekan Q untuk keluar dari perintah status.

  11. Masukkan perintah berikut untuk mengaktifkan Prometheus untuk memulai ketika instance di-boot.

    sudo systemctl enable prometheus
  12. Buka browser web di komputer lokal Anda dan buka alamat web berikut untuk melihat antarmuka manajemen Prometheus.

    http:<ip_addr>:9090

    Ganti <ip_addr> dengan alamat IP statis dari instance Lightsail Anda. Anda akan melihat dasbor yang mirip dengan contoh berikut.

    Dasbor Prometheus

Langkah 6: Mulai Node Exporter

Selesaikan prosedur berikut untuk memulai layanan Node Exporter.

  1. Connect ke instance Lightsail Anda menggunakan SSH.

  2. Masukkan perintah berikut untuk membuat file systemd layanan untuk node_exporter menggunakan Vim.

    sudo vim /etc/systemd/system/node_exporter.service
  3. Tekan tombol I untuk masuk ke mode insert di Vim.

  4. Tambahkan baris teks berikut ke dalam file. Ini akan dikonfigurasi node_exporter dengan kolektor pemantauan untuk beban CPU, penggunaan sistem file, dan sumber daya memori.

    [Unit] Description=NodeExporter Wants=network-online.target After=network-online.target [Service] User=exporter Group=exporter Type=simple ExecStart=/usr/local/bin/node_exporter --collector.disable-defaults \ --collector.meminfo \ --collector.loadavg \ --collector.filesystem [Install] WantedBy=multi-user.target
    catatan

    Instruksi ini menonaktifkan metrik mesin default untuk Node Exporter. Untuk daftar lengkap metrik yang tersedia untuk Ubuntu, lihat halaman manual Prometheus node_exporter di dokumentasi Ubuntu.

  5. Tekan tombol Esc untuk keluar dari mode insert, dan ketik:wq! untuk menyimpan perubahan Anda dan keluar dari Vim.

  6. Masukkan perintah berikut untuk memuat ulang systemd proses.

    sudo systemctl daemon-reload
  7. Masukkan perintah berikut untuk memulai node_exporter layanan.

    sudo systemctl start node_exporter
  8. Masukkan perintah berikut untuk memeriksa status node_exporter layanan.

    sudo systemctl status node_exporter

    Jika layanan berhasil diluncurkan, Anda menerima output yang mirip dengan contoh berikut.

    Keluaran status eksportir simpul
  9. Tekan Q untuk keluar dari perintah status.

  10. Masukkan perintah berikut untuk mengaktifkan Node Exporter untuk memulai ketika instance di-boot.

    sudo systemctl enable node_exporter

Langkah 7: Konfigurasikan Prometheus dengan pengumpul data Node Exporter

Selesaikan prosedur berikut untuk mengkonfigurasi Prometheus dengan pengumpul data Node Exporter. Anda melakukan ini dengan menambahkan job_name parameter baru untuk node_exporter dalam prometheus.yml file.

  1. Connect ke instance Lightsail Anda menggunakan SSH.

  2. Masukkan perintah berikut untuk membuka file prometheus.yml menggunakan Vim.

    sudo vim /etc/prometheus/prometheus.yml
  3. Tekan tombol I untuk masuk ke mode insert di Vim.

  4. Tambahkan baris teks berikut ke dalam file, di bawah - targets: ["<ip_addr>:9090"] parameter yang ada.

    - job_name: "node_exporter" static_configs: - targets: ["<ip_addr>:9100"]

    Parameter yang dimodifikasi dalam prometheus.yml file akan terlihat seperti contoh berikut.

    Konfigurasi statis untuk Node Exporter

    Perhatikan hal berikut:

    • Node Exporter mendengarkan port 9100 agar prometheus server dapat mengikis data. Konfirmasikan bahwa Anda mengikuti langkah-langkah untuk membuat aturan firewall instance seperti yang diuraikan dalam Langkah 1: Lengkapi bagian prasyarat dari tutorial ini.

    • Seperti konfigurasi prometheusjob_name, ganti <ip_addr> dengan alamat IP statis yang dilampirkan ke instance Lightsail Anda.

  5. Tekan tombol Esc untuk keluar dari mode insert, dan ketik:wq! untuk menyimpan perubahan Anda dan keluar dari Vim.

  6. Masukkan perintah berikut untuk memulai ulang layanan Prometheus sehingga perubahan pada file konfigurasi dapat berlaku.

    sudo systemctl restart prometheus
  7. Masukkan perintah berikut untuk memeriksa status layanan Prometheus.

    sudo systemctl status prometheus

    Jika layanan dimulai ulang dengan benar, Anda menerima output yang mirip dengan berikut ini.

    Keluaran status Prometheus
  8. Tekan Q untuk keluar dari perintah status.

  9. Buka browser web di komputer lokal Anda dan buka alamat web berikut untuk melihat antarmuka manajemen Prometheus.

    http:<ip_addr>:9090

    Ganti <ip_addr> dengan alamat IP statis dari instance Lightsail Anda. Anda akan melihat dasbor yang mirip dengan contoh berikut.

    Dasbor Prometheus
  10. Di menu utama, pilih tarik-turun Status dan pilih Target.

    Opsi menu target di dasbor Prometheus

Pada layar berikutnya, Anda akan melihat dua target. Target pertama adalah untuk pekerjaan kolektor metrik node_exporter, dan target kedua adalah untuk pekerjaan prometheus.

Target di dasbor Prometheus

Lingkungan sekarang diatur dengan benar untuk mengumpulkan metrik dan memantau server.