Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah terkait metrik-metrik Prometheus di klaster Amazon EKS dan Kubernetes
Bagian ini akan menyediakan Anda bantuan untuk melakukan pemecahan masalah konfigurasi metrik-metrik Prometheus Anda di klaster Amazon EKS dan Kubernetes.
Langkah-langkah pemecahan masalah umum di Amazon EKS
Untuk mengonfirmasi bahwa CloudWatch agen sedang berjalan, masukkan perintah berikut.
kubectl get pod -n amazon-cloudwatch
Outputnya harus menyertakan sebuah baris dengan cwagent-prometheus-
pada kolom id
NAME
dan Running
dalam STATUS
column.
Untuk menampilkan detail tentang pod yang sedang berjalan, Anda harus memasukkan perintah berikut. Ganti pod-name
dengan nama lengkap pod Anda yang memiliki nama yang dimulai dengancw-agent-prometheus
.
kubectl describe pod
pod-name
-n amazon-cloudwatch
Jika Anda telah menginstal CloudWatch Wawasan Kontainer, Anda dapat menggunakan Wawasan CloudWatch Log untuk menanyakan log dari CloudWatch agen yang mengumpulkan metrik Prometheus.
Cara menjalankan kueri terhadap log aplikasi
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Di panel navigasi, pilih CloudWatch Wawasan Logs.
-
Pilih grup log untuk log aplikasi, /aws/containerinsights/
cluster-name
/application -
Ganti ekspresi kueri pencarian dengan kueri berikut, dan kemudian pilih Jalankan kueri
fields ispresent(
kubernetes.pod_name
) as haskubernetes_pod_name, stream, kubernetes.pod_name, log | filter haskubernetes_pod_name andkubernetes.pod_name
like /cwagent-prometheus
Anda juga dapat mengonfirmasi bahwa metrik dan metadata Prometheus sedang dicerna sebagai CloudWatch Mencatat kejadian.
Cara mengonfirmasi bahwa data Prometheus sedang diserap
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Di panel navigasi, pilih CloudWatch Wawasan Logs.
-
Pilih /aws/containerinsights/ /prometheus
cluster-name
-
Ganti ekspresi kueri pencarian dengan kueri berikut, dan kemudian pilih Jalankan kueri
fields @timestamp, @message | sort @timestamp desc | limit 20
Mencatat log metrik-metrik Prometheus yang dibuang
Rilis ini tidak akan mengumpulkan metrik-metrik Prometheus yang bertipe histogram. Anda dapat menggunakan CloudWatch agen untuk memeriksa apakah ada metrik Prometheus yang dijatuhkan karena merupakan metrik histogram. Anda juga dapat mencatat daftar 500 metrik Prometheus pertama yang dijatuhkan dan tidak dikirim CloudWatch karena merupakan metrik histogram.
Untuk melihat apakah ada metrik yang dibuang, masukkan perintah berikut:
kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
Jika ada metrik yang dibuang, maka Anda akan melihat garis-garis berikut di file /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
.
I! Drop Prometheus metrics with unsupported types. Only Gauge, Counter and Summary are supported. I! Please enable CWAgent debug mode to view the first 500 dropped metrics
Jika Anda melihat garis-garis tersebut dan ingin mengetahui metrik apa yang dibuang, lakukan langkah-langkah berikut ini.
Cara mencatat log daftar metrik Prometheus yang dibuang
-
Ubah CloudWatch agen ke mode debug dengan menambahkan baris tebal berikut ke
prometheus-k8s.yaml
fileprometheus-eks.yaml
atau Anda, dan simpan file.{ "agent": { "debug": true },
Bagian file ini akan terlihat seperti berikut ini:
cwagentconfig.json: | { "agent": { "debug": true }, "logs": { "metrics_collected": {
-
Instal ulang CloudWatch agen untuk mengaktifkan mode debug dengan memasukkan perintah berikut:
kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch kubectl apply -f prometheus.yaml
Metrik yang dijatuhkan dicatat di pod CloudWatch agen.
-
Untuk mengambil log dari pod CloudWatch agen, masukkan perintah berikut:
kubectl logs -l "app=cwagent-prometheus" -n amazon-cloudwatch --tail=-1
Atau, jika Anda menginstal logging Container Insights Fluentd, log juga disimpan di grup CloudWatch log Logs /aws/containerinsights/ /application.
cluster_name
Untuk menjalankan kueri pada log ini, Anda dapat mengikuti langkah-langkah untuk menjalankan kueri terhadap log aplikasi di Langkah-langkah pemecahan masalah umum di Amazon EKS.
Di mana metrik Prometheus dicerna sebagai peristiwa log Log? CloudWatch
CloudWatch Agen membuat aliran log untuk setiap konfigurasi pekerjaan scrape Prometheus. Sebagai contoh, di dalam file prometheus-eks.yaml
dan file prometheus-k8s.yaml
, garis job_name:
'kubernetes-pod-appmesh-envoy'
melakukan scraping terhadap metrik-metrik App Mesh. Target Prometheus ditentukan sebagai kubernetes-pod-appmesh-envoy
. Jadi semua metrik App Mesh Prometheus dicerna CloudWatch sebagai peristiwa Log di aliran log di bawah grup log bernama/. kubernetes-pod-appmesh-envoyaws/containerinsights/cluster-name/Prometheus
Saya tidak melihat metrik Amazon EKS atau Kubernetes Prometheus dalam metrik CloudWatch
Pertama, pastikan bahwa metrik Prometheus dicerna sebagai peristiwa log di grup log/. aws/containerinsights/cluster-name/Prometheus Gunakan informasi dalam Di mana metrik Prometheus dicerna sebagai peristiwa log Log? CloudWatch untuk membantu Anda memeriksa log stream target. Jika log stream tidak dibuat atau tidak ada peristiwa log baru di log stream, periksa hal berikut:
-
Periksa apakah titik akhir pengekspor metrik Prometheus sudah diatur dengan benar
-
Periksa apakah konfigurasi pengikisan Prometheus di
config map: cwagent-prometheus
bagian file YAMAL agen sudah benar. CloudWatch Konfigurasinya harus sama dengan konfigurasi yang akan digunakan dalam file konfigurasi Prometheus. Untuk informasi selengkapnya, silakan lihat <scrape_config>dalam dokumentasi Prometheus.
Jika metrik Prometheus dicerna sebagai log peristiwa dengan benar, periksa bahwa pengaturan format metrik tersemat ditambahkan ke dalam peristiwa log untuk menghasilkan CloudWatch metrik.
"CloudWatchMetrics":[ { "Metrics":[ { "Name":"envoy_http_downstream_cx_destroy_remote_active_rq" } ], "Dimensions":[ [ "ClusterName", "Namespace" ] ], "Namespace":"ContainerInsights/Prometheus" } ],
Untuk informasi selengkapnya tentang format metrik tersemat, silakan lihat Spesifikasi: Format metrik tersemat.
Jika tidak ada format metrik yang disematkan dalam peristiwa log, periksa apakah metric_declaration
bagian tersebut dikonfigurasi dengan benar di config
map: prometheus-cwagentconfig
bagian file YAMAL instalasi CloudWatch agen. Untuk informasi selengkapnya, lihat Tutorial untuk menambahkan sebuah target scraping Prometheus baru: metrik Server API Prometheus.