Instal CloudWatch agen dengan koleksi metrik Prometheus di klaster Amazon EKS dan Kubernetes - Amazon CloudWatch

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

Instal CloudWatch agen dengan koleksi metrik Prometheus di klaster Amazon EKS dan Kubernetes

Bagian ini menjelaskan cara mengatur CloudWatch agen dengan pemantauan Prometheus di cluster yang menjalankan Amazon EKS atau Kubernetes. Setelah melakukan hal tersebut, agen secara otomatis melakukan scraping terhadap dan mengimpor metrik-metrik untuk beban kerja berikut yang berjalan di klaster tersebut.

  • AWS App Mesh

  • NGINX

  • Memcached

  • Java/JMX

  • HAProxy

  • Fluent Bit

Anda juga dapat mengonfigurasi agen tersebut untuk melakukan scraping atas dan mengimpor beban kerja dan sumber Prometheus tambahan.

Sebelum mengikuti langkah-langkah ini untuk menginstal CloudWatch agen untuk koleksi metrik Prometheus, Anda harus memiliki klaster yang berjalan di Amazon EKS atau cluster Kubernetes yang berjalan pada instance Amazon EC2.

Persyaratan grup keamanan VPC

Aturan masuknya kelompok keamanan untuk beban kerja Prometheus harus membuka port CloudWatch Prometheus ke agen untuk mengikis metrik Prometheus oleh IP pribadi.

Aturan keluar dari grup keamanan untuk CloudWatch agen harus memungkinkan agen untuk terhubung ke port CloudWatch beban kerja Prometheus dengan IP pribadi.

Instal CloudWatch agen dengan koleksi metrik Prometheus di klaster Amazon EKS dan Kubernetes

Bagian ini menjelaskan cara mengatur CloudWatch agen dengan pemantauan Prometheus di cluster yang menjalankan Amazon EKS atau Kubernetes. Setelah melakukan hal tersebut, agen secara otomatis melakukan scraping terhadap dan mengimpor metrik-metrik untuk beban kerja berikut yang berjalan di klaster tersebut.

  • AWS App Mesh

  • NGINX

  • Memcached

  • Java/JMX

  • HAProxy

  • Fluent Bit

Anda juga dapat mengonfigurasi agen tersebut untuk melakukan scraping atas dan mengimpor beban kerja dan sumber Prometheus tambahan.

Sebelum mengikuti langkah-langkah ini untuk menginstal CloudWatch agen untuk koleksi metrik Prometheus, Anda harus memiliki klaster yang berjalan di Amazon EKS atau cluster Kubernetes yang berjalan pada instance Amazon EC2.

Persyaratan grup keamanan VPC

Aturan masuknya kelompok keamanan untuk beban kerja Prometheus harus membuka port CloudWatch Prometheus ke agen untuk mengikis metrik Prometheus oleh IP pribadi.

Aturan keluar dari grup keamanan untuk CloudWatch agen harus memungkinkan agen untuk terhubung ke port CloudWatch beban kerja Prometheus dengan IP pribadi.

Menyiapkan peran IAM

Langkah pertama adalah menyiapkan peran IAM yang diperlukan di klaster tersebut. Ada dua metode:

  • Menyiapkan peran IAM untuk sebuah akun layanan, juga dikenal sebagai sebuah peran layanan. Metode ini bisa digunakan untuk tipe peluncuran EC2 dan tipe peluncuran Fargate.

  • Menambahkan kebijakan IAM ke peran IAM yang digunakan untuk klaster. Ini hanya bisa dilakukan untuk tipe peluncuran EC2.

Menyiapkan sebuah peran layanan (tipe peluncuran EC2 dan tipe peluncuran Fargate)

Untuk menyiapkan sebuah peran layanan, masukkan perintah berikut. Ganti MyClusterdengan nama cluster.

eksctl create iamserviceaccount \ --name cwagent-prometheus \ --namespace amazon-cloudwatch \ --cluster MyCluster \ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --approve \ --override-existing-serviceaccounts

Menambahkan sebuah kebijakan ke peran IAM yang dimiliki klaster (khusus tipe peluncuran EC2)

Untuk menyiapkan kebijakan IAM tersebut dalam sebuah klaster untuk dukungan Prometheus
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, silakan pilih Instances (Instans).

  3. Anda harus menemukan awalan nama peran IAM untuk klaster. Untuk melakukan hal itu, pilih kotak centang yang ada di samping nama instans yang ada di klaster, kemudian pilih Tindakan, Pengaturan Instans, Lampirkan/Ganti Peran IAM. Kemudian salin awalan peran IAM, seperti eksctl-dev303-workshop-nodegroup.

  4. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  5. Pada panel navigasi, silakan pilih Peran.

  6. Gunakan kotak pencarian untuk menemukan awalan yang Anda salin sebelumnya dalam prosedur ini, dan pilih peran tersebut.

  7. Pilih Lampirkan kebijakan.

  8. Gunakan kotak pencarian untuk menemukan CloudWatchAgentServerPolicy. Pilih kotak centang di samping CloudWatchAgentServerPolicy, dan pilih Lampirkan kebijakan.

Menginstal CloudWatch agen untuk mengumpulkan metrik Prometheus

Anda harus menginstal CloudWatch agen di cluster untuk mengumpulkan metrik. Cara melakukan instalasi agen yang berbeda untuk klaster Amazon EKS dan klaster Kubernetes.

Hapus versi CloudWatch agen sebelumnya dengan dukungan Prometheus

Jika Anda telah menginstal versi CloudWatch agen dengan dukungan Prometheus di cluster Anda, Anda harus menghapus versi itu dengan memasukkan perintah berikut. Hal perlu dilakukan hanya untuk versi agen sebelumnya yang memiliki dukungan Prometheus. Anda tidak perlu menghapus CloudWatch agen yang mengaktifkan Wawasan Kontainer tanpa dukungan Prometheus.

kubectl delete deployment cwagent-prometheus -n amazon-cloudwatch

Menginstal CloudWatch agen di kluster Amazon EKS dengan tipe peluncuran EC2

Untuk menginstal CloudWatch agen dengan dukungan Prometheus di cluster Amazon EKS, ikuti langkah-langkah ini.

Untuk menginstal CloudWatch agen dengan dukungan Prometheus di cluster Amazon EKS
  1. Masukkan perintah berikut untuk memeriksa apakah namespace amazon-cloudwatch telah dibuat:

    kubectl get namespace
  2. Jika amazon-cloudwatch tidak ditampilkan di hasil, buat ia dengan memasukkan perintah berikut:

    kubectl create namespace amazon-cloudwatch
  3. Untuk menyebarkan agen dengan konfigurasi default dan mengirimkannya data ke AWS Wilayah tempat ia diinstal, masukkan perintah berikut:

    kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml

    Agar agen tersebut mengirimkan data ke Wilayah yang berbeda, ikuti langkah-langkah berikut:

    1. Unduh file YAML untuk agen tersebut dengan memasukkan perintah berikut:

      curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks.yaml
    2. Buka file dengan editor teks, dan cari blok cwagentconfig.json dari file tersebut.

    3. Tambahkan baris-baris yang disorot, dengan menyebutkan Wilayah yang Anda kehendaki:

      cwagentconfig.json: | { "agent": { "region": "us-east-2" }, "logs": { ...
    4. Simpan file tersebut dan terapkan agen dengan menggunakan file yang telah diperbarui.

      kubectl apply -f prometheus-eks.yaml

Menginstal CloudWatch agen di kluster Amazon EKS dengan tipe peluncuran Fargate

Untuk menginstal CloudWatch agen dengan dukungan Prometheus di cluster Amazon EKS dengan jenis peluncuran Fargate, ikuti langkah-langkah ini.

Untuk menginstal CloudWatch agen dengan dukungan Prometheus di cluster Amazon EKS dengan tipe peluncuran Fargate
  1. Masukkan perintah berikut untuk membuat profil Fargate untuk CloudWatch agen sehingga dapat berjalan di dalam cluster. Ganti MyClusterdengan nama cluster.

    eksctl create fargateprofile --cluster MyCluster \ --name amazon-cloudwatch \ --namespace amazon-cloudwatch
  2. Untuk menginstal CloudWatch agen, masukkan perintah berikut. Ganti MyClusterdengan nama cluster. Nama ini digunakan dalam nama grup log yang menyimpan peristiwa log yang dikumpulkan oleh agen, dan juga digunakan sebagai dimensi untuk metrik-metrik yang dikumpulkan oleh agen itu.

    Ganti wilayah dengan nama Wilayah di mana metrik akan dikirimkan. Sebagai contoh, us-west-1.

    curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-eks-fargate.yaml | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | kubectl apply -f -

Menginstal CloudWatch agen pada cluster Kubernetes

Untuk menginstal CloudWatch agen dengan dukungan Prometheus pada cluster yang menjalankan Kubernetes, masukkan perintah berikut:

curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/service/cwagent-prometheus/prometheus-k8s.yaml | sed "s/{{cluster_name}}/MyCluster/;s/{{region_name}}/region/" | kubectl apply -f -

Ganti MyClusterdengan nama cluster. Nama ini digunakan dalam nama grup log yang menyimpan peristiwa log yang dikumpulkan oleh agen, dan juga digunakan sebagai dimensi untuk metrik-metrik yang dikumpulkan oleh agen itu.

Ganti wilayah dengan nama AWS Wilayah tempat Anda ingin metrik dikirim. Misalnya, us-west-1.

Verifikasi bahwa agen sedang berjalan

Pada keduanya, baik di klaster Amazon EKS maupun Kubernetes, Anda dapat memasukkan perintah berikut untuk mengonfirmasi bahwa agen sedang berjalan.

kubectl get pod -l "app=cwagent-prometheus" -n amazon-cloudwatch

Jika hasilnya menyertakan satu pod CloudWatch agen dalam Running status, agen menjalankan dan mengumpulkan metrik Prometheus. Secara default, CloudWatch agen mengumpulkan metrik untuk App Mesh, NGINX, Memcached, Java/JMX, dan HAProxy setiap menit. Untuk informasi selengkapnya tentang metrik-metrik ini, silakan lihat Metrik Prometheus dikumpulkan oleh agen CloudWatch . Untuk petunjuk tentang cara melihat metrik Prometheus Anda di, lihat CloudWatch Menampilkan metrik-metrik Prometheus Anda

Anda juga dapat mengonfigurasi CloudWatch agen untuk mengumpulkan metrik dari eksportir Prometheus lainnya. Untuk informasi selengkapnya, lihat Melakukan scraping atas sumber Prometheus tambahan dan mengimpor metrik-metrik tersebut.