Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Ambil metrik mentah bidang kontrol dalam format Prometheus

Mode fokus
Ambil metrik mentah bidang kontrol dalam format Prometheus - Amazon EKS

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bantu tingkatkan halaman ini

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bidang kontrol Kubernetes memperlihatkan sejumlah metrik yang direpresentasikan dalam format Prometheus. Metrik ini berguna untuk pemantauan dan analisis. Mereka diekspos secara internal melalui titik akhir metrik, dan dapat diakses tanpa sepenuhnya menggunakan Prometheus. Namun, menerapkan Prometheus lebih mudah memungkinkan analisis metrik dari waktu ke waktu.

Untuk melihat output metrik mentah, ganti endpoint dan jalankan perintah berikut.

kubectl get --raw endpoint

Perintah ini memungkinkan Anda untuk melewati jalur titik akhir apa pun dan mengembalikan respons mentah. Output mencantumkan metrik yang berbeda line-by-line, dengan setiap baris termasuk nama metrik, tag, dan nilai.

metric_name{tag="value"[,...]} value

Ambil metrik dari server API

Titik akhir server API umum diekspos di bidang kontrol Amazon EKS. Titik akhir ini terutama berguna ketika melihat metrik tertentu.

kubectl get --raw /metrics

Contoh output adalah sebagai berikut.

[...] # HELP rest_client_requests_total Number of HTTP requests, partitioned by status code, method, and host. # TYPE rest_client_requests_total counter rest_client_requests_total{code="200",host="127.0.0.1:21362",method="POST"} 4994 rest_client_requests_total{code="200",host="127.0.0.1:443",method="DELETE"} 1 rest_client_requests_total{code="200",host="127.0.0.1:443",method="GET"} 1.326086e+06 rest_client_requests_total{code="200",host="127.0.0.1:443",method="PUT"} 862173 rest_client_requests_total{code="404",host="127.0.0.1:443",method="GET"} 2 rest_client_requests_total{code="409",host="127.0.0.1:443",method="POST"} 3 rest_client_requests_total{code="409",host="127.0.0.1:443",method="PUT"} 8 # HELP ssh_tunnel_open_count Counter of ssh tunnel total open attempts # TYPE ssh_tunnel_open_count counter ssh_tunnel_open_count 0 # HELP ssh_tunnel_open_fail_count Counter of ssh tunnel failed open attempts # TYPE ssh_tunnel_open_fail_count counter ssh_tunnel_open_fail_count 0

Output mentah ini mengembalikan kata per kata yang ditampilkan server API.

Ambil metrik bidang kontrol dengan metrics.eks.amazonaws.com

Untuk cluster yang versi Kubernetes ke 1.28 atas, Amazon EKS juga mengekspos metrik di bawah grup API. metrics.eks.amazonaws.com Metrik ini mencakup komponen bidang kontrol seperti kube-scheduler dankube-controller-manager.

catatan

Jika Anda memiliki konfigurasi webhook yang dapat memblokir pembuatan APIService sumber daya baru v1.metrics.eks.amazonaws.com di klaster Anda, fitur titik akhir metrik mungkin tidak tersedia. Anda dapat memverifikasinya di log kube-apiserver audit dengan mencari v1.metrics.eks.amazonaws.com kata kunci.

Ambil metrik kube-scheduler

Untuk mengambil kube-scheduler metrik, gunakan perintah berikut.

kubectl get --raw "/apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics"

Contoh output adalah sebagai berikut.

# TYPE scheduler_pending_pods gauge scheduler_pending_pods{queue="active"} 0 scheduler_pending_pods{queue="backoff"} 0 scheduler_pending_pods{queue="gated"} 0 scheduler_pending_pods{queue="unschedulable"} 18 # HELP scheduler_pod_scheduling_attempts [STABLE] Number of attempts to successfully schedule a pod. # TYPE scheduler_pod_scheduling_attempts histogram scheduler_pod_scheduling_attempts_bucket{le="1"} 79 scheduler_pod_scheduling_attempts_bucket{le="2"} 79 scheduler_pod_scheduling_attempts_bucket{le="4"} 79 scheduler_pod_scheduling_attempts_bucket{le="8"} 79 scheduler_pod_scheduling_attempts_bucket{le="16"} 79 scheduler_pod_scheduling_attempts_bucket{le="+Inf"} 81 [...]

Ambil metrik kube-controller-manager

Untuk mengambil kube-controller-manager metrik, gunakan perintah berikut.

kubectl get --raw "/apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics"

Contoh output adalah sebagai berikut.

[...] workqueue_work_duration_seconds_sum{name="pvprotection"} 0 workqueue_work_duration_seconds_count{name="pvprotection"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-08"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-07"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-06"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="9.999999999999999e-06"} 0 workqueue_work_duration_seconds_bucket{name="replicaset",le="9.999999999999999e-05"} 19 workqueue_work_duration_seconds_bucket{name="replicaset",le="0.001"} 109 workqueue_work_duration_seconds_bucket{name="replicaset",le="0.01"} 139 workqueue_work_duration_seconds_bucket{name="replicaset",le="0.1"} 181 workqueue_work_duration_seconds_bucket{name="replicaset",le="1"} 191 workqueue_work_duration_seconds_bucket{name="replicaset",le="10"} 191 workqueue_work_duration_seconds_bucket{name="replicaset",le="+Inf"} 191 workqueue_work_duration_seconds_sum{name="replicaset"} 4.265655885000002 [...]

Memahami metrik scheduler dan controller manager

Tabel berikut menjelaskan metrik penjadwal dan manajer pengontrol yang tersedia untuk pengikisan gaya Prometheus. Untuk informasi selengkapnya tentang metrik ini, lihat Referensi Metrik Kubernetes di dokumentasi Kubernetes.

Metrik Komponen bidang kontrol Deskripsi

scheduler_pending_pods

penjadwal

Jumlah Pod yang menunggu untuk dijadwalkan ke sebuah node untuk dieksekusi.

scheduler_schedule_attempts_total

penjadwal

Jumlah upaya yang dilakukan untuk menjadwalkan Pod.

scheduler_preemption_attempts_total

penjadwal

Jumlah upaya yang dilakukan oleh penjadwal untuk menjadwalkan Pod prioritas yang lebih tinggi dengan mengusir Pod prioritas yang lebih rendah.

scheduler_preemption_victims

penjadwal

Jumlah Pod yang telah dipilih untuk penggusuran untuk memberi ruang bagi Pod dengan prioritas yang lebih tinggi.

scheduler_pod_scheduling_attempts

penjadwal

Jumlah upaya untuk berhasil menjadwalkan sebuah Pod.

scheduler_scheduling_attempt_duration_seconds

penjadwal

Menunjukkan seberapa cepat atau lambat scheduler dapat menemukan tempat yang cocok untuk menjalankan Pod berdasarkan berbagai faktor seperti ketersediaan sumber daya dan aturan penjadwalan.

scheduler_pod_scheduling_sli_duration_seconds

penjadwal

end-to-endLatensi untuk Pod sedang dijadwalkan, sejak Pod memasuki antrean penjadwalan. Ini mungkin melibatkan beberapa upaya penjadwalan.

kube_pod_resource_request

penjadwal

Sumber daya yang diminta oleh beban kerja pada klaster, dipecah oleh Pod. Ini menunjukkan penggunaan sumber daya yang diharapkan oleh scheduler dan kubelet per Pod untuk sumber daya bersama dengan unit untuk sumber daya jika ada.

kube_pod_resource_limit

penjadwal

Batas sumber daya untuk beban kerja di klaster, dipecah berdasarkan Pod. Ini menunjukkan penggunaan sumber daya yang diharapkan oleh scheduler dan kubelet per Pod untuk sumber daya bersama dengan unit untuk sumber daya jika ada.

cronjob_controller_job_creation_skew_duration_seconds

manajer pengontrol

Waktu antara kapan cronjob dijadwalkan untuk dijalankan, dan saat pekerjaan yang sesuai dibuat.

workqueue_depth

manajer pengontrol

Kedalaman antrian saat ini.

workqueue_adds_total

manajer pengontrol

Jumlah total penambahan ditangani oleh workqueue.

workqueue_queue_duration_seconds

manajer pengontrol

Waktu dalam hitungan detik item tetap berada dalam antrean kerja sebelum diminta.

workqueue_work_duration_seconds

manajer pengontrol

Waktu dalam hitungan detik memproses item dari antrean kerja membutuhkan waktu.

Terapkan scraper Prometheus untuk mengikis metrik secara konsisten

Untuk menerapkan scraper Prometheus untuk mengikis metrik secara konsisten, gunakan konfigurasi berikut:

--- apiVersion: v1 kind: ConfigMap metadata: name: prometheus-conf data: prometheus.yml: |- global: scrape_interval: 30s scrape_configs: # apiserver metrics - job_name: apiserver-metrics kubernetes_sd_configs: - role: endpoints scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: [ __meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name, ] action: keep regex: default;kubernetes;https # Scheduler metrics - job_name: 'ksh-metrics' kubernetes_sd_configs: - role: endpoints metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: [ __meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name, ] action: keep regex: default;kubernetes;https # Controller Manager metrics - job_name: 'kcm-metrics' kubernetes_sd_configs: - role: endpoints metrics_path: /apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics scheme: https tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token relabel_configs: - source_labels: [ __meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name, ] action: keep regex: default;kubernetes;https --- apiVersion: v1 kind: Pod metadata: name: prom-pod spec: containers: - name: prom-container image: prom/prometheus ports: - containerPort: 9090 volumeMounts: - name: config-volume mountPath: /etc/prometheus/ volumes: - name: config-volume configMap: name: prometheus-conf

Izin yang mengikuti diperlukan untuk Pod untuk mengakses endpoint metrik baru.

{ "effect": "allow", "apiGroups": [ "metrics.eks.amazonaws.com" ], "resources": [ "kcm/metrics", "ksh/metrics" ], "verbs": [ "get" ] },

Untuk menambal peran yang digunakan, Anda dapat menggunakan perintah berikut.

kubectl patch clusterrole <role-name> --type=json -p='[ { "op": "add", "path": "/rules/-", "value": { "verbs": ["get"], "apiGroups": ["metrics.eks.amazonaws.com"], "resources": ["kcm/metrics", "ksh/metrics"] } } ]'

Kemudian Anda dapat melihat dasbor Prometheus dengan mem-proxy port scraper Prometheus ke port lokal Anda.

kubectl port-forward pods/prom-pod 9090:9090

Untuk klaster Amazon EKS Anda, metrik bidang kontrol Kubernetes inti juga dimasukkan ke dalam Metrik Amazon CloudWatch di bawah namespace. AWS/EKS Untuk melihatnya, buka CloudWatch konsol dan pilih Semua metrik dari panel navigasi kiri. Pada halaman pemilihan Metrik, pilih AWS/EKS namespace dan dimensi metrik untuk klaster Anda.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.