Azure Monitor dan Prometheus
Prometheus adalah solusi pemantauan dan pemberitahuan sumber terbuka populer yang banyak digunakan dalam ekosistem cloud-native. Prometheus digunakan untuk memantau dan memperingatkan performa infrastruktur dan beban kerja dan sering digunakan di lingkungan Kubernetes.
Gunakan Prometheus sebagai layanan terkelola Azure, atau sebagai layanan yang dikelola sendiri untuk mengumpulkan metrik. Metrik Prometheus dapat dikumpulkan dari kluster Azure Kubernetes Service (AKS), kluster Kubernetes dengan dukungan Azure Arc, komputer virtual, dan set skala komputer virtual.
Metrik Prometheus disimpan di ruang kerja Azure Monitor, tempat Anda dapat menganalisis dan memvisualisasikan data menggunakan Metrics Explorer dengan PromQL dan Azure Managed Grafana.
Penting
Prometheus yang dikelola dan dihosting Azure Monitor ditujukan untuk menyimpan informasi tentang kesehatan layanan komputer dan aplikasi pelanggan. Ini tidak dimaksudkan untuk menyimpan data apa pun yang diklasifikasikan sebagai Informasi Pengidentifikasi Pribadi (PII) atau Informasi Pengidentifikasi Pengguna Akhir (EUII). Kami sangat menyarankan agar Anda tidak mengirim informasi sensitif apa pun (nama pengguna, nomor kartu kredit, dll.) ke bidang Prometheus yang dihosting Azure Monitor seperti nama metrik, nama label, atau nilai label.
Layanan Terkelola Azure Monitor untuk Prometheus
Azure Monitor Managed Service for 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 dalam Azure Kubernetes Service, memungkinkan Anda untuk fokus pada pemantauan aplikasi dan infrastruktur Anda.
Sebagai layanan yang dikelola sepenuhnya, layanan terkelola Azure Monitor untuk Prometheus secara otomatis menyebarkan Prometheus di Kubernetes yang didukung AKS atau ARC. Layanan ini memberikan ketersediaan tinggi, jaminan SLA, dan pembaruan perangkat lunak otomatis. Layanan ini menyediakan penyimpanan metrik yang sangat dapat diskalakan, dengan retensi 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. Terintegrasi secara asli dengan Azure Managed Grafana, dan juga berfungsi dengan Grafana yang dikelola sendiri.
Harga didasarkan pada penyerapan dan kueri tanpa biaya penyimpanan tambahan. Untuk informasi selengkapnya, lihat tab Metrik di harga Azure Monitor.
Mengaktifkan layanan terkelola Azure Monitor untuk Prometheus
Layanan terkelola Azure Monitor untuk Prometheus mengumpulkan data dari layanan Azure Kubernetes:
- Layanan Azure Kubernetes (AKS)
- Kubernetes yang mendukung Azure Arc
Untuk mengaktifkan layanan terkelola Azure Monitor untuk Prometheus, Anda harus membuat ruang kerja Azure Monitor untuk menyimpan metrik. Setelah ruang kerja dibuat, Anda dapat melakukan onboarding layanan yang mengumpulkan metrik Prometheus.
- Untuk mengumpulkan metrik Prometheus dari kluster Kubernetes Anda, lihat Mengaktifkan pemantauan untuk kluster Kubernetes.
- Untuk mengonfigurasi penulisan jarak jauh untuk mengumpulkan data dari server Prometheus yang dikelola sendiri, lihat Layanan terkelola Azure Monitor untuk penulisan jarak jauh Prometheus.
Untuk mengaktifkan Prometheus Terkelola untuk cloud bersalju udara Microsoft Azure, hubungi dukungan.
Prometheus yang dihost sendiri yang dihosting Azure
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 penulisan jarak jauh, Anda dapat mengumpulkan data dari server Prometheus yang dikelola sendiri yang berjalan di lingkungan berikut:
- Komputer virtual Azure
- Set skala komputer virtual Azure
- Server yang didukung Arc
- Self manged azure-hosted atau arc-enabled Kubernetes clusters.
Layanan Kubernetes yang dikelola sendiri
Kirim metrik dari Prometheus yang dikelola sendiri pada kluster Kubernetes. Untuk informasi selengkapnya tentang menulis jarak jauh ke ruang kerja Azure Monitor untuk layanan Kubernetes, lihat artikel berikut:
- Mengirim data Prometheus dari AKS ke Azure Monitor dengan menggunakan autentikasi identitas terkelola
- Mengirim data Prometheus dari AKS ke Azure Monitor dengan menggunakan autentikasi ID Microsoft Entra
- Mengirim data Prometheus ke Azure Monitor dengan menggunakan autentikasi identitas yang dikelola pod (pratinjau) Id Microsoft Entra
- Mengirim data Prometheus ke Azure Monitor dengan menggunakan autentikasi ID Beban Kerja (pratinjau) Microsoft Entra ID
Set Virtual Machines dan Virtual Machine Scale
Mengirim data dari Prometheus yang dikelola sendiri pada komputer virtual dan set skala komputer virtual. Komputer virtual dapat berada di lingkungan yang dikelola Azure atau lokal. Bekukan informasi selengkapnya, lihat Mengirim metrik Prometheus dari Komputer Virtual ke ruang kerja Azure Monitor.
Penyimpanan data
Metrik Prometheus disimpan di ruang kerja Azure Monitor. Data disimpan dalam database seri waktu yang dapat dikueri menggunakan Prometheus Query Language (PromQL). Anda dapat menyimpan data dari beberapa sumber data Prometheus dalam satu ruang kerja Azure Monitor. Untuk informasi selengkapnya, lihat Gambaran umum ruang kerja Azure Monitor.
Data disimpan di ruang kerja Azure Monitor selama 18 bulan.
Mengkueri dan menganalisis metrik Prometheus
Data Prometheus diambil menggunakan Prometheus Query Language (PromQL). Anda dapat menulis kueri Anda sendiri, menggunakan kueri dari komunitas sumber terbuka, dan menggunakan dasbor Grafana yang menyertakan kueri PromQL. Lihat proyek Prometheus.
Layanan Azure berikut mendukung kueri metrik Prometheus dari ruang kerja Azure Monitor:
- Azure Monitor Metrics Explorer dengan PromQL
- Azure Managed Grafana
- Buku kerja Azure Monitor
- API kueri Prometheus
Penjelajah Metrik Azure Monitor dengan PromQL
Metrics Explorer dengan PromQL memungkinkan Anda menganalisis dan memvisualisasikan platform dan metrik Prometheus. Penjelajah metrik mendukung metrik PromQL for Prometheus. Metrics Explorer dengan PromQL (pratinjau) tersedia dari item menu Metrik ruang kerja Azure Monitor tempat metrik Prometheus Anda disimpan. Untuk informasi selengkapnya, lihat Metrics Explorer dengan PromQL.
Buku kerja Azure
Buat bagan dan dasbor yang didukung oleh layanan terkelola Azure Monitor untuk Prometheus menggunakan Azure Workbooks dan kueri PromQL. Untuk informasi selengkapnya, lihat Metrik Query Prometheus menggunakan buku kerja Azure
Integrasi Grafana
Metrik VisualizE Prometheus menggunakan Azure Managed Grafana. Sambungkan ruang kerja Azure Monitor Anda ke ruang kerja Grafana sehingga dapat digunakan sebagai sumber data di dasbor Grafana. Anda kemudian memiliki akses ke beberapa dasbor bawaan yang menggunakan metrik Prometheus dan kemampuan untuk membuat sejumlah dasbor kustom. Untuk informasi selengkapnya, lihat Menautkan ruang kerja Grafana ke ruang kerja Azure Monitor
API kueri Prometheus
Gunakan PromQL melalui REST API untuk mengkueri metrik Prometheus yang disimpan di ruang kerja Azure Monitor. Untuk informasi selengkapnya, lihat API kueri Prometheus.
Aturan dan pemberitahuan
Prometheus mendukung aturan perekaman dan aturan pemberitahuan menggunakan kueri PromQL. Aturan dan pemberitahuan secara otomatis disebarkan layanan terkelola Azure Monitor untuk Prometheus. Metrik yang direkam oleh aturan perekaman disimpan di ruang kerja Azure Monitor dan dapat dikueri oleh dasbor atau oleh aturan lain. Aturan pemberitahuan dan aturan perekaman dapat dibuat dan dikelola menggunakan grup aturan Azure Managed Prometheus. Untuk kluster AKS Anda, sekumpulan aturan pemberitahuan dan aturan perekaman Prometheus yang telah ditentukan disediakan untuk memungkinkan mulai cepat yang mudah.
Pemberitahuan yang diaktifkan oleh aturan pemberitahuan dapat memicu tindakan atau pemberitahuan, seperti yang ditentukan dalam grup tindakan yang dikonfigurasi untuk aturan pemberitahuan. 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 tentang batas metrik Prometheus, lihat Batas layanan Azure Monitor.
Untuk memantau dan memperingatkan metrik penyerapan Anda, lihat Memantau penyerapan metrik ruang kerja Azure Monitor.
Batasan/Masalah yang diketahui - 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 selama 1 hingga 2 menit dalam beberapa koleksi metrik dari pengumpul tingkat kluster kami. Kesenjangan ini disebabkan oleh tindakan reguler dari Azure Kubernetes Service untuk memperbarui simpul di kluster Anda. Perilaku ini diharapkan dan terjadi karena simpul yang dijalankannya saat diperbarui. Aturan pemberitahuan yang direkomendasikan tidak terpengaruh oleh perilaku ini.
- Prometheus terkelola untuk simpul Windows tidak diaktifkan secara otomatis. Untuk mengaktifkan pemantauan untuk simpul Windows & pod di kluster Anda, lihat Memantau simpul Windows & pod di kluster Anda.
Sensitivitas huruf besar/besar
Azure Managed Prometheus adalah sistem yang tidak peka huruf besar/kecil. Ini memperlakukan string, seperti nama metrik, nama label, atau nilai label, sebagai rangkaian waktu yang sama jika berbeda dari rangkaian waktu lain hanya dengan kasus string.
Catatan
Perilaku ini berbeda dari sumber terbuka Prometheus asli, yang merupakan sistem peka huruf besar/kecil.
Instans Prometheus yang dikelola sendiri yang berjalan di azure VM, VMSS, atau kluster Azure Kubernetes Service (AKS) adalah sistem peka huruf besar/kecil.
Di Prometheus terkelola Azure, rangkaian waktu berikut dianggap sama:
diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")
Contoh di atas adalah rangkaian waktu tunggal dalam database rangkaian waktu.
- Setiap sampel yang diserap terhadapnya disimpan seolah-olah mereka diekstraksi/diserap terhadap satu rangkaian waktu.
- Jika contoh sebelumnya diserap dengan tanda waktu yang sama, salah satunya dihilangkan secara acak.
- Casing yang disimpan dalam database deret waktu dan dikembalikan oleh kueri tidak dapat diprediksi. Casing yang berbeda dapat dikembalikan pada waktu yang berbeda untuk rangkaian waktu yang sama.
- Setiap nama metrik atau pencocok nama/nilai label yang ada dalam kueri diambil dari database rangkaian waktu dengan membuat perbandingan yang tidak peka huruf besar/kecil. Jika ada pencocokan peka huruf besar/kecil dalam kueri, pencocokan sensitif huruf besar/kecil secara otomatis diperlakukan sebagai pencocokan yang tidak peka huruf besar/kecil saat membuat perbandingan string.
Praktik terbaik adalah memastikan bahwa rangkaian waktu diproduksi atau diekstraksi menggunakan satu kasus yang konsisten.
Dalam sumber terbuka Prometheus, rangkaian waktu di atas diperlakukan sebagai dua rangkaian waktu yang berbeda. Sampel apa pun yang diekstraksi/diserap terhadapnya disimpan secara terpisah.
Referensi Prometheus
Berikut ini adalah tautan ke dokumentasi Prometheus.
- Mengkueri Prometheus
- Dukungan Grafana untuk Prometheus
- Menentukan aturan perekaman
- Aturan pemberitahuan
- Menulis Pengekspor
Langkah berikutnya
- Aktifkan layanan terkelola Azure Monitor untuk Prometheus pada kluster Kubernetes Anda.
- Kirim metrik Prometheus dari Virtual Machines ke ruang kerja Azure Monitor.
- Mengonfigurasi grup aturan pemberitahuan dan perekaman Prometheus.
- Sesuaikan pengikisan metrik Prometheus.
- Memecahkan masalah pengumpulan metrik Prometheus.