

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Supervisión de las métricas del clúster con Prometheus
<a name="prometheus"></a>

 [Prometheus](https://prometheus.io/) es una base de datos de serie temporal y de monitoreo que recopila puntos de conexión. Ofrece la posibilidad de consultar, agregar y almacenar los datos recopilados. También se puede utilizar para la generación de alertas y su agregación. En este tema se explica cómo configurar Prometheus como una opción administrada o de código abierto. La monitorización de las métricas del plano de control de Amazon EKS es un caso de uso común.

Amazon Managed Service for Prometheus es un servicio de supervisión y alertas compatible con Prometheus que facilita el monitoreo de las aplicaciones y la infraestructura en contenedores a escala. Es un servicio totalmente administrado que escala automáticamente la ingesta, el almacenamiento, las consultas y las alertas de sus métricas. También se integra con servicios de seguridad de AWS para permitir un acceso rápido y seguro a sus datos. Puede utilizar el lenguaje de consulta ProMQL de código abierto para consultar sus métricas y crear alertas sobre ellas. También puede utilizar el administrador de alertas en Amazon Managed Service para Prometheus para configurar reglas de alerta para alertas críticas. A continuación, puede enviar estas alertas críticas como notificaciones a un tema de Amazon SNS.

Existen varias opciones diferentes para el uso de Prometheus con Amazon EKS:
+ Puede activar las métricas de Prometheus al crear un clúster de Amazon EKS por primera vez, o puede crear su propio raspador de Prometheus para clústeres existentes. En este tema se tratan estas dos opciones.
+ Puede implementar Prometheus con Helm. Para obtener más información, consulte [Implementación de Prometheus con Helm](deploy-prometheus.md).
+ Puede ver las métricas sin procesar del plano de control en formato Prometheus. Para obtener más información, consulte [Obtención de métricas sin procesar del plano de control en formato Prometheus](view-raw-metrics.md).

## Paso 1: activación de métricas de Prometheus
<a name="turn-on-prometheus-metrics"></a>

**importante**  
Los recursos de Amazon Managed Service para Prometheus están fuera del ciclo de vida del clúster y deben mantenerse por fuera del clúster. Al eliminar el clúster, asegúrese de eliminar, también, cualquier raspador para reducir los costos aplicables. Para más información, consulte [Búsqueda y eliminación de rapsadores](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-list-delete) en la *Guía de usuario de Amazon Managed Service para Prometheus*.

Prometheus descubre y recopila las métricas de su clúster mediante un modelo basado en la extracción denominado raspado. Los raspadores están configurados para recopilar datos de la infraestructura del clúster y de las aplicaciones en contenedores. Al activar la opción de enviar métricas de Prometheus, Amazon Managed Service para Prometheus proporciona un rastreador sin agentes totalmente administrado.

Si aún no ha creado el clúster, puede activar la opción de enviar métricas de Prometheus al crear el clúster. En la consola de Amazon EKS, esta opción se encuentra en el paso **Configurar la observabilidad**, que consiste en crear un clúster nuevo. Para obtener más información, consulte [Creación de un clúster de Amazon EKS](create-cluster.md).

Si ya tiene un clúster, puede crear su propio raspador de Prometheus. Para ello, en la consola de Amazon EKS, vaya a la pestaña **Observabilidad del clúster** y elija el botón **Añadir raspador**. Si prefiere hacerlo con la API de AWS o la AWS CLI, consulte [Create a scraper](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-create) en la *Guía del usuario de Amazon Managed Service para Prometheus*.

Las siguientes opciones están disponibles al crear el raspador con la consola de Amazon EKS.

 **Alias de raspador**   
(Opcional) Escriba un alias único para el raspador.

 **Destino**   
Elija un espacio de trabajo de Amazon Managed Service para Prometheus. Un espacio de trabajo es un espacio lógico dedicado al almacenamiento y la consulta de las métricas de Prometheus. Con este espacio de trabajo, podrá ver las métricas de Prometheus de las cuentas que tienen acceso a él. La opción **Crear un nuevo espacio** de trabajo indica a Amazon EKS que cree un espacio de trabajo en su nombre con el **alias de espacio de trabajo** que proporcione. Con la opción **Seleccionar un espacio de trabajo existente**, puede seleccionar un espacio de trabajo existente de una lista desplegable. Para obtener más información sobre los espacios de trabajo, consulte [Gestión de espacios de trabajo](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-manage-ingest-query.html) en la *Guía del usuario de Amazon Managed Service for Prometheus*.

 **Acceso a los servicios**   
En esta sección se resumen los permisos que se conceden al enviar métricas de Prometheus:  
+ Permiso para que Amazon Managed Service for Prometheus describa el clúster de Amazon EKS
+ Permiso para la escritura remota en el espacio de trabajo de Amazon Managed para Prometheus
Si el `AmazonManagedScraperRole` ya existe, el raspador lo usa. Elija el enlace de `AmazonManagedScraperRole` para ver los **detalles del permiso**. Si el `AmazonManagedScraperRole` aún no existe, seleccione el enlace **Ver detalles del permiso** para ver los permisos específicos que está concediendo mediante el envío de las métricas de Prometheus.

 **Subredes**   
Modifique las subredes que heredará el raspador según lo que necesite. Si necesita agregar una opción de subred atenuada, vuelva al paso de creación del clúster de **Especificar red**.

 **Configuración del raspador**   
Modifique la configuración del raspador en formato YAML según sea necesario. Para ello, utilice el formulario o cargue un archivo YAML de reemplazo. Para obtener más información, consulte [Configuración del raspador](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) en la *Guía del usuario de Amazon Managed Service for Prometheus*.

Amazon Managed Service para Prometheus hace referencia al rastreador sin agente que se crea junto con el clúster como recopilador administrado de AWS. Para obtener más información sobre los recopiladores administrados por AWS, consulte [Ingesta de métricas con recopiladores administrados por AWS](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) en la *Guía del usuario de Amazon Managed Service para Prometheus*.

**importante**  
Si crea un raspador de Prometheus mediante la AWS CLI o la API de AWS, debe ajustar su configuración para otorgarle permisos dentro del clúster. Para obtener más información, consulte [Configuración del clúster de Amazon EKS](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup) en la *Guía del usuario de Amazon Managed Service for Prometheus*.
Si tiene un raspador de Prometheus creado antes del 11 de noviembre de 2024 que utilice el `ConfigMap` `aws-auth` en lugar de entradas de acceso, deberá actualizarlo para obtener acceso a métricas adicionales del plano de control del clúster de Amazon EKS. Para obtener la configuración actualizada, consulte [Configuración manual de Amazon EKS para el acceso del sistema de extracción](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-manual-setup) en la *Guía del usuario de Amazon Managed Service para Prometheus*.

## Paso 2: uso de métricas de Prometheus
<a name="use-prometheus-metrics"></a>

Para obtener más información sobre cómo utilizar las métricas de Prometheus después de activarlas en su clúster, consulte la [Guía del usuario de Amazon Managed Service para Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html).

## Paso 3: administración de raspadores de Prometheus
<a name="viewing-prometheus-scraper-details"></a>

Para administrar raspadores, elija la pestaña **Observabilidad** en la consola de Amazon EKS. En una tabla se muestra una lista de los raspadores del clúster, que incluye información como el ID, el alias, el estado y la fecha de creación del raspador. Puede agregar más raspadores, editarlos, eliminarlos o ver más información sobre los raspadores actuales.

Para ver más detalles sobre un raspador, elija el enlace de ID del raspador. Por ejemplo, puede ver el ARN, el entorno, el ID del espacio de trabajo, el rol de IAM, la configuración y la información de la red. Puede usar el ID de raspador como entrada en Amazon Managed Service para operaciones de la API de Prometheus, como [https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DescribeScraper.html](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DescribeScraper.html), [https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_UpdateScraper.html) y [https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html). Para obtener más información sobre el uso de la API de Prometheus, consulte la [referencia de la API de Amazon Managed Service para Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-APIReference.html).

# Implementación de Prometheus con Helm
<a name="deploy-prometheus"></a>

Como alternativa al uso de Amazon Managed Service para Prometheus, puede implementar Prometheus en su clúster con Helm. Si ya tiene instalado Helm, puede comprobar su versión con el comando `helm version`. Helm es un administrador de paquetes para los clústeres de Kubernetes. Para obtener más información sobre Helm y sobre cómo instalarlo, consulte [Implementación de aplicaciones en Amazon EKS con Helm](helm.md).

Después de configurar Helm para su clúster de Amazon EKS, puede utilizarlo para implementar Prometheus con los pasos que se describen a continuación.

1. Cree un espacio de nombres para Prometheus.

   ```
   kubectl create namespace prometheus
   ```

1. Agregue el repositorio de gráficos de `prometheus-community`.

   ```
   helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
   ```

1. Implemente Prometheus.

   ```
   helm upgrade -i prometheus prometheus-community/prometheus \
       --namespace prometheus \
       --set alertmanager.persistence.storageClass="gp2" \
       --set server.persistentVolume.storageClass="gp2"
   ```
**nota**  
Si recibe el error `Error: failed to download "stable/prometheus" (hint: running helm repo update may help)` al ejecutar este comando, ejecute `helm repo update prometheus-community` y, a continuación, vuelva a ejecutar el comando del Paso 2.

   Si recibe el error `Error: rendered manifests contain a resource that already exists`, ejecute `helm uninstall your-release-name -n namespace ` y, a continuación, vuelva a ejecutar el comando del Paso 3.

1. Compruebe que todos los pods en el espacio de nombres de `prometheus` se encuentran en estado `READY`.

   ```
   kubectl get pods -n prometheus
   ```

   Un ejemplo de salida sería el siguiente.

   ```
   NAME                                             READY   STATUS    RESTARTS   AGE
   prometheus-alertmanager-59b4c8c744-r7bgp         1/2     Running   0          48s
   prometheus-kube-state-metrics-7cfd87cf99-jkz2f   1/1     Running   0          48s
   prometheus-node-exporter-jcjqz                   1/1     Running   0          48s
   prometheus-node-exporter-jxv2h                   1/1     Running   0          48s
   prometheus-node-exporter-vbdks                   1/1     Running   0          48s
   prometheus-pushgateway-76c444b68c-82tnw          1/1     Running   0          48s
   prometheus-server-775957f748-mmht9               1/2     Running   0          48s
   ```

1. Utilice `kubectl` para el enrutamiento del puerto de la consola de Prometheus a su equipo local.

   ```
   kubectl --namespace=prometheus port-forward deploy/prometheus-server 9090
   ```

1. Apunte un navegador web a `http://localhost:9090` para ver la consola de Prometheus.

1. Elija una métrica del menú **- insert metric at cursor (- insertar métrica en el cursor)** y elija **Execute (Ejecutar)**. Elija la pestaña **Graph (Gráfico)** para mostrar la métrica con el paso del tiempo. La siguiente imagen muestra `container_memory_usage_bytes` a lo largo del tiempo.  
![\[Métricas de Prometheus\]](http://docs.aws.amazon.com/es_es/eks/latest/userguide/images/prometheus-metric.png)

1. En la barra de navegación superior, elija **Status (Estado)** y **Targets (Destinos)**.  
![\[Consola de Prometheus\]](http://docs.aws.amazon.com/es_es/eks/latest/userguide/images/prometheus.png)

   Se muestran todos los puntos de enlace de Kubernetes que están conectados a Prometheus mediante detección de servicios.

# Obtención de métricas sin procesar del plano de control en formato Prometheus
<a name="view-raw-metrics"></a>

El plano de control de Kubernetes expone una serie de métricas que se representan en un [formato Prometheus](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md). Estas métricas son útiles para el monitoreo y el análisis. Se exponen internamente a través de puntos de conexión de métricas, y se puede acceder a estos sin implementar Prometheus completamente. Sin embargo, la implementación de Prometheus permite analizar las métricas a lo largo del tiempo de forma más sencilla.

Para ver la salida de métricas sin procesar, reemplace `endpoint` y ejecute el siguiente comando.

```
kubectl get --raw endpoint
```

Este comando permite pasar cualquier ruta de punto de conexión y devuelve la respuesta sin procesar. La salida enumera las diferentes métricas línea por línea, y cada línea incluye un nombre de métrica, etiquetas y un valor.

```
metric_name{tag="value"[,...]} value
```

## Cómo obtener métricas del servidor de API
<a name="fetch-metrics"></a>

El punto de conexión general del servidor de API se expone en el plano de control de Amazon EKS. Este punto de conexión resulta útil sobre todo cuando se examina una métrica específica.

```
kubectl get --raw /metrics
```

Un ejemplo de salida sería el siguiente.

```
[...]
# HELP rest_client_requests_total Number of HTTP requests, partitioned by status code, method, and host.
# TYPE rest_client_requests_total counter
rest_client_requests_total{code="200",host="127.0.0.1:21362",method="POST"} 4994
rest_client_requests_total{code="200",host="127.0.0.1:443",method="DELETE"} 1
rest_client_requests_total{code="200",host="127.0.0.1:443",method="GET"} 1.326086e+06
rest_client_requests_total{code="200",host="127.0.0.1:443",method="PUT"} 862173
rest_client_requests_total{code="404",host="127.0.0.1:443",method="GET"} 2
rest_client_requests_total{code="409",host="127.0.0.1:443",method="POST"} 3
rest_client_requests_total{code="409",host="127.0.0.1:443",method="PUT"} 8
# HELP ssh_tunnel_open_count Counter of ssh tunnel total open attempts
# TYPE ssh_tunnel_open_count counter
ssh_tunnel_open_count 0
# HELP ssh_tunnel_open_fail_count Counter of ssh tunnel failed open attempts
# TYPE ssh_tunnel_open_fail_count counter
ssh_tunnel_open_fail_count 0
```

Este resultado sin procesar devuelve literalmente lo que el servidor de API expone.

## Métricas del plano de control con `metrics.eks.amazonaws.com`
<a name="fetch-metrics-prometheus"></a>

En el caso de los clústeres de la versión `1.28` y posteriores de Kubernetes, Amazon EKS también expone métricas bajo el grupo de la API `metrics.eks.amazonaws.com`. Estas métricas incluyen componentes del plano de control, como `kube-scheduler` y `kube-controller-manager`.

**nota**  
Si tiene una configuración de webhook que podría bloquear la creación de la nueva `v1.metrics.eks.amazonaws.com` del recurso `APIService` en el clúster, es posible que la característica de punto de conexión de métricas no se encuentre disponible. Para verificarlo en el registro de auditoría de `kube-apiserver`, busque la palabra clave `v1.metrics.eks.amazonaws.com`.

### Cómo obtener métricas de `kube-scheduler`
<a name="fetch-metrics-scheduler"></a>

Utilice el siguiente comando para obtener métricas de `kube-scheduler`

```
kubectl get --raw "/apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics"
```

Un ejemplo de salida sería el siguiente.

```
# TYPE scheduler_pending_pods gauge
scheduler_pending_pods{queue="active"} 0
scheduler_pending_pods{queue="backoff"} 0
scheduler_pending_pods{queue="gated"} 0
scheduler_pending_pods{queue="unschedulable"} 18
# HELP scheduler_pod_scheduling_attempts [STABLE] Number of attempts to successfully schedule a pod.
# TYPE scheduler_pod_scheduling_attempts histogram
scheduler_pod_scheduling_attempts_bucket{le="1"} 79
scheduler_pod_scheduling_attempts_bucket{le="2"} 79
scheduler_pod_scheduling_attempts_bucket{le="4"} 79
scheduler_pod_scheduling_attempts_bucket{le="8"} 79
scheduler_pod_scheduling_attempts_bucket{le="16"} 79
scheduler_pod_scheduling_attempts_bucket{le="+Inf"} 81
[...]
```

### Cómo obtener métricas de `kube-controller-manager`
<a name="fetch-metrics-controller"></a>

Utilice el siguiente comando para obtener métricas de `kube-controller-manager`

```
kubectl get --raw "/apis/metrics.eks.amazonaws.com/v1/kcm/container/metrics"
```

Un ejemplo de salida sería el siguiente.

```
[...]
workqueue_work_duration_seconds_sum{name="pvprotection"} 0
workqueue_work_duration_seconds_count{name="pvprotection"} 0
workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-08"} 0
workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-07"} 0
workqueue_work_duration_seconds_bucket{name="replicaset",le="1e-06"} 0
workqueue_work_duration_seconds_bucket{name="replicaset",le="9.999999999999999e-06"} 0
workqueue_work_duration_seconds_bucket{name="replicaset",le="9.999999999999999e-05"} 19
workqueue_work_duration_seconds_bucket{name="replicaset",le="0.001"} 109
workqueue_work_duration_seconds_bucket{name="replicaset",le="0.01"} 139
workqueue_work_duration_seconds_bucket{name="replicaset",le="0.1"} 181
workqueue_work_duration_seconds_bucket{name="replicaset",le="1"} 191
workqueue_work_duration_seconds_bucket{name="replicaset",le="10"} 191
workqueue_work_duration_seconds_bucket{name="replicaset",le="+Inf"} 191
workqueue_work_duration_seconds_sum{name="replicaset"} 4.265655885000002
[...]
```

### Comprender las métricas del programador y del administrador de controladores
<a name="scheduler-controller-metrics"></a>

En la siguiente tabla se describen las métricas del programador y del administrador de controladores que están disponibles para la extracción de estilos de Prometheus. Para obtener más información acerca de estas métricas, consulte [Kubernetes Metrics Reference](https://kubernetes.io/docs/reference/instrumentation/metrics/) en la documentación de Kubernetes.


| Métrica | Componente del plano de control | Descripción | 
| --- | --- | --- | 
|  scheduler\$1pending\$1pods  |  programador  |  La cantidad de pods que están a la espera de programarse en un nodo para su ejecución.  | 
|  scheduler\$1schedule\$1attempts\$1total  |  programador  |  La cantidad de intentos realizados para programar pods.  | 
|  scheduler\$1preemption\$1attempts\$1total  |  programador  |  La cantidad de intentos realizados por el programador para programar pods de mayor prioridad expulsando los de menor prioridad.  | 
|  scheduler\$1preemption\$1victims  |  programador  |  La cantidad de pods que se han seleccionado para expulsarse con el fin de liberar espacio para pods de mayor prioridad.  | 
|  scheduler\$1pod\$1scheduling\$1attempts  |  programador  |  La cantidad de intentos de programar un pod correctamente.  | 
|  scheduler\$1scheduling\$1attempt\$1duration\$1seconds  |  programador  |  Indica la velocidad con la que el programador es capaz de encontrar un espacio adecuado para la ejecución de un pod en función de varios factores, como la disponibilidad de recursos y las reglas de programación.  | 
|  scheduler\$1pod\$1scheduling\$1sli\$1duration\$1seconds  |  programador  |  La latencia de extremo a extremo de un pod que se está programando, desde el momento en que entra en la cola de programación. Es posible que sean necesarios varios intentos de programación.  | 
|  cronjob\$1controller\$1job\$1creation\$1skew\$1duration\$1seconds  |  administrador de controladores  |  El tiempo transcurrido entre el momento en que se programa la ejecución de un cronjob y el momento en que se crea el trabajo correspondiente.  | 
|  workqueue\$1depth  |  administrador de controladores  |  La profundidad actual de la cola.  | 
|  workqueue\$1adds\$1total  |  administrador de controladores  |  Cantidad total de adiciones administradas por la cola de trabajo.  | 
|  workqueue\$1queue\$1duration\$1seconds  |  administrador de controladores  |  El tiempo en segundos que un elemento permanece en la cola de trabajo antes de ser solicitado.  | 
|  workqueue\$1work\$1duration\$1seconds  |  administrador de controladores  |  El tiempo en segundos que tarda en procesarse un elemento de la cola de trabajo.  | 

## Implementación de un sistema de extracción de Prometheus para extraer métricas de forma sistemática
<a name="deploy-prometheus-scraper"></a>

Para implementar un sistema de extracción de Prometheus que extraiga sistemáticamente las métricas, utilice la siguiente configuración:

```
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: prometheus-conf
data:
  prometheus.yml: |-
    global:
      scrape_interval: 30s
    scrape_configs:
    # apiserver metrics
    - job_name: apiserver-metrics
      kubernetes_sd_configs:
      - role: endpoints
      scheme: https
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      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
    # Scheduler metrics
    - job_name: 'ksh-metrics'
      kubernetes_sd_configs:
      - role: endpoints
      metrics_path: /apis/metrics.eks.amazonaws.com/v1/ksh/container/metrics
      scheme: https
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      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
      tls_config:
        ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        insecure_skip_verify: true
      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
---
apiVersion: v1
kind: Pod
metadata:
  name: prom-pod
spec:
  containers:
  - name: prom-container
    image: prom/prometheus
    ports:
    - containerPort: 9090
    volumeMounts:
    - name: config-volume
      mountPath: /etc/prometheus/
  volumes:
  - name: config-volume
    configMap:
      name: prometheus-conf
```

El permiso que sigue es necesario para que el pod acceda al nuevo punto de conexión de métricas.

```
{
  "effect": "allow",
  "apiGroups": [
    "metrics.eks.amazonaws.com"
  ],
  "resources": [
    "kcm/metrics",
    "ksh/metrics"
  ],
  "verbs": [
    "get"
  ] },
```

Para aplicar un parche al rol que se utiliza, puede utilizar el siguiente comando.

```
kubectl patch clusterrole <role-name> --type=json -p='[
  {
    "op": "add",
    "path": "/rules/-",
    "value": {
      "verbs": ["get"],
      "apiGroups": ["metrics.eks.amazonaws.com"],
      "resources": ["kcm/metrics", "ksh/metrics"]
    }
  }
]'
```

A continuación, para ver el panel de Prometheus, puede redirigir mediante proxy el puerto del sistema de extracción de Prometheus al puerto local.

```
kubectl port-forward pods/prom-pod 9090:9090
```

Para el clúster de Amazon EKS, las métricas del plano de control principal de Kubernetes también se ingieren en las métricas de Amazon CloudWatch bajo el espacio de nombres de `AWS/EKS`. Para verlas, abra la [consola de CloudWatch](https://console.aws.amazon.com/cloudwatch/home#logs:prefix=/aws/eks) y seleccione **Todas las métricas** en el panel de navegación izquierdo. En la página de selección de **Métricas**, elija el espacio de nombres de `AWS/EKS` y una dimensión de métricas para el clúster.