Kueri menggunakan Grafana yang berjalan di kluster Amazon EKS - Layanan Terkelola Amazon untuk Prometheus

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

Kueri menggunakan Grafana yang berjalan di kluster Amazon EKS

Layanan Terkelola Amazon untuk Prometheus mendukung penggunaan Grafana versi 7.3.5 dan yang lebih baru untuk menanyakan metrik di Layanan Terkelola Amazon untuk ruang kerja Prometheus. Versi 7.3.5 dan yang lebih baru mencakup dukungan untuk otentikasi AWS Signature Version 4 (SigV4).

Untuk mengatur Grafana agar berfungsi dengan Layanan Terkelola Amazon untuk Prometheus, Anda harus masuk ke akun yang memiliki AmazonPrometheusQueryAccesskebijakan atau,,, dan izin. aps:QueryMetrics aps:GetMetricMetadata aps:GetSeries aps:GetLabels Untuk informasi selengkapnya, lihat Izin dan kebijakan IAM.

Mengatur AWS SiGv4

Grafana telah menambahkan fitur baru untuk mendukung otentikasi AWS Signature Version 4 (SiGv4). Untuk informasi selengkapnya, lihat proses penandatanganan Signature Version 4. Fitur ini tidak diaktifkan secara default di server Grafana. Instruksi berikut untuk mengaktifkan fitur ini mengasumsikan bahwa Anda menggunakan Helm untuk menerapkan Grafana pada klaster Kubernetes.

Untuk mengaktifkan SiGv4 di server Grafana 7.3.5 atau yang lebih baru
  1. Buat file pembaruan baru untuk mengganti konfigurasi Grafana Anda, dan beri nama. amp_query_override_values.yaml

  2. Masukkan konten berikut ke dalam file, dan simpan file. Ganti account-id dengan ID AWS akun tempat server Grafana berjalan.

    serviceAccount: name: "amp-iamproxy-query-service-account" annotations: eks.amazonaws.com/role-arn: "arn:aws:iam::account-id:role/amp-iamproxy-query-role" grafana.ini: auth: sigv4_auth_enabled: true

    Dalam konten file YAMM amp-iamproxy-query-role itu, adalah nama peran yang akan Anda buat di bagian berikutnya,Mengatur peran IAM untuk akun layanan. Anda dapat mengganti peran ini dengan nama peran Anda sendiri jika Anda sudah memiliki peran yang dibuat untuk menanyakan ruang kerja Anda.

Anda akan menggunakan file ini nanti, diTingkatkan server Grafana menggunakan Helm.

Mengatur peran IAM untuk akun layanan

Jika Anda menggunakan server Grafana di kluster Amazon EKS, sebaiknya gunakan peran IAM untuk akun layanan, juga dikenal sebagai peran layanan, untuk kontrol akses Anda. Ketika Anda melakukan ini untuk mengaitkan peran IAM dengan akun layanan Kubernetes, akun layanan kemudian dapat memberikan AWS izin ke container di pod mana pun yang menggunakan akun layanan tersebut. Untuk informasi selengkapnya, lihat peran IAM untuk akun layanan.

Jika Anda belum menyiapkan peran layanan ini untuk kueri, ikuti petunjuk di Menyiapkan peran IAM untuk akun layanan untuk kueri metrik untuk mengatur peran.

Anda kemudian perlu menambahkan akun layanan Grafana dalam kondisi hubungan kepercayaan.

Untuk menambahkan akun layanan Grafana dalam kondisi hubungan kepercayaan
  1. Dari jendela terminal, tentukan namespace dan nama akun layanan untuk server Grafana Anda. Misalnya, Anda dapat menggunakan perintah berikut.

    kubectl get serviceaccounts -n grafana_namespace
  2. Di konsol Amazon EKS, buka peran IAM untuk akun layanan yang terkait dengan kluster EKS.

  3. Pilih Edit trust relationship (Edit Hubungan Kepercayaan).

  4. Perbarui Kondisi untuk menyertakan namespace Grafana dan nama akun layanan Grafana yang Anda temukan di output perintah di langkah 1. Berikut adalah contohnya.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::account-id:oidc-provider/oidc.eks.aws_region.amazonaws.com/id/openid" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.region.amazonaws.com/id/openid:sub": [ "system:serviceaccount:aws-amp:amp-iamproxy-query-service-account", "system:serviceaccount:grafana-namespace:grafana-service-account-name" ] } } } ] }
  5. Pilih Perbarui Kebijakan Kepercayaan.

Tingkatkan server Grafana menggunakan Helm

Langkah ini meningkatkan server Grafana untuk menggunakan entri yang Anda tambahkan ke file di amp_query_override_values.yaml bagian sebelumnya.

Jalankan perintah berikut. Untuk informasi lebih lanjut tentang bagan Helm untuk Grafana, lihat Grafik Helm Kubernetes Komunitas Grafana.

helm repo add grafana https://grafana.github.io/helm-charts
helm upgrade --install grafana grafana/grafana -n grafana_namespace -f ./amp_query_override_values.yaml

Tambahkan sumber data Prometheus di Grafana

Langkah-langkah berikut menjelaskan cara menyiapkan sumber data Prometheus di Grafana untuk menanyakan metrik Layanan Terkelola Amazon Anda untuk Prometheus.

Untuk menambahkan sumber data Prometheus di server Grafana Anda
  1. Buka konsol Grafana.

  2. Di bawah Konfigurasi, pilih Sumber data.

  3. Pilih Tambahkan sumber data.

  4. Pilih Prometheus.

  5. Untuk URL HTTP, tentukan URL kueri Titik Akhir yang ditampilkan di halaman detail ruang kerja di konsol Amazon Managed Service for Prometheus.

  6. Di URL HTTP yang baru saja Anda tentukan, hapus /api/v1/query string yang ditambahkan ke URL, karena sumber data Prometheus akan secara otomatis menambahkannya.

  7. Di bawah Auth, pilih sakelar untuk SiGv4 Auth untuk mengaktifkannya.

    Biarkan kolom Assume Role ARN dan External ID kosong. Kemudian untuk Wilayah Default, pilih Wilayah tempat Amazon Managed Service untuk ruang kerja Prometheus berada.

  8. Pilih Simpan & Uji.

    Anda akan melihat pesan berikut: Sumber data berfungsi

  9. Uji kueri PromQL terhadap sumber data baru:

    1. Pilih Jelajahi.

    2. Jalankan contoh kueri PromQL seperti:

      prometheus_tsdb_head_series