

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

# Siapkan kolektor terkelola untuk Amazon EKS
<a name="AMP-collector-how-to"></a>

Untuk menggunakan Layanan Terkelola Amazon untuk kolektor Prometheus, Anda membuat scraper yang menemukan dan menarik metrik di klaster Amazon EKS Anda. Anda juga dapat membuat scraper yang terintegrasi dengan Amazon Managed Streaming for Apache Kafka. Untuk informasi selengkapnya, lihat [Mengintegrasikan MSK Amazon](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-integration.html).
+ Anda dapat membuat scraper sebagai bagian dari pembuatan cluster Amazon EKS Anda. Untuk informasi selengkapnya tentang membuat klaster Amazon EKS, termasuk membuat scraper, lihat [Membuat klaster Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) di *Panduan Pengguna Amazon EKS*.
+ Anda dapat membuat scraper Anda sendiri, secara terprogram dengan AWS API atau dengan menggunakan. AWS CLI

Layanan Terkelola Amazon untuk kolektor Prometheus menggores metrik yang kompatibel dengan Prometheus. Untuk informasi selengkapnya tentang metrik yang kompatibel dengan Prometheus, lihat. [Apa itu metrik yang kompatibel dengan Prometheus?](prom-compatible-metrics.md) Cluster Amazon EKS mengekspos metrik untuk server API. Cluster Amazon EKS yang merupakan versi Kubernetes `1.28` atau lebih tinggi juga mengekspos metrik untuk dan. `kube-scheduler` `kube-controller-manager` *Untuk informasi selengkapnya, lihat [Mengambil metrik mentah bidang kontrol dalam format Prometheus di Panduan Pengguna Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics).*

**catatan**  
Metrik pengikisan dari cluster dapat dikenakan biaya untuk penggunaan jaringan. Salah satu cara untuk mengoptimalkan biaya ini adalah dengan mengonfigurasi `/metrics` titik akhir Anda untuk mengompres metrik yang disediakan (misalnya, dengan gzip), mengurangi data yang harus dipindahkan di seluruh jaringan. Cara melakukannya tergantung pada aplikasi atau pustaka yang menyediakan metrik. Beberapa perpustakaan gzip secara default.

Topik berikut menjelaskan cara membuat, mengelola, dan mengonfigurasi pencakar.

**Topics**
+ [Buat scraper](#AMP-collector-create)
+ [Mengonfigurasi klaster Amazon EKS Anda](#AMP-collector-eks-setup)
+ [Temukan dan hapus pencakar](#AMP-collector-list-delete)
+ [Konfigurasi scraper](#AMP-collector-configuration)
+ [Memecahkan masalah konfigurasi scraper](#AMP-collector-troubleshoot)
+ [Keterbatasan scraper](#AMP-collector-limits)

## Buat scraper
<a name="AMP-collector-create"></a>

Layanan Dikelola Amazon untuk kolektor Prometheus terdiri dari scraper yang menemukan dan mengumpulkan metrik dari cluster Amazon EKS. Amazon Managed Service for Prometheus mengelola scraper untuk Anda, memberi Anda skalabilitas, keamanan, dan keandalan yang Anda butuhkan, tanpa harus mengelola instans, agen, atau pencakar apa pun sendiri.

Ada tiga cara untuk membuat scraper:
+ Scraper dibuat secara otomatis untuk Anda saat Anda [membuat cluster Amazon EKS melalui konsol Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) dan memilih untuk mengaktifkan metrik Prometheus.
+ Anda dapat membuat scraper dari konsol Amazon EKS untuk cluster yang ada. Buka cluster di [konsol Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters), lalu, pada tab **Observability**, pilih **Add scraper**.

  *Untuk detail selengkapnya tentang pengaturan yang tersedia, lihat [Mengaktifkan metrik Prometheus di Panduan Pengguna](https://docs.aws.amazon.com/eks/latest/userguide/prometheus.html#turn-on-prometheus-metrics) Amazon EKS.*
+ Anda dapat membuat scraper menggunakan AWS API atau file. AWS CLI

  Opsi-opsi ini dijelaskan dalam prosedur berikut.

Ada beberapa prasyarat untuk membuat scraper Anda sendiri:
+ Anda harus memiliki kluster Amazon EKS yang dibuat.
+ Cluster Amazon EKS Anda harus memiliki [kontrol akses titik akhir cluster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) yang disetel untuk menyertakan akses pribadi. Ini dapat mencakup pribadi dan publik, tetapi harus mencakup pribadi.
+ [VPC Amazon tempat klaster Amazon EKS berada harus mengaktifkan DNS.](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html)

**catatan**  
Cluster akan dikaitkan dengan scraper dengan nama sumber daya Amazon (ARN). Jika Anda menghapus cluster, dan kemudian membuat yang baru dengan nama yang sama, ARN akan digunakan kembali untuk cluster baru. Karena itu, scraper akan mencoba mengumpulkan metrik untuk cluster baru. Anda [menghapus pencakar](#AMP-collector-list-delete) secara terpisah dari menghapus cluster.

------
#### [ AWS API ]

**Untuk membuat scraper menggunakan API AWS **

Gunakan operasi `CreateScraper` API untuk membuat scraper dengan AWS API. Contoh berikut membuat scraper di `us-west-2` Wilayah. Anda perlu mengganti informasi cluster Akun AWS, ruang kerja, keamanan, dan Amazon EKS dengan milik Anda sendiri IDs, dan menyediakan konfigurasi yang akan digunakan untuk scraper Anda.

**catatan**  
Grup keamanan dan subnet harus diatur ke grup keamanan dan subnet untuk cluster yang Anda hubungkan.  
Anda harus menyertakan setidaknya dua subnet, setidaknya dalam dua zona ketersediaan.

`scrapeConfiguration`Ini adalah file YAMM konfigurasi Prometheus yang dikodekan base64. Anda dapat mengunduh konfigurasi tujuan umum dengan operasi `GetDefaultScraperConfiguration` API. Untuk informasi lebih lanjut tentang format`scrapeConfiguration`, lihat[Konfigurasi scraper](#AMP-collector-configuration).

```
POST /scrapers HTTP/1.1
Content-Length: 415 
Authorization: AUTHPARAMS
X-Amz-Date: 20201201T193725Z
User-Agent: aws-cli/1.18.147 Python/2.7.18 Linux/5.4.58-37.125.amzn2int.x86_64 botocore/1.18.6

{
    "alias": "myScraper",
    "destination":  {
        "ampConfiguration": {
            "workspaceArn": "arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id"
        }
    },
    "source": {
        "eksConfiguration": {
            "clusterArn": "arn:aws:eks:us-west-2:account-id:cluster/cluster-name",
            "securityGroupIds": ["sg-security-group-id"],
            "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"]
        }
    },
    "scrapeConfiguration": {
        "configurationBlob": <base64-encoded-blob>
    }
}
```

------
#### [ AWS CLI ]

**Untuk membuat scraper menggunakan AWS CLI**

Gunakan `create-scraper` perintah untuk membuat scraper dengan file. AWS CLI Contoh berikut membuat scraper di `us-west-2` Wilayah. Anda perlu mengganti informasi cluster Akun AWS, ruang kerja, keamanan, dan Amazon EKS dengan milik Anda sendiri IDs, dan menyediakan konfigurasi yang akan digunakan untuk scraper Anda.

**catatan**  
Grup keamanan dan subnet harus diatur ke grup keamanan dan subnet untuk cluster yang Anda hubungkan.  
Anda harus menyertakan setidaknya dua subnet, setidaknya dalam dua zona ketersediaan.

`scrape-configuration`Ini adalah file YAMM konfigurasi Prometheus yang dikodekan base64. Anda dapat mengunduh konfigurasi tujuan umum dengan `get-default-scraper-configuration` perintah. Untuk informasi lebih lanjut tentang format`scrape-configuration`, lihat[Konfigurasi scraper](#AMP-collector-configuration).

```
aws amp create-scraper \
  --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/cluster-name', securityGroupIds=['sg-security-group-id'],subnetIds=['subnet-subnet-id-1', 'subnet-subnet-id-2']}" \
  --scrape-configuration configurationBlob=<base64-encoded-blob> \
  --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"
```

------

Berikut ini adalah daftar lengkap operasi scraper yang dapat Anda gunakan dengan AWS API:
+ Buat scraper dengan operasi [CreateScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_CreateScraper.html)API.
+ Buat daftar scraper yang ada dengan operasi [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html)API.
+ Perbarui alias, konfigurasi, atau tujuan scraper dengan operasi [UpdateScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html)API.
+ Hapus scraper dengan operasi [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html)API.
+ Dapatkan detail selengkapnya tentang scraper dengan operasi [DescribeScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DescribeScraper.html)API.
+ Dapatkan konfigurasi tujuan umum untuk pencakar dengan operasi [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html)API.

**catatan**  
Cluster Amazon EKS yang Anda gores harus dikonfigurasi untuk memungkinkan Amazon Managed Service untuk Prometheus mengakses metrik. Topik berikutnya menjelaskan cara mengonfigurasi klaster Anda.

### Pengaturan lintas akun
<a name="cross-account-remote-write"></a>

Untuk membuat scraper lintas akun saat klaster Amazon EKS dan Layanan Terkelola Amazon untuk ruang kerja Prometheus berada di akun yang berbeda, gunakan prosedur berikut. Misalnya, Anda memiliki akun sumber yang `account_id_source` berisi kluster Amazon EKS dan akun target yang `account_id_target` berisi ruang kerja Amazon Managed Service for Prometheus.

**Untuk membuat scraper dalam pengaturan lintas akun**

1. Di akun sumber, buat peran `arn:aws:iam::account_id_source:role/Source` dan tambahkan kebijakan kepercayaan berikut.

   ```
   {
       "Effect": "Allow",
       "Principal": {
       "Service": [
           "scraper.aps.amazonaws.com"
        ]
       },
       "Action": "sts:AssumeRole",
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "scraper_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       }
   }
   ```

1. Di setiap kombinasi sumber (klaster Amazon EKS) dan target (Layanan Terkelola Amazon untuk ruang kerja Prometheus), Anda perlu membuat `arn:aws:iam::account_id_target:role/Target` peran dan menambahkan kebijakan kepercayaan berikut dengan izin untuk. [AmazonPrometheusRemoteWriteAccess](https://docs.aws.amazon.com/prometheus/latest/userguide/security-iam-awsmanpol.html)

   ```
   {
     "Effect": "Allow",
     "Principal": {
        "AWS": "arn:aws:iam::account_id_source:role/Source"
     },
     "Action": "sts:AssumeRole",
     "Condition": {
        "StringEquals": {
           "sts:ExternalId": "scraper_ARN"
         }
     }
   }
   ```

1. Buat scraper dengan `--role-configuration` opsi.

   ```
   aws amp create-scraper \
     --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id_source:cluster/xarw,subnetIds=[subnet-subnet-id]}" \
     --scrape-configuration configurationBlob=<base64-encoded-blob> \
     --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id_target:workspace/ws-workspace-id'}"\
     --role-configuration '{"sourceRoleArn":"arn:aws:iam::account-id_source:role/Source", "targetRoleArn":"arn:aws:iam::account-id_target:role/Target"}'
   ```

1. Validasi pembuatan scraper.

   ```
   aws amp list-scrapers
   {
       "scrapers": [
           {
               "scraperId": "scraper-id",
               "arn": "arn:aws:aps:us-west-2:account_id_source:scraper/scraper-id",
               "roleArn": "arn:aws:iam::account_id_source:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraperInternal_cc319052-41a3-4",
               "status": {
                   "statusCode": "ACTIVE"
               },
               "createdAt": "2024-10-29T16:37:58.789000+00:00",
               "lastModifiedAt": "2024-10-29T16:55:17.085000+00:00",
               "tags": {},
               "source": {
                   "eksConfiguration": {
                       "clusterArn": "arn:aws:eks:us-west-2:account_id_source:cluster/xarw",
                       "securityGroupIds": [
                           "sg-security-group-id",
                           "sg-security-group-id"
                       ],
                       "subnetIds": [
                           "subnet-subnet_id"
                       ]
                   }
               },
               "destination": {
                   "ampConfiguration": {
                       "workspaceArn": "arn:aws:aps:us-west-2:account_id_target:workspace/ws-workspace-id"
                   }
               }
           }
       ]
   }
   ```

### Mengubah antara RoleConfiguration dan peran terkait layanan
<a name="changing-roles"></a>

Jika Anda ingin beralih kembali ke peran terkait layanan alih-alih menulis `RoleConfiguration` ke Layanan Terkelola Amazon untuk ruang kerja Prometheus, Anda harus memperbarui `UpdateScraper` dan menyediakan ruang kerja di akun yang sama dengan scraper tanpa. `RoleConfiguration` `RoleConfiguration`Akan dihapus dari scraper dan peran terkait layanan akan digunakan.

Ketika Anda mengubah ruang kerja di akun yang sama dengan scraper dan Anda ingin terus menggunakan`RoleConfiguration`, Anda harus memberikan on lagi. `RoleConfiguration` `UpdateScraper`

### Membuat scraper untuk ruang kerja yang diaktifkan dengan kunci yang dikelola pelanggan
<a name="setup-customer-managed-keys"></a>

Untuk membuat scraper untuk memasukkan metrik ke dalam Layanan Terkelola Amazon untuk ruang kerja Prometheus dengan [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk), gunakan dengan sumber dan target yang disetel ke akun yang `--role-configuration` sama.

```
aws amp create-scraper \
  --source eksConfiguration="{clusterArn='arn:aws:eks:us-west-2:account-id:cluster/xarw,subnetIds=[subnet-subnet_id]}" \
  --scrape-configuration configurationBlob=<base64-encoded-blob> \
  --destination ampConfiguration="{workspaceArn='arn:aws:aps:us-west-2:account-id:workspace/ws-workspace-id'}"\
  --role-configuration '{"sourceRoleArn":"arn:aws:iam::account_id:role/Source", "targetRoleArn":"arn:aws:iam::account_id:role/Target"}'
```

### Kesalahan umum saat membuat pencakar
<a name="AMP-collector-create-errors"></a>

Berikut ini adalah masalah paling umum saat mencoba membuat scraper baru.
+  AWS Sumber daya yang dibutuhkan tidak ada. *Grup keamanan*, *subnet*, dan *klaster Amazon EKS* yang ditentukan harus ada.
+ Ruang alamat IP tidak mencukupi. Anda harus memiliki setidaknya satu alamat IP yang tersedia di setiap subnet yang Anda lewatkan ke `CreateScraper` API.

## Mengonfigurasi klaster Amazon EKS Anda
<a name="AMP-collector-eks-setup"></a>

Cluster Amazon EKS Anda harus dikonfigurasi untuk memungkinkan scraper mengakses metrik. Ada dua opsi untuk konfigurasi ini:
+ Gunakan *entri akses* Amazon EKS untuk secara otomatis menyediakan Layanan Terkelola Amazon untuk akses kolektor Prometheus ke klaster Anda.
+ Konfigurasikan cluster Amazon EKS Anda secara manual untuk pengikisan metrik terkelola.

Topik berikut menjelaskan masing-masing secara lebih rinci.

### Konfigurasikan Amazon EKS untuk akses scraper dengan entri akses
<a name="AMP-collector-eks-access-entry-setup"></a>

Menggunakan entri akses untuk Amazon EKS adalah cara termudah untuk memberi Amazon Managed Service for Prometheus akses untuk mengikis metrik dari cluster Anda.

Cluster Amazon EKS yang Anda gores harus dikonfigurasi untuk memungkinkan otentikasi API. Mode otentikasi cluster harus diatur ke salah satu `API` atau`API_AND_CONFIG_MAP`. Ini dapat dilihat di konsol Amazon EKS pada tab **konfigurasi Access** pada detail cluster. Untuk informasi selengkapnya, lihat [Mengizinkan peran IAM atau pengguna mengakses objek Kubernetes di klaster Amazon EKS Anda di Panduan Pengguna *Amazon* EKS](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html).

Anda dapat membuat scraper saat membuat cluster, atau setelah membuat cluster:
+ **Saat membuat klaster** — Anda dapat mengonfigurasi akses ini saat [membuat klaster Amazon EKS melalui konsol Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) (ikuti petunjuk untuk membuat scraper sebagai bagian dari cluster), dan kebijakan entri akses akan dibuat secara otomatis, memberikan Layanan Terkelola Amazon untuk Prometheus akses ke metrik klaster.
+ **Menambahkan setelah cluster dibuat** — jika kluster Amazon EKS Anda sudah ada, maka setel mode otentikasi ke salah satu `API` atau`API_AND_CONFIG_MAP`, dan pencakar apa pun yang Anda buat [melalui Layanan Terkelola Amazon untuk API Prometheus atau CLI atau melalui konsol Amazon EKS akan secara otomatis memiliki kebijakan entri](#AMP-collector-create) akses yang benar dibuat untuk Anda, dan pencakar akan memiliki akses ke cluster Anda.

**Kebijakan entri akses dibuat**

Saat Anda membuat scraper dan membiarkan Amazon Managed Service untuk Prometheus membuat kebijakan entri akses untuk Anda, itu akan menghasilkan kebijakan berikut. Untuk informasi selengkapnya tentang entri akses, lihat [Mengizinkan peran IAM atau pengguna mengakses Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) di Panduan Pengguna *Amazon* EKS.

```
{
    "rules": [
        {
            "effect": "allow",
            "apiGroups": [
                ""
            ],
            "resources": [
                "nodes",
                "nodes/proxy",
                "nodes/metrics",
                "services",
                "endpoints",
                "pods",
                "ingresses",
                "configmaps"
            ],
            "verbs": [
                "get",
                "list",
                "watch"
            ]
        },
        {
            "effect": "allow",
            "apiGroups": [
                "extensions",
                "networking.k8s.io"
            ],
            "resources": [
                "ingresses/status",
                "ingresses"
            ],
            "verbs": [
                "get",
                "list",
                "watch"
            ]
        },
        {
            "effect": "allow",
            "apiGroups": [
                "metrics.eks.amazonaws.com"
            ],
            "resources": [
                "kcm/metrics",
                "ksh/metrics"
            ],
            "verbs": [
                "get"
            ]
        },
        {
            "effect": "allow",
            "nonResourceURLs": [
                "/metrics"
            ],
            "verbs": [
                "get"
            ]
        }
    ]
}
```

### Mengkonfigurasi Amazon EKS secara manual untuk akses scraper
<a name="AMP-collector-eks-manual-setup"></a>

Jika Anda lebih suka menggunakan akses kontrol `aws-auth ConfigMap` to ke cluster kubernetes Anda, Anda masih dapat memberikan Amazon Managed Service untuk Prometheus scraper akses ke metrik Anda. Langkah-langkah berikut akan memberi Amazon Managed Service for Prometheus akses untuk mengikis metrik dari klaster Amazon EKS Anda.

**catatan**  
Untuk informasi selengkapnya tentang `ConfigMap` dan mengakses entri, lihat [Mengizinkan peran IAM atau pengguna mengakses Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) di Panduan Pengguna *Amazon* EKS.

Prosedur ini menggunakan `kubectl` dan AWS CLI. Untuk informasi tentang menginstal`kubectl`, lihat [Menginstal kubectl di Panduan](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) Pengguna *Amazon EKS*.

**Untuk mengonfigurasi klaster Amazon EKS secara manual untuk pengikisan metrik terkelola**

1. Buat file, bernama`clusterrole-binding.yml`, dengan teks berikut:

   ```
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRole
   metadata:
     name: aps-collector-role
   rules:
     - apiGroups: [""]
       resources: ["nodes", "nodes/proxy", "nodes/metrics", "services", "endpoints", "pods", "ingresses", "configmaps"]
       verbs: ["describe", "get", "list", "watch"]
     - apiGroups: ["extensions", "networking.k8s.io"]
       resources: ["ingresses/status", "ingresses"]
       verbs: ["describe", "get", "list", "watch"]
     - nonResourceURLs: ["/metrics"]
       verbs: ["get"]
     - apiGroups: ["metrics.eks.amazonaws.com"]
       resources: ["kcm/metrics", "ksh/metrics"]
       verbs: ["get"]
   ---
   apiVersion: rbac.authorization.k8s.io/v1
   kind: ClusterRoleBinding
   metadata:
     name: aps-collector-user-role-binding
   subjects:
   - kind: User
     name: aps-collector-user
     apiGroup: rbac.authorization.k8s.io
   roleRef:
     kind: ClusterRole
     name: aps-collector-role
     apiGroup: rbac.authorization.k8s.io
   ```

1. Jalankan perintah berikut di cluster Anda:

   ```
   kubectl apply -f clusterrole-binding.yml
   ```

   Ini akan membuat pengikatan dan aturan peran cluster. Contoh ini digunakan `aps-collector-role` sebagai nama peran, dan `aps-collector-user` sebagai nama pengguna.

1. Perintah berikut memberi Anda informasi tentang scraper dengan ID*scraper-id*. Ini adalah scraper yang Anda buat menggunakan perintah di bagian sebelumnya.

   ```
   aws amp describe-scraper --scraper-id scraper-id
   ```

1. Dari hasil`describe-scraper`, temukan `roleArn` .This akan memiliki format berikut:

   ```
   arn:aws:iam::account-id:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_unique-id
   ```

   Amazon EKS membutuhkan format yang berbeda untuk ARN ini. Anda harus menyesuaikan format ARN yang dikembalikan untuk digunakan pada langkah berikutnya. Edit agar sesuai dengan format ini:

   ```
   arn:aws:iam::account-id:role/AWSServiceRoleForAmazonPrometheusScraper_unique-id
   ```

   Misalnya, ARN ini:

   ```
   arn:aws:iam::111122223333:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7
   ```

   Harus ditulis ulang sebagai:

   ```
   arn:aws:iam::111122223333:role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-56ef-7
   ```

1. Jalankan perintah berikut di cluster Anda, menggunakan modifikasi `roleArn` dari langkah sebelumnya, serta nama cluster dan wilayah Anda. :

   ```
   eksctl create iamidentitymapping --cluster cluster-name --region region-id --arn roleArn --username aps-collector-user
   ```

   Ini memungkinkan scraper untuk mengakses cluster menggunakan peran dan pengguna yang Anda buat dalam `clusterrole-binding.yml` file.

## Temukan dan hapus pencakar
<a name="AMP-collector-list-delete"></a>

Anda dapat menggunakan AWS API atau AWS CLI untuk membuat daftar pencakar di akun Anda atau untuk menghapusnya.

**catatan**  
Pastikan Anda menggunakan versi terbaru AWS CLI atau SDK. Versi terbaru memberi Anda fitur dan fungsionalitas terbaru, serta pembaruan keamanan. Atau, gunakan [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html), yang selalu memberikan pengalaman baris up-to-date perintah, secara otomatis.

Untuk mencantumkan semua pencakar di akun Anda, gunakan operasi [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html)API.

Atau, dengan AWS CLI, hubungi:

```
aws amp list-scrapers --region aws-region
```

`ListScrapers`mengembalikan semua pencakar di akun Anda, misalnya:

```
{
    "scrapers": [
        {
            "scraperId": "s-1234abcd-56ef-7890-abcd-1234ef567890",
            "arn": "arn:aws:aps:us-west-2:123456789012:scraper/s-1234abcd-56ef-7890-abcd-1234ef567890",
            "roleArn": "arn:aws:iam::123456789012:role/aws-service-role/AWSServiceRoleForAmazonPrometheusScraper_1234abcd-2931",
            "status": {
                "statusCode": "DELETING"
            },
            "createdAt": "2023-10-12T15:22:19.014000-07:00",
            "lastModifiedAt": "2023-10-12T15:55:43.487000-07:00",
            "tags": {},
            "source": {
                "eksConfiguration": {
                    "clusterArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster",
                    "securityGroupIds": [
                        "sg-1234abcd5678ef90"
                    ],
                    "subnetIds": [
                        "subnet-abcd1234ef567890", 
                        "subnet-1234abcd5678ab90"
                    ]
                }
            },
            "destination": {
                "ampConfiguration": {
                    "workspaceArn": "arn:aws:aps:us-west-2:123456789012:workspace/ws-1234abcd-5678-ef90-ab12-cdef3456a78"
                }
            }
        }
    ]
}
```

Untuk menghapus scraper, cari scraper yang ingin Anda hapus, menggunakan `ListScrapers` operasi, dan kemudian gunakan [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html)operasi untuk menghapusnya. `scraperId`

Atau, dengan AWS CLI, hubungi:

```
aws amp delete-scraper --scraper-id scraperId
```

## Konfigurasi scraper
<a name="AMP-collector-configuration"></a>

Anda dapat mengontrol bagaimana scraper Anda menemukan dan mengumpulkan metrik dengan konfigurasi scraper yang kompatibel dengan Prometheus. Misalnya, Anda dapat mengubah interval metrik yang dikirim ke ruang kerja. Anda juga dapat menggunakan pelabelan ulang untuk menulis ulang label metrik secara dinamis. Konfigurasi scraper adalah file YAMG yang merupakan bagian dari definisi scraper.

Saat scraper baru dibuat, Anda menentukan konfigurasi dengan menyediakan file YAMM yang dikodekan base64 dalam panggilan API. Anda dapat mengunduh file konfigurasi tujuan umum dengan `GetDefaultScraperConfiguration` operasi di Amazon Managed Service for Prometheus API.

Untuk memodifikasi konfigurasi scraper, Anda dapat menggunakan `UpdateScraper` operasi. Jika Anda perlu memperbarui sumber metrik (misalnya, ke cluster Amazon EKS yang berbeda), Anda harus menghapus scraper dan membuatnya kembali dengan sumber baru.

**Konfigurasi yang didukung**

Untuk informasi tentang format konfigurasi scraper, termasuk rincian rinci dari nilai yang mungkin, lihat [Konfigurasi](https://prometheus.io/docs/prometheus/latest/configuration/configuration/) dalam dokumentasi Prometheus. Opsi konfigurasi global, dan `<scrape_config>` opsi menjelaskan opsi yang paling umum dibutuhkan.

Karena Amazon EKS adalah satu-satunya layanan yang didukung, satu-satunya service discovery config (`<*_sd_config>`) yang didukung adalah. `<kubernetes_sd_config>`

Daftar lengkap bagian konfigurasi diperbolehkan:
+ `<global>`
+ `<scrape_config>`
+ `<static_config>`
+ `<relabel_config>`
+ `<metric_relabel_configs>`
+ `<kubernetes_sd_config>`

Keterbatasan dalam bagian ini tercantum setelah file konfigurasi sampel.

**Contoh file konfigurasi**

Berikut ini adalah contoh file konfigurasi YAMAL dengan interval scrape 30 detik. Contoh ini mencakup dukungan untuk metrik server API kube, serta metrik kube-controller-manager dan kube-scheduler. *Untuk informasi selengkapnya, lihat [Mengambil metrik mentah bidang kontrol dalam format Prometheus di Panduan Pengguna Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics).*

```
global:
   scrape_interval: 30s
   external_labels:
     clusterArn: apiserver-test-2
scrape_configs:
  - job_name: pod_exporter
    kubernetes_sd_configs:
      - role: pod
  - job_name: cadvisor
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
      - role: node
    relabel_configs:
      - action: labelmap
        regex: __meta_kubernetes_node_label_(.+)
      - replacement: kubernetes.default.svc:443
        target_label: __address__
      - source_labels: [__meta_kubernetes_node_name]
        regex: (.+)
        target_label: __metrics_path__
        replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
  # apiserver metrics
  - scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    job_name: kubernetes-apiservers
    kubernetes_sd_configs:
    - role: endpoints
    relabel_configs:
    - action: keep
      regex: default;kubernetes;https
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_service_name
      - __meta_kubernetes_endpoint_port_name
  # kube proxy metrics
  - job_name: kube-proxy
    honor_labels: true
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - action: keep
      source_labels:
      - __meta_kubernetes_namespace
      - __meta_kubernetes_pod_name
      separator: '/'
      regex: 'kube-system/kube-proxy.+'
    - source_labels:
      - __address__
      action: replace
      target_label: __address__
      regex: (.+?)(\\:\\d+)?
      replacement: $1:10249
  # Scheduler metrics
  - job_name: 'ksh-metrics'
    kubernetes_sd_configs:
    - role: endpoints
    metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics
    scheme: https
    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
    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
```

Berikut ini adalah batasan khusus untuk kolektor yang AWS dikelola:
+ **Interval mengikis** - Konfigurasi scraper tidak dapat menentukan interval gesekan kurang dari 30 detik.
+ **Target** — Target dalam `static_config` harus ditentukan sebagai alamat IP.
+ **Resolusi DNS** — Terkait dengan nama target, satu-satunya nama server yang dikenali dalam konfigurasi ini adalah server api Kubernetes,. `kubernetes.default.svc` Semua nama mesin lainnya harus ditentukan oleh alamat IP.
+ **Otorisasi** - Hilangkan jika tidak ada otorisasi yang diperlukan. Jika diperlukan, otorisasi harus`Bearer`, dan harus menunjuk ke file`/var/run/secrets/kubernetes.io/serviceaccount/token`. Dengan kata lain, jika digunakan, bagian otorisasi harus terlihat seperti berikut:

  ```
      authorization:
        type: Bearer
        credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  ```
**catatan**  
`type: Bearer`adalah default, sehingga dapat dihilangkan.

## Memecahkan masalah konfigurasi scraper
<a name="AMP-collector-troubleshoot"></a>

Layanan Terkelola Amazon untuk kolektor Prometheus secara otomatis menemukan dan mengikis metrik. Tetapi bagaimana Anda bisa memecahkan masalah saat Anda tidak melihat metrik yang Anda harapkan di Layanan Terkelola Amazon untuk ruang kerja Prometheus?

**penting**  
Verifikasi bahwa akses pribadi untuk kluster Amazon EKS Anda diaktifkan. Untuk informasi selengkapnya, lihat [Titik akhir pribadi cluster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html#cluster-endpoint-private) di *Panduan Pengguna Amazon EKS*.

`up`Metrik adalah alat yang bermanfaat. Untuk setiap titik akhir yang ditemukan oleh Amazon Managed Service untuk kolektor Prometheus, secara otomatis menjual metrik ini. Ada tiga status metrik ini yang dapat membantu Anda memecahkan masalah apa yang terjadi di dalam kolektor.
+ `up`tidak ada — Jika tidak ada `up` metrik untuk titik akhir, maka itu berarti kolektor tidak dapat menemukan titik akhir.

  Jika Anda yakin bahwa titik akhir ada, ada beberapa alasan mengapa kolektor mungkin tidak dapat menemukannya.
  + Anda mungkin perlu menyesuaikan konfigurasi scrape. Penemuan ini `relabel_config` mungkin perlu disesuaikan.
  + Mungkin ada masalah dengan yang `role` digunakan untuk penemuan.
  + VPC Amazon yang digunakan oleh cluster Amazon EKS mungkin tidak [mengaktifkan DNS](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html), yang akan mencegah kolektor menemukan titik akhir.
+ `up`ada, tetapi selalu 0 — Jika `up` ada, tetapi 0, maka kolektor dapat menemukan titik akhir, tetapi tidak dapat menemukan metrik yang kompatibel dengan Prometheus.

  Dalam hal ini, Anda dapat mencoba menggunakan `curl` perintah terhadap titik akhir secara langsung. Anda dapat memvalidasi bahwa Anda memiliki detail yang benar, misalnya, protokol (`http`atau`https`), titik akhir, atau port yang Anda gunakan. Anda juga dapat memeriksa apakah titik akhir merespons dengan respons yang valid, dan mengikuti `200` format Prometheus. Akhirnya, tubuh respons tidak bisa lebih besar dari ukuran maksimum yang diizinkan. (Untuk batasan kolektor AWS terkelola, lihat bagian berikut.)
+ `up`hadir dan lebih besar dari 0 — Jika `up` ada, dan lebih besar dari 0, maka metrik sedang dikirim ke Amazon Managed Service untuk Prometheus.

  Validasi bahwa Anda mencari metrik yang benar di Amazon Managed Service untuk Prometheus (atau dasbor alternatif Anda, seperti Grafana yang Dikelola Amazon). Anda dapat menggunakan curl lagi untuk memeriksa data yang diharapkan di titik `/metrics` akhir Anda. Periksa juga apakah Anda belum melampaui batas lain, seperti jumlah titik akhir per scraper. Anda dapat memeriksa jumlah titik akhir metrik yang dikikis dengan memeriksa jumlah metrik, menggunakan. `up` `count(up)`

## Keterbatasan scraper
<a name="AMP-collector-limits"></a>

Ada beberapa batasan untuk pencakar yang dikelola sepenuhnya yang disediakan oleh Amazon Managed Service untuk Prometheus.
+ **Wilayah** — Cluster EKS Anda, scraper terkelola, dan Layanan Terkelola Amazon untuk ruang kerja Prometheus semuanya harus berada di Wilayah yang sama. AWS 
+ **Kolektor** - Anda dapat memiliki maksimal 10 Layanan Dikelola Amazon untuk pencakar Prometheus per wilayah per akun.
**catatan**  
Anda dapat meminta kenaikan batas ini dengan [meminta kenaikan kuota](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase).
+ **Respons metrik** - Isi respons dari salah satu permintaan `/metrics` titik akhir tidak boleh lebih dari 50 megabyte (MB).
+ **Titik akhir per scraper** - Scraper dapat mengikis maksimum 30.000 titik akhir. `/metrics`
+ **Interval mengikis** - Konfigurasi scraper tidak dapat menentukan interval gesekan kurang dari 30 detik.