Apa itu Prometheus dan mengapa begitu populer? – CloudSavvy IT

Grafik yang menunjukkan logo Prometheus

Prometheus adalah solusi pemantauan sumber terbuka untuk mengumpulkan metrik dan menggabungkannya sebagai data deret waktu. Sederhananya, setiap item di toko Prometheus adalah peristiwa metrik yang disertai dengan stempel waktu terjadinya.

Prometheus awalnya dikembangkan di Soundcloud tetapi sekarang menjadi proyek komunitas yang didukung oleh Cloud Native Computing Foundation (CNCF). Ini telah berkembang pesat menjadi terkenal selama dekade terakhir karena kombinasi fitur rekayasa asli-query dan cloud-native telah menjadikannya rangkaian pemantauan yang ideal untuk aplikasi modern.

Dalam artikel ini, kami akan menjelaskan peran Prometheus, menelusuri bagaimana data disimpan dan diungkapkan, dan menyoroti di mana tanggung jawab Prometheus berakhir. Sebagian dari popularitasnya adalah karena interoperabilitas perangkat lunak dengan platform lain yang dapat menampilkan data dalam format yang lebih nyaman.

Apa yang Prometheus lakukan?

Prometheus menyimpan acara secara real time. Peristiwa ini dapat relevan dengan aplikasi Anda, seperti konsumsi memori, penggunaan jaringan, atau permintaan masuk individual.

Unit dasar data adalah ‘skala’. Setiap skala diberi nama yang juga dapat dirujuk dan satu set sebutan. Label adalah pasangan data nilai kunci acak yang dapat digunakan untuk memfilter metrik di database Anda.

Metrik selalu didasarkan pada salah satu dari empat jenis alat dasar:

  • menghitung – Nilainya terus meningkat dan tidak berkurang atau diatur ulang.
  • Skala – Nilai dapat berubah ke segala arah dan setiap saat.
  • grafik – Pengambilan sampel beberapa nilai memberikan jumlah semua nilai yang disimpan, ditambah jumlah peristiwa yang direkam.
  • Abstrak Fungsi singkat mirip dengan grafik tetapi mendukung jumlah yang dapat dikonfigurasi untuk pemantauan agregat selama periode waktu progresif.

Prometheus menentukan nilai metrik Anda saat ini menggunakan mekanisme penambangan data berbasis cloud. Ini akan secara berkala melakukan polling sumber data yang mendukung setiap ukuran, dan kemudian menyimpan hasilnya sebagai peristiwa baru dalam database deret waktu. Aplikasi yang dipantau bertanggung jawab untuk mengeksekusi titik akhir yang digunakan sebagai sumber data; Penyedia data ini digambarkan sebagai: eksportir.

Model berbasis cloud menyederhanakan integrasi Prometheus ke dalam aplikasi Anda. Yang harus Anda lakukan adalah menyediakan titik akhir yang kompatibel yang muncul di permukaan file Sungai kecil Nilai skala yang akan dikumpulkan. Prometheus berurusan dengan segala sesuatu yang lain. Meskipun ini dapat menyebabkan inefisiensi – misalnya, jika Prometheus melakukan polling pada titik akhir lagi sebelum mengubah datanya – itu berarti kode Anda tidak perlu berurusan dengan transfer metrik.

Baca Juga  Edisi gaming Redmi K50 akan hadir dengan 64MP IMX686 dan 20MP IMX596, perusahaan membagikan sampel kamera

Lebih lanjut tentang eksportir

Penerbit bertanggung jawab untuk mengungkapkan metrik aplikasi Anda yang siap dirakit untuk Prometheus. Banyak pengguna akan memulai dengan penerapan sederhana Pengekspor Node yang mengumpulkan metrik sistem inti dari host Linux tempat mereka diinstal.

Berbagai macam eksportir tersedia, banyak di antaranya ditawarkan oleh Prometheus sendiri atau penjual komunitas resmi. Baik Anda memantau mesin database populer seperti MySQL, PostgreSQL, dan MongoDB, atau Anda melacak server HTTP, mesin logging, atau bus pesan, ada kemungkinan besar sumbernya sudah ada di sana.

Anda dapat melacak metrik aplikasi Anda dengan menulis sumber Anda. Benar-benar tidak ada batasan dengan pendekatan ini – Anda dapat mencatat waktu yang dihabiskan di halaman arahan, volume penjualan, pendaftaran pengguna, atau apa pun yang penting bagi sistem Anda.

Eksportir adalah titik akhir API HTTP sederhana yang dapat dibuat dalam bahasa pemrograman apa pun. Prometheus menyediakan pustaka klien resmi untuk Go, Java/Scala, Python, dan Ruby yang memudahkan penggunaan kode Anda. Inisiatif komunitas juga telah menyediakan perpustakaan tidak resmi untuk sebagian besar bahasa populer lainnya.

Permintaan data Prometheus

Data dalam Prometheus dikueri menggunakan PromQL, bahasa kueri bawaan yang memungkinkan Anda menentukan, menganalisis, dan memformat metrik menggunakan berbagai operator dan fungsi. Karena Prometheus menggunakan penyimpanan kronologis, ada dukungan untuk pilihan rentang dan durasi berbasis waktu yang membuat pekerjaan ringan untuk memunculkan data tambahan selama periode waktu tertentu.

Baca Juga  Xbox Series X dan Xbox One mendapatkan 76 game baru yang kompatibel dengan versi sebelumnya

Berikut ini contoh yang menyoroti semua file memory_consumption Acara selama satu jam terakhir:

memory_consumption[1h]

Contoh ini hanya menunjukkan peristiwa konsumsi memori yang direkam selama satu jam terakhir.

Anda dapat memfilter menurut label dengan menambahkan pasangan nilai kunci di dalam kurung kurawal:

memory_consumption{app="api"}[1h]

Fungsi bawaan memberikan peluang untuk analisis yang lebih akurat. Berikut adalah contoh menggunakan ekstensi rate() Berfungsi untuk menghitung laju kenaikan memory_consumption Skala selama periode waktu yang ditentukan:

rate(memory_consumption[1h])

Data Prometheus dapat diakses melalui antarmuka pengguna web bawaan, dan biasanya dirender pada port 9090 atau HTTP API. Yang terakhir menyediakan cara yang ampuh untuk mendapatkan data dari Prometheus ke alat lain seperti solusi dasbor.

peringatan

Prometheus hadir dengan komponen Alertmanager yang dapat mengirimi Anda pemberitahuan saat metrik berubah. Ini mendukung kebijakan berbasis aturan yang menentukan kapan peringatan harus dikirim.

Anda dapat menerima peringatan ke alamat email Anda, kait web HTTP arbitrer, dan platform perpesanan populer seperti Slack. Alertmanager menyertakan dukungan terintegrasi untuk mengelompokkan dan menonaktifkan peringatan berulang sehingga tidak dibanjiri saat beberapa peristiwa terjadi dalam jangka waktu yang singkat.

Alertmanager dikonfigurasi secara independen dari sistem Prometheus utama. Anda dapat menyiapkan aturan lansiran di Prometheus, yang menentukan kondisi di mana metrik harus mengirim lansiran ke Alertmanager. Kemudian, komponen terakhir memutuskan apakah akan mengirimkan peringatan ke setiap platform yang dikonfigurasi.

Apa yang tidak bisa dilakukan Prometheus?

Sementara Prometheus adalah solusi pengawasan lengkap, ada beberapa peran yang tidak sesuai untuk itu. Prometheus dirancang dengan keandalan dan kinerja sebagai prinsip intinya. Hal ini menyebabkan trade-off dalam akurasi metrik.

Prometheus tidak menjamin bahwa data yang dikumpulkan akan 100% akurat. Ini dimaksudkan untuk skenario volume tinggi di mana peristiwa tidak disengaja yang dijatuhkan tidak memengaruhi gambaran yang lebih besar. Jika Anda melacak statistik sensitif yang seharusnya benar, Anda harus menggunakan platform lain untuk metrik tersebut. Anda masih dapat mengadopsi Prometheus untuk nilai-nilai yang kurang penting di sistem Anda.

Baca Juga  10 tips dan trik Instagram 2022 teratas yang harus Anda ketahui | TeknoSignal

Selain itu, Prometheus mungkin bukan satu-satunya komponen yang Anda inginkan dalam paket pemantauan Anda. Ini berfokus pada penyimpanan dan kueri acara Anda, terutama menggunakan API HTTP. Antarmuka pengguna web bawaan menyediakan kemampuan pembuatan bagan dasar tetapi tidak dapat mendukung dasbor khusus tingkat lanjut. Skenario visualisasi data biasanya ditangani dengan menerapkan instance Grafana berdampingan; Ini memberikan analisis metrik dan kemampuan dasbor dengan integrasi Prometheus bawaan.

kesimpulan

Paling sederhana, Prometheus adalah penyimpanan data deret waktu yang dapat digunakan untuk mengelola data sekuensial yang bergantung pada waktu. Ini biasanya digunakan untuk memantau metrik aplikasi lain di grup Anda. Meskipun Prometheus adalah sistem yang efisien untuk menyimpan dan menanyakan metrik, biasanya Prometheus terintegrasi dengan solusi lain untuk mendukung dasbor dan visualisasi grafis tingkat lanjut. Popularitasnya adalah karena kemampuannya untuk bekerja dengan metrik khusus, mendukung kueri yang kaya, dan berinteraksi dengan anggota lain dari ekosistem cloud-native.

Prometheus bertujuan untuk keandalan maksimum. Ini dirancang untuk menjadi alat bantu Anda selama kecelakaan membantu Anda memahami mengapa komponen lain gagal. Node Prometheus individu dalam penyebaran cluster sepenuhnya independen tanpa ketergantungan pada penyimpanan jarak jauh. Karena keandalannya, Prometheus tidak menjamin keakuratan data. Kelemahan ini harus menjadi pertimbangan utama ketika merencanakan publikasi baru.

Meskipun kami tidak membahas langkah-langkah praktis untuk menginstal Prometheus dalam artikel ini, dokumentasi resmi menyediakan panduan komprehensif untuk memulai jika Anda ingin mencoba sendiri sistemnya. Prometheus paling sering diterbitkan sebagai wadah Docker tetapi juga tersedia dari sumber atau sebagai binari yang telah dikompilasi sebelumnya untuk distribusi Linux populer. Metode Dockerized lebih mudah digunakan karena mencakup semua komponen penting dalam konfigurasi yang siap dijalankan.

Leave a Reply

Your email address will not be published. Required fields are marked *