Minggu, 24 November 2024

Monitoring Prometheus

Apa itu Prometheus?

Prometheus adalah sistem monitoring berbasis time-series database. Data dikumpulkan dalam bentuk metrik dan disimpan dengan timestamp. Prometheus dirancang untuk mengumpulkan dan menyimpan metrik dari berbagai sumber, termasuk aplikasi, server, dan layanan jaringan. Sejak diluncurkan pada tahun 2012, Prometheus telah menjadi alat yang populer di kalangan pengembang dan organisasi, terutama setelah bergabung dengan Cloud Native Computing Foundation pada tahun 2016

 

Fungsi Utama Prometheus

Fungsi utama Prometheus adalah untuk mengumpulkan dan menyimpan metrik deret waktu dari berbagai sistem dan layanan, dan untuk menyediakan bahasa kueri yang kuat dan sistem peringatan untuk menganalisis dan memantau data yang dikumpulkan. Ini adalah sistem pemantauan dan peringatan yang mengikis metrik dari berbagai sistem dan menyimpannya sebagai data deret waktu. Ini memungkinkan pengguna untuk menentukan aturan untuk menghasilkan peringatan berdasarkan metrik yang dikumpulkan, dan memiliki bahasa kueri bawaan untuk kueri dan menganalisis data. Tujuan utama Prometheus adalah menyediakan solusi pemantauan komprehensif yang mudah diatur, dikonfigurasi, dan digunakan. Ini dirancang untuk memantau lingkungan yang besar dan dinamis dan dapat digunakan untuk mengumpulkan metrik dari berbagai sistem dan layanan, dan dapat diintegrasikan dengan alat visualisasi dan peringatan lainnya.

 

Fungsi dan Fitur Utama Prometheus

Prometheus memiliki beberapa fungsi dan fitur yang membuatnya efektif untuk pemantauan sistem:
  • Pengumpulan Metrik: Prometheus dapat mengambil metrik dari berbagai sumber melalui exporter, yang merupakan perangkat lunak yang mengekspos data dalam format yang dapat di-scrape oleh Prometheus. Ini memungkinkan pemantauan berbagai aspek seperti performa aplikasi, penggunaan CPU, memori, dan disk.
  • Penyimpanan Data Waktu-Seri: Semua metrik yang dikumpulkan disimpan dalam database waktu-seri, memungkinkan pengguna untuk melakukan kueri dan analisis data dengan mudah.
  • Bahasa Kueri (PromQL): Prometheus menyediakan bahasa kueri yang kuat, PromQL, yang memungkinkan pengguna untuk memilih dan menggabungkan data berdasarkan waktu serta melakukan analisis mendalam.
  • Pemberitahuan: Pengguna dapat mendefinisikan aturan untuk menghasilkan pemberitahuan berdasarkan metrik yang dikumpulkan. Pemberitahuan ini dapat dikirimkan melalui berbagai saluran seperti email atau Slack.
  • Integrasi Visualisasi: Prometheus dapat diintegrasikan dengan alat visualisasi seperti Grafana, yang memungkinkan pengguna untuk menampilkan data dalam bentuk grafik dan dashboard yang informatif.
  • Skalabilitas: Pengaturan Prometheus memiliki skalabilitas yang cukup luas karena dapat menangani metrik yang besar. Alasannya, semua metrik berskala horizontal yang luas.

 

 

Awal Terciptanya

 Prometheus pertamakali dikembangkan oleh Julius Volz dan Matt Proud pada tahun 2012. Mereka adalah mantan insinyur di Google yang terinspirasi oleh sistem monitoring internal Google, yaitu Borgmon. Setelah meninggal kan Google mereka bekerja di SoundCloud saat itu SoundCloud sedang menghadapi keterbatasan dalam metode pemantauan yang ada pada saat itu, seperti StatsD dan Graphite, yang tidak memenuhi kebutuhan mereka akan pengukuran yang lebih kompleks dan skalabel. Dari sini lah mereka membuat Prometheus monitoring di bantu tim dari SoundCloud yang memberikan kontribusi signifikan dan mendukung pengembangan alat ini menjadi solusi monitoring open-source. Sehingga SoundCloud menjadi salah satu pengguna awal Prometheus.

 Dalam upaya untuk menciptakan alat yang lebih efektif, mereka mengembangkan Prometheus dengan beberapa tujuan kunci:

  1. Model Data Berbilang Dimensi: Prometheus dirancang untuk menangani data metrik yang memiliki banyak dimensi, sehingga memungkinkan analisis yang lebih mendalam.
  2. Operasi yang Sederhana: Alat ini bertujuan untuk menyederhanakan proses pengumpulan dan analisis data metrik.
  3. Skalabilitas: Prometheus dapat menangani kumpulan data yang besar dan dapat diskalakan dengan mudah.
  4. Bahasa Kueri yang Kuat: Dikenal sebagai PromQL, bahasa kueri ini memungkinkan pengguna untuk melakukan query dan analisis data secara efisien.

 Seiring berjalannya waktu, Prometheus berkembang menjadi salah satu solusi pemantauan paling populer, terutama dalam lingkungan cloud dan terkontainerisasi. Keberhasilan ini didukung oleh komunitas besar yang terus berkontribusi dalam pengembangan dan dokumentasi alat ini.

 

 

 Cara Kerja Prometheus

 Prometheus bekerja dengan cara secara berkala “menarik” (scrape) data metrik dari berbagai sumber, termasuk server, aplikasi, dan infrastruktur lainnya. Data metrik ini bisa berupa penggunaan CPU, memori, disk, lalu lintas jaringan, status layanan, dan banyak lagi. Data yang dikumpulkan kemudian disimpan dalam database time-series yang dirancang khusus untuk menyimpan data yang berubah seiring waktu. Database ini memungkinkan Prometheus untuk melacak perubahan data metrik dari waktu ke waktu, sehingga kita dapat menganalisis kinerja sistem secara historis.

 

Prometheus memiliki cara kerja yang terdiri dari beberapa komponen utama sebagai berikut:

  1. Exporters: Exporters adalah komponen yang digunakan untuk mengumpulkan data performa dari aplikasi atau sistem yang ingin dipantau. Exporters dapat diterapkan pada aplikasi atau sistem yang ingin di monitor.
  2. Prometheus Server: Prometheus Server adalah komponen inti dari sistem yang digunakan untuk mengumpulkan data dari exporters, menyimpan data dalam database, dan menyediakan API untuk mengambil data.
  3. Query Language: Prometheus menyediakan query language yang digunakan untuk mengambil data dari database dan melakukan operasi seperti agregasi dan filtering.
  4. Alert Manager: Prometheus memiliki fitur alerting yang dapat digunakan untuk mengirim notifikasi jika terjadi kondisi yang tidak diinginkan atau anomali dalam data yang dikumpulkan.
  5. Dashboard: Prometheus dapat digabungkan dengan Grafana untuk memunculkan data yang dikumpulkan berupa visualisasi data yang mudah dipahami dan digunakan.

 

 

Tipe Metrik yang Ada di Prometheus Server

Saat menggunakan Prometheus kalian akan menemukan beberapa tipe metrik utama seperti:

1. Counter 

Metrik penghitung yang akan memudahkan kamu melakukan evaluasi dan melacak nilai yang mengalami peningkatan. Kamu bisa dengan mudah mengatur ulang nilai menjadi nol dan mencapai nilai tertentu. 

2. Gauge 

Merupakan metrik untuk mengetahui nilai yang mengalami naik turun. Metrik ini berupa dalam bentuk satu nilai numerik yang bisa mengukur jumlah permintaan dalam waktu yang bersamaan. 

3. Summary 

Fungsi metrik ini adalah untuk memberikan observasi dari sampling. Ringkasan observasi akan terlihat dalam jumlah total pengamatan dan nilai tertentu. 

4. Histogram

Metrik ini mewakili data seperti sampel, waktu respon dan pengamatan yang terkait. Kamu bisa menyesuaikan perhitungannya dari kebutuhan. 

Ada hal yang membedakan antara histogram dan summary yaitu metode menghitung kuantil statistik. 

Pada histogram kuantil statistik menggunakan PromQL sedangkan summary hitungannya berdasarkan client.

 

 

Keunggulan Prometheus sebagai Tool Monitoring Server

  • Open-source dan Komunitas Aktif.
  • Kemampuan skalabilitas tinggi.
  • Integrasi mudah dengan tool Lain.
  • Memiliki bahasa kueri yang kuat.
  • Memiliki fitur peringatan.

 

 

Referensi

https://btech.id/en/news/prometheus-definisi-fungsi-cara-kerja-dan-keuntungan-menggunakannya/ 

https://www.biznetgio.com/news/apa-itu-prometheus

https://www.jagoanhosting.com/blog/prometheus/ 

https://nevacloud.com/blog/apa-itu-prometheus/ 

 

0 komentar:

Posting Komentar