Dokumen ini menjelaskan cara mengonfigurasi deployment Google Kubernetes Engine, sehingga Anda dapat menggunakan Google Cloud Managed Service for Prometheus untuk mengumpulkan metrik dari pengekspor Flink. Dokumen ini menunjukkan cara melakukan hal berikut:
- Siapkan pengekspor Flink untuk melaporkan metrik.
- Konfigurasi resource PodMonitoring untuk Google Cloud Managed Service for Prometheus guna mengumpulkan metrik yang diekspor.
- Akses dasbor di Cloud Monitoring untuk melihat metrik.
- Konfigurasi aturan pemberitahuan untuk memantau metrik.
Petunjuk ini hanya berlaku jika Anda menggunakan koleksi terkelola dengan Managed Service for Prometheus. Jika Anda menggunakan koleksi yang di-deploy sendiri, baca dokumentasi Flink untuk mengetahui informasi penginstalan.
Petunjuk ini diberikan sebagai contoh dan diharapkan dapat berfungsi di sebagian besar lingkungan Kubernetes. Jika Anda mengalami masalah saat menginstal aplikasi atau pengekspor karena kebijakan organisasi atau keamanan yang ketat, sebaiknya baca dokumentasi open source untuk mendapatkan dukungan.Untuk informasi tentang Flink, lihat Apache Flink.
Prasyarat
Untuk mengumpulkan metrik dari pengekspor Flink menggunakan Managed Service for Prometheus dan pengumpulan terkelola, deployment Anda harus memenuhi persyaratan berikut:
- Cluster Anda harus menjalankan Google Kubernetes Engine versi 1.21.4-gke.300 atau yang lebih baru.
- Anda harus menjalankan Google Cloud Managed Service for Prometheus dengan mengaktifkan koleksi terkelola. Untuk informasi selengkapnya, lihat Mulai menggunakan koleksi terkelola.
- Agar dapat menggunakan dasbor yang tersedia di Cloud Monitoring untuk integrasi Flink, Anda harus menggunakan
flink
versi 1.17 atau yang lebih baru.Untuk informasi selengkapnya tentang dasbor yang tersedia, lihat Melihat dasbor.
metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
.
Jika Anda men-deploy Flink dengan manifes memulai resmi, tambahkan opsi baru ini ke ConfigMap:
apiVersion: v1 kind: ConfigMap metadata: name: flink-config labels: app: flink data: flink-conf.yaml: |+ ... + metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
Jika Anda men-deploy Flink dengan operator resmi, tambahkan opsi baru ini ke kolom spec.flinkConfiguration
FlinkDeployment:
apiVersion: flink.apache.org/v1beta1 kind: FlinkDeployment metadata: name: basic-example spec: image: flink:1.17 flinkVersion: v1_17 flinkConfiguration: taskmanager.numberOfTaskSlots: "2" + metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
Atau, Anda dapat menentukan pelapor Prometheus sebagai opsi default dalam Konfigurasi operator Flink.
Untuk memastikan bahwa pengekspor Flink memunculkan metrik pada endpoint yang diharapkan, lakukan tindakan berikut:
Siapkan penerusan port dengan menggunakan perintah berikut:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9249
Akses endpoint
localhost:9249/metrics
menggunakan browser atau utilitascurl
di sesi terminal lainnya.
Menentukan resource PodMonitoring
Untuk penemuan target, Layanan Terkelola untuk Operator Prometheus memerlukan resource PodMonitoring yang sesuai dengan pengekspor Flink dalam namespace yang sama.
Anda dapat menggunakan konfigurasi PodMonitoring berikut:
Pastikan nilai kolomport
dan matchLabels
cocok dengan pod Flink yang ingin Anda pantau.
Flink mengekspos metrik di port 9249 secara default saat metrik diaktifkan.
Untuk menerapkan perubahan konfigurasi dari file lokal, jalankan perintah berikut:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Anda juga dapat menggunakan Terraform untuk mengelola konfigurasi Anda.
Menentukan aturan dan pemberitahuan
Anda dapat menggunakan konfigurasi Rules
berikut untuk menentukan pemberitahuan di metrik Flink:
Untuk menerapkan perubahan konfigurasi dari file lokal, jalankan perintah berikut:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
Anda juga dapat menggunakan Terraform untuk mengelola konfigurasi Anda.
Untuk mengetahui informasi selengkapnya tentang cara menerapkan aturan ke cluster Anda, lihat Evaluasi dan pemberitahuan aturan terkelola.
Anda dapat menyesuaikan nilai minimum pemberitahuan agar sesuai dengan aplikasi Anda.Memverifikasi konfigurasi
Anda dapat menggunakan Metrics Explorer untuk memverifikasi bahwa Anda telah mengonfigurasi pengekspor Flink dengan benar. Cloud Monitoring mungkin memerlukan waktu satu atau dua menit untuk menyerap metrik Anda.
Untuk memastikan metrik diserap, lakukan tindakan berikut:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
- Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
- Pastikan PromQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
- Masukkan dan jalankan kueri berikut:
up{job="flink", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
Lihat dasbor
Integrasi Cloud Monitoring mencakup dasbor "Prometheus". Dasbor diinstal secara otomatis saat Anda mengonfigurasi integrasi. Anda juga dapat melihat pratinjau statis dasbor tanpa menginstal integrasi.
Untuk melihat dasbor yang terinstal, lakukan hal berikut:
-
Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih Dashboards:
- Pilih tab Daftar Dasbor.
- Pilih kategori Integrations.
- Klik nama dasbor yang ingin Anda lihat.
Untuk melihat pratinjau statis dasbor, lakukan hal berikut:
-
Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih Integrations:
- Klik filter platform deployment Kubernetes Engine.
- Temukan integrasi Apache Flink, lalu klik View Details.
- Pilih tab Dasbor.
Pemecahan masalah
Untuk mengetahui informasi tentang cara memecahkan masalah penyerapan metrik, lihat Masalah terkait pengumpulan dari pengekspor dalam Memecahkan masalah sisi penyerapan.