Bagikan melalui


Azure Monitor dan Prometheus

Prometheus adalah solusi pemantauan dan pemberitahuan sumber terbuka populer yang banyak digunakan dalam ekosistem cloud-native. Organisasi menggunakan Prometheus untuk memantau dan memperingatkan performa infrastruktur dan beban kerja. Ini sering digunakan di lingkungan Kubernetes.

Anda dapat menggunakan Prometheus sebagai layanan yang dikelola Azure atau sebagai layanan yang dikelola sendiri untuk mengumpulkan metrik. Metrik Prometheus dapat diperoleh dari kluster Azure Kubernetes Service (AKS), kluster Kubernetes yang diaktifkan dengan Azure Arc, mesin virtual, dan set skala mesin virtual.

Metrik Prometheus disimpan di ruang kerja Azure Monitor. Anda dapat menganalisis dan memvisualisasikan data di ruang kerja dengan menggunakan penjelajah metrik dengan Prometheus Query Language (PromQL) dan Azure Managed Grafana.

Penting

Penggunaan Azure Monitor untuk mengelola dan menghosting Prometheus ditujukan untuk menyimpan informasi tentang kesehatan layanan komputer dan aplikasi pelanggan. Ini tidak dimaksudkan untuk menyimpan data pribadi apa pun. Kami sangat menyarankan agar Anda tidak mengirim informasi sensitif apa pun (misalnya, nama pengguna dan nomor kartu kredit) ke bidang Prometheus yang dihosting Azure Monitor seperti nama metrik, nama label, atau nilai label.

Layanan terkelola Azure Monitor untuk Prometheus

Layanan terkelola Azure Monitor untuk Prometheus adalah komponen Metrik Azure Monitor yang menyediakan lingkungan yang dikelola sepenuhnya dan dapat diskalakan untuk menjalankan Prometheus. Ini menyederhanakan penyebaran, manajemen, dan penskalaan Prometheus di Kubernetes dengan dukungan AKS dan Azure Arc, sehingga Anda dapat fokus pada pemantauan aplikasi dan infrastruktur Anda.

Sebagai layanan yang dikelola sepenuhnya, layanan terkelola Azure Monitor untuk Prometheus secara otomatis menyebarkan Prometheus di AKS atau Kubernetes dengan dukungan Azure Arc. Layanan ini menyediakan ketersediaan tinggi, jaminan perjanjian tingkat layanan (SLA), dan pembaruan perangkat lunak otomatis. Ini menyediakan penyimpanan metrik yang sangat dapat diskalakan yang menyimpan data hingga 18 bulan.

Layanan terkelola Azure Monitor untuk Prometheus menyediakan pemberitahuan, aturan, dan dasbor yang telah dikonfigurasi sebelumnya. Dengan dasbor yang direkomendasikan dari komunitas Prometheus dan integrasi Grafana asli, Anda dapat segera mencapai pemantauan komprehensif. Layanan terkelola Azure Monitor untuk Prometheus terintegrasi dengan Azure Managed Grafana, dan juga berfungsi dengan Grafana yang dikelola sendiri.

Harga didasarkan pada pemasukan data dan pencarian tanpa biaya penyimpanan tambahan. Untuk informasi selengkapnya, lihat tab Metrik di harga Azure Monitor.

Nota

Azure Managed Prometheus mendukung Skalabilitas Otomatis Pod Horizontal untuk pod replikaset di kluster AKS Kubernetes. Lihat Autoscaling untuk mempelajari selengkapnya.

Mengaktifkan layanan terkelola Azure Monitor untuk Prometheus

Layanan terkelola Azure Monitor untuk Prometheus mengumpulkan data dari Kubernetes yang didukung AKS dan Azure Arc.

Untuk mengaktifkan layanan terkelola Azure Monitor untuk Prometheus, Anda harus membuat ruang kerja Azure Monitor untuk menyimpan metrik. Anda kemudian dapat melakukan onboarding layanan yang mengumpulkan metrik Prometheus:

Untuk mengaktifkan Prometheus terkelola untuk cloud bersalju udara Microsoft Azure, hubungi dukungan.

Prometheus yang di-host di Azure dan dikelola sendiri

Selain layanan terkelola untuk Prometheus, Anda dapat menginstal dan mengelola instans Prometheus Anda sendiri dan menggunakan tulis jarak jauh untuk menyimpan metrik di ruang kerja Azure Monitor.

Dengan menggunakan tulis jarak jauh, Anda dapat mengumpulkan data dari server Prometheus yang dikelola sendiri yang berjalan di lingkungan berikut:

  • Mesin virtual Azure
  • Set skala mesin virtual Azure
  • Server dengan dukungan Azure Arc
  • Kluster Kubernetes dikelola sendiri yang dihosting di Azure atau diaktifkan Azure Arc

Layanan Kubernetes yang dikelola sendiri

Kirim metrik dari Prometheus yang dikelola sendiri pada kluster Kubernetes. Untuk informasi selengkapnya tentang penulisan jarak jauh ke ruang kerja Azure Monitor untuk layanan Kubernetes, lihat artikel berikut:

Komputer virtual dan set skala komputer virtual

Mengirim data dari Prometheus yang dikelola sendiri pada mesin virtual dan sekumpulan mesin virtual. Komputer virtual dapat berada di lingkungan yang dikelola Azure atau lokal. Untuk informasi selengkapnya, lihat Mengirim metrik Prometheus dari komputer virtual, set skala, atau kluster Kubernetes ke workspace Azure Monitor.

Penyimpanan data

Metrik Prometheus disimpan di ruang kerja Azure Monitor. Data disimpan dalam database rangkaian waktu yang dapat dikueri melalui PromQL. Anda dapat menyimpan data dari beberapa sumber data Prometheus dalam satu ruang kerja Azure Monitor. Untuk informasi selengkapnya, lihat Arsitektur ruang kerja Azure Monitor.

Ruang kerja Azure Monitor menyimpan data selama 18 bulan.

Mengkueri dan menganalisis metrik Prometheus

Data Prometheus diambil melalui PromQL. Anda dapat menulis kueri Anda sendiri, menggunakan kueri dari komunitas sumber terbuka, dan menggunakan dasbor Grafana yang menyertakan kueri PromQL. Untuk informasi selengkapnya, lihat Mengkueri Prometheus di situs web Prometheus.

Layanan Azure berikut mendukung kueri metrik Prometheus dari ruang kerja Azure Monitor:

Penjelajah metrik Azure Monitor dengan PromQL

Gunakan penjelajah metrik dengan PromQL (pratinjau) untuk menganalisis dan memvisualisasikan platform dan metrik Prometheus. Penjelajah metrik dengan PromQL tersedia dari panel Metrik di ruang kerja Azure Monitor tempat metrik Prometheus Anda disimpan. Untuk informasi selengkapnya, lihat Penjelajah metrik Azure Monitor dengan PromQL.

Cuplikan layar kueri PromQL di penjelajah metrik Azure Monitor.

Buku kerja Azure

Buat bagan dan dasbor yang didukung oleh layanan terkelola Azure Monitor untuk Prometheus dengan menggunakan buku kerja Azure dan kueri PromQL. Untuk informasi selengkapnya, lihat Kueri metrik Prometheus menggunakan buku kerja Azure.

Integrasi Grafana

Visualisasikan metrik Prometheus dengan menggunakan Azure Managed Grafana. Sambungkan ruang kerja Azure Monitor Anda ke ruang kerja Grafana sehingga Anda dapat menggunakannya sebagai sumber data di dasbor Grafana. Anda kemudian memiliki akses ke beberapa dasbor bawaan yang menggunakan metrik Prometheus. Anda juga memiliki kemampuan untuk membuat sejumlah dasbor kustom. Untuk informasi selengkapnya, lihat Menautkan ruang kerja Grafana.

API kueri Prometheus

Gunakan PromQL melalui REST API untuk mengkueri metrik Prometheus yang disimpan di ruang kerja Azure Monitor. Untuk informasi selengkapnya, lihat Metrik Query Prometheus menggunakan API dan PromQL.

Aturan dan pemberitahuan

Prometheus mendukung aturan perekaman dan aturan pemberitahuan dengan menggunakan kueri PromQL. Layanan terkelola Azure Monitor untuk Prometheus secara otomatis menyebarkan aturan dan pemberitahuan. Metrik yang dicatat oleh aturan pencatatan disimpan di workspace Azure Monitor. Dasbor-dasbor atau aturan lain kemudian dapat menanyakan metrik.

Anda dapat membuat dan mengelola aturan pemberitahuan dan aturan perekaman dengan menggunakan layanan terkelola Azure Monitor untuk grup aturan Prometheus. Untuk kluster AKS Anda, sekumpulan aturan pemberitahuan dan aturan perekaman Prometheus yang telah ditentukan sebelumnya membantu Anda memulai dengan cepat.

Peringatan yang dipicu oleh aturan peringatan dapat memicu tindakan atau pemberitahuan, sebagaimana didefinisikan dalam grup tindakan yang dikonfigurasi untuk aturan tersebut. Anda juga dapat melihat pemberitahuan Prometheus yang diaktifkan dan diselesaikan di portal Azure, bersama dengan jenis pemberitahuan lainnya.

Batas dan kuota layanan

Layanan terkelola Azure Monitor untuk Prometheus memiliki batas dan kuota default untuk penyerapan. Ketika Anda mencapai batas penyerapan, pembatasan dapat terjadi. Anda dapat meminta peningkatan batas ini. Untuk informasi selengkapnya, lihat Batas layanan Azure Monitor.

Untuk memantau dan mengirimkan peringatan tentang penyerapan metrik Anda, lihat Penyerapan metrik ruang kerja Azure Monitor.

Keterbatasan

Batasan berikut berlaku untuk layanan terkelola Azure Monitor untuk Prometheus:

  • Frekuensi minimum untuk mengikis dan menyimpan metrik adalah 1 detik.
  • Selama pembaruan node, Anda mungkin mengalami celah yang berlangsung 1 hingga 2 menit dalam beberapa koleksi metrik dari kolektor tingkat kluster. Kesenjangan ini disebabkan oleh tindakan reguler dari Azure Kubernetes Service untuk memperbarui simpul di kluster Anda. Perilaku ini tidak memengaruhi aturan pemberitahuan yang direkomendasikan.
  • Prometheus terkelola untuk simpul Windows tidak diaktifkan secara otomatis. Untuk mengaktifkan pemantauan untuk simpul dan pod Windows di kluster Anda, lihatlah Mengaktifkan Pengumpulan Metrik Windows (Pratinjau).

Sensitivitas huruf besar/kecil

Layanan terkelola Azure Monitor untuk Prometheus adalah sistem yang tidak peka terhadap penggunaan huruf kapital. Ini memperlakukan string (seperti nama metrik, nama label, atau nilai label) sebagai seri waktu yang sama ketika berbeda dari seri waktu lain hanya berdasarkan kasus string.

Nota

Perilaku ini berbeda dari Prometheus sumber terbuka asli, yang merupakan sistem peka huruf besar/kecil. Instans Prometheus mandiri yang berjalan pada mesin virtual Azure, set skala mesin virtual, atau kluster Azure Kubernetes Service adalah sistem yang sensitif terhadap huruf besar/kecil.

Dalam layanan terkelola untuk Prometheus, rangkaian waktu berikut dianggap sama:

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

Contoh sebelumnya adalah rangkaian waktu tunggal dalam database rangkaian waktu. Pertimbangan berikut berlaku:

  • Sampel apa pun yang dimasukkan ke dalamnya disimpan seolah-olah telah diekstraksi atau dimasukkan ke dalam satu rangkaian waktu.
  • Jika contoh sebelumnya diproses dengan cap waktu yang sama, salah satunya akan dihapus secara acak.
  • Casing yang disimpan dalam database deret waktu dan dikembalikan oleh kueri tidak dapat diprediksi. Rangkaian waktu yang sama mungkin mengembalikan casing yang berbeda pada waktu yang berbeda.
  • Setiap nama metrik atau pencocok nama/nilai label yang ada dalam kueri diambil dari basis data deret waktu melalui perbandingan tanpa memperhatikan huruf besar-kecil. Jika ada pencocokan sensitif huruf besar/kecil dalam kueri, pencocokan ini secara otomatis diperlakukan sebagai pencocokan yang tidak sensitif huruf besar/kecil dalam perbandingan string.

Ini adalah praktik terbaik untuk menggunakan satu kasus yang konsisten untuk menghasilkan atau mengambil data deret waktu.

Prometheus sumber terbuka memperlakukan contoh sebelumnya sebagai dua rangkaian waktu yang berbeda. Sampel apa pun yang diekstraksi atau diserap terhadap mereka disimpan secara terpisah.

Nama metrik, nama label & nilai label

Pengikisan metrik saat ini memiliki batasan dalam tabel berikut:

Harta benda Batasan
Panjang nama label Kurang dari atau sama dengan 511 karakter. Ketika batas ini terlampaui untuk setiap rangkaian waktu dalam pekerjaan, seluruh pekerjaan scrape gagal, dan metrik dihilangkan dari pekerjaan tersebut sebelum penyerapan. Anda dapat melihat up=0 untuk pekerjaan tersebut dan juga menargetkan Ux menunjukkan alasan untuk up=0.
Panjang nilai label Kurang dari atau sama dengan 1023 karakter. Ketika batas ini terlampaui untuk setiap rangkaian waktu dalam pekerjaan, seluruh scrape gagal, dan metrik dihilangkan dari pekerjaan tersebut sebelum penyerapan. Anda dapat melihat up=0 untuk pekerjaan tersebut dan juga menargetkan Ux menunjukkan alasan untuk up=0.
Jumlah label per rangkaian waktu Kurang dari atau sama dengan 63. Ketika batas ini terlampaui untuk setiap rangkaian waktu dalam pekerjaan, seluruh pekerjaan scrape gagal, dan metrik dihilangkan dari pekerjaan tersebut sebelum penyerapan. Anda dapat melihat up=0 untuk pekerjaan tersebut dan juga menargetkan Ux menunjukkan alasan untuk up=0.
Panjang nama metrik Kurang dari atau sama dengan 511 karakter. Ketika batas ini terlampaui untuk setiap rangkaian waktu dalam pekerjaan, hanya seri tertentu yang dihilangkan. MetricextensionConsoleDebugLog memiliki jejak untuk metrik yang dihilangkan.
Nama label dengan casing yang berbeda Dua label dalam sampel metrik yang sama, dengan casing yang berbeda diperlakukan sebagai memiliki label duplikat dan dihilangkan saat diserap. Misalnya, rangkaian my_metric{ExampleLabel="label_value_0", examplelabel="label_value_1} waktu dihilangkan karena label duplikat karena ExampleLabel dan examplelabel dilihat sebagai nama label yang sama.

Referensi Prometheus

Berikut ini adalah tautan ke dokumentasi Prometheus: