

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de recopiladores administrados para Amazon EKS
<a name="AMP-collector-how-to"></a>

Para utilizar un recopilador de Amazon Managed Service para Prometheus, cree un scraper que detecte y extraiga las métricas del clúster de Amazon EKS. También puede crear un scraper que se integre con Amazon Managed Streaming para Apache Kafka. Para obtener más información, consulte [Integración de Amazon MSK](https://docs.aws.amazon.com/prometheus/latest/userguide/prom-msk-integration.html).
+ Es posible crear un raspador como parte de la creación del clúster de Amazon EKS. Para obtener más información sobre la creación de un clúster de Amazon EKS, incluida la creación de un raspador, consulte [Creación de un clúster de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) en la *Guía del usuario de Amazon EKS*.
+ Puede crear su propio raspador mediante programación con la API o mediante el. AWS AWS CLI

Un recopilador de Amazon Managed Service para Prometheus recopila métricas que son compatibles con Prometheus. Para obtener más información acerca de las métricas compatibles con Prometheus, consulte [¿Cuáles son las métricas compatibles con Prometheus?](prom-compatible-metrics.md). Los clústeres de Amazon EKS exponen las métricas del servidor de API. Los clústeres de Amazon EKS de la versión `1.28` y posteriores de Kubernetes también exponen métricas para el `kube-scheduler` y el `kube-controller-manager`. Para obtener más información, consulte [Obtención de métricas sin procesar del plano de control en formato Prometheus](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics) en la *Guía del usuario de Amazon EKS*.

**nota**  
El análisis de las métricas de un clúster puede conllevar gastos por el uso de la red. Una forma de optimizar estos costos consiste en configurar el punto de conexión `/metrics` para que comprima las métricas proporcionadas (por ejemplo, con gzip), con lo que se reducen los datos que deben transferirse a través de la red. La forma de hacerlo depende de la aplicación o la biblioteca que proporcione las métricas. En algunas bibliotecas se usa gzip de forma predeterminada.

En los temas siguientes se describe cómo crear, administrar y configurar raspadores.

**Topics**
+ [Crear un raspador](#AMP-collector-create)
+ [Configuración del clúster de Amazon EKS](#AMP-collector-eks-setup)
+ [Buscar y eliminar raspadores](#AMP-collector-list-delete)
+ [Configuración del raspador](#AMP-collector-configuration)
+ [Solución de problemas de configuración del raspador](#AMP-collector-troubleshoot)
+ [Limitaciones del raspador](#AMP-collector-limits)

## Crear un raspador
<a name="AMP-collector-create"></a>

Un recopilador de Amazon Managed Service para Prometheus consta de un raspador que descubre y recopila métricas de un clúster de Amazon EKS. Amazon Managed Service para Prometheus gestiona el raspador por usted y le brinda la escalabilidad, la seguridad y la fiabilidad que necesita, sin tener que gestionar usted mismo ninguna instancia, agente o raspador.

Existen tres formas de crear un scraper:
+ Al [crear un clúster de Amazon EKS a través de la consola de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) y activar las métricas de Prometheus, se crea automáticamente un scraper.
+ Es posible crear un scraper desde la consola de Amazon EKS para un clúster existente. Abra el clúster en la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters) y, a continuación, en la pestaña **Observabilidad**, elija **Agregar scraper**.

  Para obtener más información sobre los ajustes disponibles, consulte [Activación de métricas de Prometheus](https://docs.aws.amazon.com/eks/latest/userguide/prometheus.html#turn-on-prometheus-metrics) en la *Guía del usuario de Amazon EKS*.
+ Puede crear un raspador utilizando la API o el AWS . AWS CLI

  Estas opciones se explican en el procedimiento siguiente.

Existen algunos requisitos previos para crear su propio raspador:
+ Debe haber creado un clúster de Amazon EKS.
+ Su clúster de Amazon EKS debe tener configurado el [control de acceso al punto de conexión del clúster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) para incluir el acceso privado. Puede incluir el privado y el público, pero debe incluir el privado.
+ La Amazon VPC en la que reside el clúster de Amazon EKS debe tener el [DNS habilitado](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html).

**nota**  
El clúster se asociará al analizador por el nombre de recurso de Amazon (ARN). Si elimina un clúster y, a continuación, crea uno nuevo con el mismo nombre, el ARN se reutilizará para el nuevo clúster. Por este motivo, el analizador intentará recopilar métricas para el nuevo clúster. [Elimine los analizadores](#AMP-collector-list-delete) aparte de la eliminación del clúster.

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

**Para crear un raspador mediante la API de AWS **

Utilice la operación `CreateScraper` API para crear un raspador con la AWS API. En el siguiente ejemplo se crea un scraper en la región `us-west-2`. Debe reemplazar la información sobre el espacio de trabajo Cuenta de AWS, la seguridad y el clúster de Amazon EKS por la suya propia IDs y proporcionar la configuración que utilizará para su raspador.

**nota**  
El grupo de seguridad y las subredes deben configurarse en el grupo de seguridad y las subredes del clúster al que se está conectando.  
Debe incluir al menos dos subredes en al menos dos zonas de disponibilidad.

`scrapeConfiguration` es un archivo YAML de configuración de Prometheus codificado en base64. Puede descargar una configuración de uso general con la operación de la API `GetDefaultScraperConfiguration`. Para obtener más información sobre el formato de `scrapeConfiguration`, consulte [Configuración del raspador](#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 ]

**Para crear un raspador mediante la AWS CLI**

Utilice el comando `create-scraper` para crear un scraper con la AWS CLI. En el siguiente ejemplo se crea un scraper en la región `us-west-2`. Debe reemplazar la información sobre el espacio de trabajo Cuenta de AWS, la seguridad y el clúster de Amazon EKS por la suya propia IDs y proporcionar la configuración que utilizará para su raspador.

**nota**  
El grupo de seguridad y las subredes deben configurarse en el grupo de seguridad y las subredes del clúster al que se está conectando.  
Debe incluir al menos dos subredes en al menos dos zonas de disponibilidad.

`scrape-configuration` es un archivo YAML de configuración de Prometheus codificado en base64. Puede descargar una configuración de uso general con el comando `get-default-scraper-configuration`. Para obtener más información sobre el formato de `scrape-configuration`, consulte [Configuración del raspador](#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}}'}"
```

------

A continuación se muestra una lista completa de las operaciones del raspador que puede usar con la API de AWS :
+ Crear un raspador con la operación de la API [CreateScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_CreateScraper.html).
+ Enumerar sus raspadores existentes con la operación de la API [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html).
+ Actualice el alias, la configuración o el destino de un raspador con la operación de la [UpdateScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html)API.
+ Eliminar un raspador con la operación de la API [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html).
+ Obtener más detalles sobre un raspador con la operación de la API [DescribeScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DescribeScraper.html).
+ Obtener una configuración de uso general para los raspadores con la operación de la API [GetDefaultScraperConfiguration](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_GetDefaultScraperConfiguration.html).

**nota**  
El clúster de Amazon EKS que está recopilando debe estar configurado para permitir que Amazon Managed Service para Prometheus acceda a las métricas. En el siguiente tema se describe cómo configurar el clúster.

### Configuración entre cuentas
<a name="cross-account-remote-write"></a>

Para crear un scraper entre cuentas cuando el clúster de Amazon EKS y el espacio de trabajo de Amazon Managed Service para Prometheus estén en cuentas diferentes, siga el procedimiento que se indica a continuación. Por ejemplo, tiene una cuenta de origen `account_id_source` que contiene el clúster de Amazon EKS y una cuenta de destino `account_id_target` que contiene el espacio de trabajo de Amazon Managed Service para Prometheus.

**Para crear un scraper en una configuración entre cuentas**

1. En la cuenta de origen, cree un rol `arn:aws:iam::{{account_id}}_source:role/Source` y agregue la siguiente política de confianza.

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

1. En cada combinación de origen (clúster de Amazon EKS) y destino (espacio de trabajo de Amazon Managed Service for Prometheus), debe crear un `arn:aws:iam::{{account_id}}_target:role/Target` rol y añadir la siguiente política de confianza con permisos para. [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. Cree un scraper con la opción `--role-configuration`.

   ```
   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. Valide la creación del 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}}"
                   }
               }
           }
       ]
   }
   ```

### Cambiar entre un rol vinculado al RoleConfiguration servicio
<a name="changing-roles"></a>

Si quiere volver a un rol vinculado al servicio en lugar del rol `RoleConfiguration` para escribir en un espacio de trabajo de Amazon Managed Service para Prometheus, debe actualizar `UpdateScraper` y proporcionar un espacio de trabajo en la misma cuenta que el scraper sin el rol `RoleConfiguration`. El rol `RoleConfiguration` se eliminará del scraper y se utilizará el rol vinculado al servicio.

Si cambia de espacio de trabajo en la misma cuenta que el scraper y quiere seguir utilizando el rol `RoleConfiguration`, debe volver a proporcionar el `RoleConfiguration` en `UpdateScraper`.

### Creación de un scraper para espacios de trabajo habilitados con claves administradas por el cliente
<a name="setup-customer-managed-keys"></a>

Para crear un scraper para incorporar métricas a un espacio de trabajo de Amazon Managed Service para Prometheus con [claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk), utiliza el rol `--role-configuration` con el origen y el destino configurados en la misma cuenta.

```
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"}'
```

### Errores comunes al crear analizadores
<a name="AMP-collector-create-errors"></a>

Los siguientes son los problemas más comunes al intentar crear un analizador nuevo.
+  AWS Los recursos necesarios no existen. El *grupo de seguridad*, las *subredes* y el *clúster de Amazon EKS* especificados deben existir.
+ Espacio de direcciones IP insuficiente. Debe tener al menos una dirección IP disponible en cada subred que pase a la API `CreateScraper`.

## Configuración del clúster de Amazon EKS
<a name="AMP-collector-eks-setup"></a>

Su clúster de Amazon EKS debe estar configurado para permitir que el raspador acceda a las métricas. Hay dos opciones para esta configuración:
+ Usar las *entradas de acceso* de Amazon EKS para proporcionar acceso al clúster a los recopiladores de Amazon Managed Service para Prometheus de forma automática.
+ Configurar el clúster de Amazon EKS de forma manual para el analizador de métricas administrado.

En los siguientes tema, se describe cada una de estas opciones de manera más detallada.

### Configuración Amazon EKS para el acceso del analizador con entradas de acceso
<a name="AMP-collector-eks-access-entry-setup"></a>

Utilizar entradas de acceso para Amazon EKS es la forma más fácil de conceder acceso a Amazon Managed Service para Prometheus a fin de analizar métricas del clúster.

El clúster de Amazon EKS que está analizando debe estar configurado para permitir la autenticación de API. El modo de autenticación del clúster se debe establecer a `API` o `API_AND_CONFIG_MAP`. Se puede ver en la consola de Amazon EKS, en la pestaña **Configuración de acceso** de los detalles del clúster. Para obtener más información, consulte [Cómo permitir que los roles o los usuarios de IAM accedan al objeto de Kubernetes en el clúster de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) en la *Guía del usuario de Amazon EKS*.

Puede crear el analizador al crear el clúster o después de crearlo:
+ **Al crear un clúster**: puede configurar este acceso al [crear un clúster de Amazon EKS a través de la consola de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) (siga las instrucciones para crear un analizador como parte del clúster) y se creará de forma automática una política de entrada de acceso que permitirá a Amazon Managed Service para Prometheus acceder a las métricas del clúster.
+ **Al agregarlo después de crear un clúster**: si el clúster de Amazon EKS ya existe, establezca el modo de autenticación en `API` o `API_AND_CONFIG_MAP`; de este modo, los scrapers que cree [a través de la API o la CLI de Amazon Managed Service para Prometheus](#AMP-collector-create) o a través de la consola de Amazon EKS tendrán creada de forma automática la política de entrada de acceso correcta para usted y los scrapers tendrán acceso al clúster.

**Creación de la política de acceso y entrada**

Cuando crea un analizador y deja que Amazon Managed Service para Prometheus genere una política de entrada de acceso para usted, genera la siguiente política. Para obtener más información sobre las entradas de acceso, consulte [Cómo permitir que los roles o los usuarios de IAM accedan a Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) en la *Guía del usuario de 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"
            ]
        }
    ]
}
```

### Configuración manual de Amazon EKS para el acceso de los analizadores
<a name="AMP-collector-eks-manual-setup"></a>

Si prefiere usar `aws-auth ConfigMap` para controlar el acceso al clúster de Kubernetes, puede seguir concediendo acceso a las métricas a los analizadores de Amazon Managed Service para Prometheus. Con los siguientes pasos se concede acceso a Amazon Managed Service para Prometheus con el fin de analizar métricas del clúster de Amazon EKS.

**nota**  
Para obtener más información sobre `ConfigMap` y las entradas de acceso, consulte [Cómo permitir que los roles o los usuarios de IAM accedan a Kubernetes](https://docs.aws.amazon.com/eks/latest/userguide/access-entries.html) en la *Guía del usuario de Amazon EKS*.

Este procedimiento utiliza `kubectl` y la AWS CLI. Para obtener más información sobre la instalación de `kubectl`, consulte [Instalación de kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html) en la *Guía del usuario de Amazon EKS*.

**Configuración manual del clúster de Amazon EKS para el análisis de métricas administrado**

1. Cree un archivo denominado `clusterrole-binding.yml` con el siguiente contenido:

   ```
   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. Ejecute el siguiente comando para comprobar en el clúster:

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

   Esto creará el enlace y la regla del rol del clúster. En este ejemplo se utiliza `aps-collector-role` como el nombre de rol y `aps-collector-user` como el nombre de clave.

1. El siguiente comando proporciona información sobre el raspador con el identificador{{scraper-id}}. Este es el raspador que creó con el comando de la sección anterior.

   ```
   aws amp describe-scraper --scraper-id {{scraper-id}}
   ```

1. En los resultados de `describe-scraper`, busque `roleArn`. Este tendrá el siguiente formato:

   ```
   arn:aws:iam::{{account-id}}:role/aws-service-role/scraper.aps.amazonaws.com/AWSServiceRoleForAmazonPrometheusScraper_{{unique-id}}
   ```

   Amazon EKS requiere un formato diferente para este ARN. Debe ajustar el formato del ARN devuelto para usarlo en el siguiente paso. Edítelo para que coincida con este formato:

   ```
   arn:aws:iam::{{account-id}}:role/AWSServiceRoleForAmazonPrometheusScraper_{{unique-id}}
   ```

   Por ejemplo, este ARN:

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

   Debe reescribirse como:

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

1. Ejecute el siguiente comando en el clúster, utilizando el `roleArn` modificado del paso anterior, así como el nombre y la región del clúster:

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

   Esto permite que el raspador acceda al clúster mediante el rol y el usuario que creó en el archivo `clusterrole-binding.yml`.

## Buscar y eliminar raspadores
<a name="AMP-collector-list-delete"></a>

Puedes usar la AWS API o la AWS CLI para enumerar los raspadores de tu cuenta o eliminarlos.

**nota**  
Asegúrese de utilizar la versión más reciente del AWS CLI o del SDK. La última versión le proporciona las características y funcionalidades más recientes, así como actualizaciones de seguridad. Como alternativa, [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)utilícelo, que proporciona una experiencia de línea de up-to-date comandos permanente, de forma automática.

Para enumerar todos los raspadores de su cuenta, utilice la operación de la API [ListScrapers](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_ListScrapers.html).

Como alternativa, con el comando AWS CLI, llame a:

```
aws amp list-scrapers --region {{{{aws-region}}}}
```

`ListScrapers` devuelve todos los raspadores de su cuenta, por ejemplo:

```
{
    "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"
                }
            }
        }
    ]
}
```

Para eliminar un raspador, busque `scraperId` para el raspador que desea eliminar mediante la operación `ListScrapers` y, a continuación, utilice la operación [DeleteScraper](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html) para eliminarlo.

Como alternativa, con la AWS CLI, llame a:

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

## Configuración del raspador
<a name="AMP-collector-configuration"></a>

Puede controlar la forma en que su raspador descubre y recopila las métricas con una configuración de raspador compatible con Prometheus. Por ejemplo, puede cambiar el intervalo en el que se envían las métricas al espacio de trabajo. También puede usar el reetiquetado para reescribir dinámicamente las etiquetas de una métrica. La configuración del raspador es un archivo YAML que forma parte de la definición del raspador.

Cuando se crea un nuevo raspador, se especifica una configuración proporcionando un archivo YAML codificado en base64 en la llamada a la API. Puede descargar un archivo de configuración de uso general con la operación `GetDefaultScraperConfiguration` en la API de Amazon Managed Service para Prometheus.

Para modificar la configuración de un scraper, puede utilizar la operación `UpdateScraper`. Si necesita actualizar el origen de las métricas (por ejemplo, a un clúster de Amazon EKS diferente), debe eliminar el scraper y volver a crearlo con la nueva fuente.

**Configuración admitida**

Para obtener información sobre el formato de configuración del analizador, incluido un desglose detallado de los valores posibles, consulte [Configuración](https://prometheus.io/docs/prometheus/latest/configuration/configuration/) en la documentación de Prometheus. Las opciones de configuración global y las opciones `<scrape_config>` describen las opciones que se necesitan con más frecuencia.

Dado que Amazon EKS es el único servicio admitido, la única configuración de detección de servicios (`<*_sd_config>`) que se admite es `<kubernetes_sd_config>`.

Lista completa de secciones de configuración permitidas:
+ `<global>`
+ `<scrape_config>`
+ `<static_config>`
+ `<relabel_config>`
+ `<metric_relabel_configs>`
+ `<kubernetes_sd_config>`

Las limitaciones de estas secciones se enumeran después del archivo de configuración de muestra.

**Archivo de configuración de muestra**

A continuación se muestra un ejemplo de archivo de configuración de YAML con un intervalo de raspado de 30 segundos. Este ejemplo incluye compatibilidad con las métricas del servidor de la API de kube, así como con las métricas de kube-controller-manager kube-scheduler. Para obtener más información, consulte [Obtención de métricas sin procesar del plano de control en formato Prometheus](https://docs.aws.amazon.com/eks/latest/userguide/view-raw-metrics.html#scheduler-controller-metrics) en la *Guía del usuario de Amazon EKS*.

```
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
```

Las siguientes son limitaciones específicas de los recopiladores gestionados: AWS 
+ **Intervalo de raspado**: la configuración del raspador no puede especificar un intervalo de raspado inferior a 30 segundos.
+ **Objetivos**: los objetivos de `static_config` deben especificarse como direcciones IP.
+ **Resolución de DNS**: en relación con el nombre de destino, el único nombre de servidor que se reconoce en esta configuración es el servidor de la API de Kubernetes, `kubernetes.default.svc`. Los nombres de todas las demás máquinas deben especificarse mediante una dirección IP.
+ **Autorización**: se omite si no se necesita autorización. Si es necesaria, la autorización debe ser `Bearer` y debe apuntar al archivo `/var/run/secrets/kubernetes.io/serviceaccount/token`. En otras palabras, si se utiliza, la sección de autorización debe tener el siguiente aspecto:

  ```
      authorization:
        type: Bearer
        credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
  ```
**nota**  
`type: Bearer` es el valor predeterminado, por lo que se puede omitir.

## Solución de problemas de configuración del raspador
<a name="AMP-collector-troubleshoot"></a>

Los recopiladores de Amazon Managed Service para Prometheus descubren y raspan métricas automáticamente. Pero, ¿cómo puede solucionar los problemas si no ve una métrica que esperaba ver en su espacio de trabajo de Amazon Managed Service para Prometheus?

**importante**  
Compruebe que el acceso privado a su clúster de Amazon EKS esté habilitado. Para obtener más información, consulte [Punto de conexión privado del clúster](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html#cluster-endpoint-private) en la *Guía del usuario de Amazon EKS*.

La métrica `up` es una herramienta útil. Esta métrica se proporciona automáticamente para cada punto de conexión que descubre un recopilador de Amazon Managed Service para Prometheus. Hay tres estados de esta métrica que pueden ayudarte a solucionar los problemas que se producen en el recopilador.
+ `up` no está presente: si no hay ninguna métrica `up` para un punto de conexión, significa que el recopilador no ha podido encontrar el punto de conexión.

  Si tiene claro que el punto de conexión existe, hay varios motivos por los que es posible que el scraper no lo encuentre.
  + Es posible que necesite ajustar la configuración de análisis. Es posible que sea necesario ajustar `relabel_config` en la detección.
  + Podría haber un problema con el `role` utilizado para la detección.
  + Es posible que la Amazon VPC utilizada por el clúster de Amazon EKS no tenga el [DNS habilitado](https://docs.aws.amazon.com/vpc/latest/userguide/AmazonDNS-concepts.html), lo que impediría que el scraper encuentre el punto de conexión.
+ `up` está presente, pero siempre es 0: si `up` está presente, pero es 0, el recopilador podrá detectar el punto de conexión, pero no podrá encontrar ninguna métrica compatible con Prometheus.

  En este caso, puede intentar utilizar un comando `curl` directamente según el punto de conexión. Puede validar que tiene los detalles correctos, por ejemplo, el protocolo (`http` o `https`), el punto de conexión o el puerto que está utilizando. También puede comprobar que el punto de conexión responde con una respuesta `200` válida y sigue el formato de Prometheus. Por último, el cuerpo de la respuesta no puede superar el tamaño máximo permitido. (Para conocer los límites de los recopiladores AWS gestionados, consulte la siguiente sección).
+ `up` está presente y es superior a 0: si `up` está presente y es superior a 0, las métricas se envían a Amazon Managed Service para Prometheus.

  Valide que está buscando las métricas correctas en Amazon Managed Service para Prometheus (o en su panel alternativo, como Amazon Managed Grafana). Puede volver a usar curl para comprobar los datos esperados en su punto de conexión `/metrics`. Compruebe también que no ha superado otros límites, como el número de puntos de conexión por raspador. Puede conocer el número de puntos de conexión de las métricas que se están analizando si consulta el recuento de métricas `up`, mediante `count(up)`.

## Limitaciones del raspador
<a name="AMP-collector-limits"></a>

Los raspadores totalmente gestionados que ofrece Amazon Managed Service para Prometheus presentan pocas limitaciones.
+ **Región**: el clúster de EKS, el raspador administrado y el espacio de trabajo de Amazon Managed Service para Prometheus deben estar en la misma región de AWS .
+ **Recopiladores**: puede tener un máximo de 10 raspadores de Amazon Managed Service para Prometheus por región y cuenta.
**nota**  
Puede solicitar un aumento de este límite [solicitando un aumento de cuota](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase).
+ **Respuesta de métricas**: el cuerpo de la respuesta de cualquier solicitud de punto de conexión `/metrics` no puede tener más de 50 megabytes (MB).
+ **Puntos de conexión por raspador**: un raspador puede raspar un máximo de 30 000 puntos de conexión `/metrics`.
+ **Intervalo de raspado**: la configuración del raspador no puede especificar un intervalo de raspado inferior a 30 segundos.