Gejala
Setelah Anda menambahkan ServiceMonitor atau PodMonitor di Managed Service for Prometheus, Prometheus mungkin gagal mengambil metrik yang diharapkan.
Pemecahan Masalah
Verifikasi bahwa target telah ditemukan.
-
Masuk ke Managed Service for Prometheus console.
-
Di panel navigasi kiri, klik Instances.
-
Klik nama instans Prometheus target. Di panel navigasi kiri, klik Service Discovery, lalu klik tab Targets untuk memeriksa apakah target yang sesuai telah ditemukan.
-
Jika target tidak ditemukan:
-
Periksa apakah ServiceMonitor atau PodMonitor telah diaktifkan.
Di halaman Service Discovery, klik tab Configurations, lalu klik tab ServiceMonitor atau PodMonitor. Jika statusnya aktif (①), lanjutkan ke langkah berikutnya.

-
Periksa apakah resource ServiceMonitor atau PodMonitor telah diterapkan ke kluster ACK.
-
Masuk ke ACK console.
-
Di panel navigasi kiri, klik Cluster. Di halaman Clusters, klik nama kluster target.
-
Di panel navigasi kiri, pilih .
-
Di tab CRDs, klik tautan ServiceMonitor atau PodMonitor di kolom Name (①). Hal ini akan membuka tab Resource Objects. Pilih namespace dan periksa apakah ServiceMonitor atau PodMonitor yang telah Anda aktifkan terdaftar.

-
Jika tidak ada dalam daftar: Di konsol Managed Service for Prometheus, buka halaman Service Discovery, klik tab Configurations, lalu aktifkan ulang ServiceMonitor atau PodMonitor di kolom Operation.
-
Jika terdaftar, lanjutkan ke langkah berikutnya.
-
-
-
Verifikasi bahwa pemilih label sesuai dengan pod atau service target.
Jalankan perintah berikut dan periksa output-nya. Jika tidak ada hasil yang dikembalikan, sesuaikan pemilih label atau pemilih namespace agar sesuai dengan pod atau service target.
# Jika 'any' diatur ke true di pemilih namespace. kubectl get pod/service -l label_key=label_value -A # Jika namespace ditentukan, gunakan namespace tersebut. kubectl get pod/service -l label_key=label_value -n xx_namespace_xx -
Periksa pengaturan port.
-
Bidang
portharus sesuai dengan nilai bidangspec.containers.ports.namedalam definisipod, atau bidangspec.ports.namedalam definisiservice. -
Bidang
targetPortharus sesuai dengan nilai bidangspec.containers.ports.containerPortdalam definisipod, atau bidangspec.ports.targetPortdalam definisiservice.
Contoh:

-
-
-
Jika target ditemukan tetapi statusnya merah:
Hal ini menunjukkan bahwa Prometheus gagal mengambil data dari target tersebut. Masalah ini biasanya disebabkan oleh masalah pada sisi target. Lakukan pemecahan masalah berdasarkan pesan error di kolom Error.
-
Jika target ditemukan dan State-nya UP (①), tetapi Prometheus tetap tidak mengambil metrik yang diharapkan:
Klik tautan endpoint (②) untuk target tersebut. Tindakan ini akan menarik data mentah dari target. Verifikasi apakah data tersebut berisi metrik yang diharapkan. Jika metrik yang diharapkan tersedia, buka tab Metric di halaman Service Discovery. Di pojok kanan atas, klik Configure Discarded Metrics. Di kotak dialog, periksa apakah metrik tersebut ada dalam daftar yang dibuang. Jika metrik tersebut ada dalam daftar, artinya metrik tersebut telah dibuang secara manual. Anda dapat menghapus metrik tersebut dari daftar untuk mengaktifkannya kembali. Untuk informasi selengkapnya, lihat Enable discarded metrics.
-
Referensi
-
Untuk mengonfigurasi penemuan layanan untuk ServiceMonitor atau PodMonitor, lihat Manage service discovery for an ACK cluster.
-
Untuk melihat metrik yang dikumpulkan oleh penemuan layanan, lihat Enable discarded metrics.
-
Setelah Anda mengonfigurasi penemuan layanan untuk ServiceMonitor atau PodMonitor, sistem mungkin mengambil metrik terkait dan menimbulkan biaya. Untuk informasi selengkapnya tentang penagihan, lihat Billing dan Billing (legacy).