

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Monitore as métricas do seu cluster com o Prometheus
<a name="prometheus"></a>

 [O Prometheus](https://prometheus.io/) é um banco de dados de monitoramento e de séries temporais que extrai endpoints. Ele permite consultar, agregar e armazenar dados coletados. Você também pode usá-lo para alertas e agregação de alertas. Este tópico explica como configurar o Prometheus como uma opção gerenciada ou de código aberto. Monitorar o ambiente de gerenciamento de métricas do Amazon EKS é um caso de uso comum.

O Amazon Managed Service for Prometheus é um serviço de monitoramento e alerta compatível com o Prometheus que facilita o monitoramento de aplicações em contêiner e de infraestrutura em escala. É um serviço totalmente gerenciado que dimensiona automaticamente a ingestão, o armazenamento, a consulta e o alerta de métricas. Também se integra aos serviços de segurança da AWS para permitir acesso rápido e seguro aos dados. É possível usar a linguagem de consulta PromQL de código aberto para consultar suas métricas e emitir alertas sobre elas. Você também pode usar o gerenciador de alertas no Amazon Managed Service for Prometheus para configurar regras de alertas para alertas críticos. Você pode então enviar esses alertas críticos para um tópico do Amazon SNS.

Há várias opções diferentes para usar o Prometheus com o Amazon EKS:
+ Você pode ativar as métricas do Prometheus ao criar um cluster do Amazon EKS pela primeira vez, ou pode criar seu próprio extrator do Prometheus para clusters existentes. Essas duas opções são abordadas neste tópico.
+ Você pode implantar o Prometheus usando o Helm. Para obter mais informações, consulte [Implantar o Prometheus usando o Helm](deploy-prometheus.md).
+ Você pode visualizar as métricas brutas do ambiente de gerenciamento no formato do Prometheus. Para obter mais informações, consulte [Obter as métricas brutas do ambiente de gerenciamento no formato do Prometheus](view-raw-metrics.md).

## Etapa 1: ativar as métricas do Prometheus
<a name="turn-on-prometheus-metrics"></a>

**Importante**  
Os recursos do Amazon Managed Service for Prometheus estão fora do ciclo de vida do cluster e precisam ser mantidos separados do cluster. Ao excluir seu cluster, certifique-se de excluir também todos os extratores relevantes para interromper os custos aplicáveis. Para obter mais informações, consulte [Encontrar e excluir extratores](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-list-delete) no *Guia do usuário do Amazon Managed Service for Prometheus*.

O Prometheus descobre e coleta métricas do cluster por meio de um modelo baseado em pull, denominado extração. Os extratores são configurados para coletar dados de sua infraestrutura de cluster e aplicações conteinerizadas. Quando você ativa a opção de enviar métricas do Prometheus, o Amazon Managed Service for Prometheus fornece um extrator sem agente totalmente gerenciado.

Se você ainda não tiver criado o cluster, poderá ativar a opção de enviar métricas para o Prometheus ao criar o cluster pela primeira vez. No console do Amazon EKS, essa opção está na etapa **Configurar observabilidade** da criação de um novo cluster. Para obter mais informações, consulte [Criar um cluster do Amazon EKS](create-cluster.md).

Se você já tiver um cluster existente, poderá criar seu próprio extrator do Prometheus. Para fazer isso no console do Amazon EKS, navegue até a guia **Observabilidade** do cluster e escolha o botão **Adicionar scraper**. Se preferir fazer isso com a API AWS ou a AWS CLI, consulte [Create a scraper](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-create) no *Guia do usuário do Amazon Managed Service for Prometheus*.

As seguintes opções estão disponíveis ao criar o scraper com o console do Amazon EKS.

 **Alias do extrator**   
(Opcional) Insira um alias exclusivo para o extrator.

 **Destination** (Destino)   
Escolha um espaço de trabalho do Amazon Managed Service for Prometheus. Um espaço de trabalho é um espaço lógico dedicado ao armazenamento e à consulta das métricas do Prometheus. Com esse espaço de trabalho, você poderá visualizar métricas do Prometheus em todas as contas que têm acesso a ele. A opção **Criar novo espaço de trabalho** instrui o Amazon EKS a criar um espaço de trabalho em seu nome usando o **Alias de espaço de trabalho** fornecido por você. Com a opção **Selecionar espaço de trabalho existente**, você pode selecionar um espaço de trabalho existente em uma lista suspensa. Para obter mais informações sobre espaços de trabalho, consulte [Gerenciamento de espaços de trabalho](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-manage-ingest-query.html) no *Guia do usuário do Amazon Managed Service for Prometheus*.

 **Acesso ao serviço**   
Esta seção resume as permissões que você concede ao enviar métricas do Prometheus:  
+ Permita que o Amazon Managed Service for Prometheus descreva o cluster do Amazon EKS extraído
+ Permitir gravação remota no espaço de trabalho do Amazon Managed Service for Prometheus
Se o `AmazonManagedScraperRole` já existir, o extrator o usará. Escolha o link `AmazonManagedScraperRole` para ver os **Detalhes da permissão**. Se ainda não houver um `AmazonManagedScraperRole`, escolha o link **Visualizar detalhes da permissão** para ver as permissões específicas que você está concedendo ao enviar métricas do Prometheus.

 **Sub-redes**   
Modifique as sub-redes que o raspador herdará conforme necessário. Se você precisar adicionar uma opção de sub-rede esmaecida, volte para a etapa Criar cluster **Especificar rede**.

 **Configuração do extrator**   
Modifique a configuração do extrator no formato YAML conforme necessário. Para isso, use o formulário ou faça upload de um arquivo YAML substituto. Para obter mais informações, consulte [Configuração do extrator](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) no *Guia do usuário do Amazon Managed Service for Prometheus*.

O Amazon Managed Service for Prometheus se refere ao extrator sem agente criado com o cluster como um coletor gerenciado pela AWS. Para obter mais informações sobre coletores gerenciados AWS, consulte [Ingerir métricas com coletores gerenciados AWS](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) no *Guia do usuário do Amazon Managed Service for Prometheus*.

**Importante**  
Se criar um extrator do Prometheus usando a AWS CLI ou a API da AWS, você precisará ajustar sua configuração para conceder permissões ao extrator no cluster. Para obter mais informações, consulte [Configurar o cluster do Amazon EKS](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup) no *Guia do usuário do Amazon Managed Service for Prometheus*.
Se você tiver um extrator do Prometheus criado antes de 11 de novembro de 2024 que use o `ConfigMap` `aws-auth` em vez das entradas de acesso, você precisará atualizá-lo para acessar as métricas adicionais do ambiente de gerenciamento de cluster do Amazon EKS. Para obter a configuração atualizada, consulte [Configuração manual do Amazon EKS para acesso de extrator](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-manual-setup) no *Guia do usuário do Amazon Managed Service for Prometheus*.

## Etapa 2: usar as métricas do Prometheus
<a name="use-prometheus-metrics"></a>

Para obter mais informações sobre como usar as métricas do Prometheus depois de ativá-las no cluster, consulte o [Guia do usuário do Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html).

## Etapa 3: gerenciar extratores do Prometheus
<a name="viewing-prometheus-scraper-details"></a>

Para gerenciar scrapers, escolha a guia **Observabilidade** no console do Amazon EKS. Uma tabela mostra uma lista de extratores para o cluster, incluindo informações como ID, alias, status e data de criação do extrator. É possível adicionar mais extratores, editar e excluir extratores ou visualizar mais informações sobre os extratores atuais.

Para ver mais detalhes sobre um scraper, selecione o link de ID do scraper. Por exemplo, você pode visualizar o ARN, o ambiente, o ID do espaço de trabalho, o perfil do IAM, a configuração e as informações da rede. É possível usar o ID do extrator como entrada para as operações de API do Amazon Managed Service for 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) e [https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html](https://docs.aws.amazon.com/prometheus/latest/APIReference/API_DeleteScraper.html). Para obter mais informações sobre como usar a API do Prometheus, consulte a [Referência da API do Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-APIReference.html).

# Implantar o Prometheus usando o Helm
<a name="deploy-prometheus"></a>

Como alternativa ao uso do Amazon Managed Service for Prometheus, é possível implantar o Prometheus no cluster com o Helm. Se você já tiver o Helm instalado, poderá verificar sua versão com o comando `helm version`. O Helm é um gerenciador de pacotes para clusters do Kubernetes. Para obter mais informações sobre o Helm e como instalá-lo, consulte [Implantar aplicações com o Helm no Amazon EKS](helm.md).

Após configurar o Helm para o cluster do Amazon EKS, você poderá usá-lo para implantar o Prometheus com as etapas a seguir.

1. Crie um namespace do Prometheus.

   ```
   kubectl create namespace prometheus
   ```

1. Adicione o gráfico do repositório do `prometheus-community`.

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

1. Implante o Prometheus.

   ```
   helm upgrade -i prometheus prometheus-community/prometheus \
       --namespace prometheus \
       --set alertmanager.persistence.storageClass="gp2" \
       --set server.persistentVolume.storageClass="gp2"
   ```
**nota**  
Se você receber o erro `Error: failed to download "stable/prometheus" (hint: running helm repo update may help)` ao executar este comando, execute `helm repo update prometheus-community` e, em seguida, tente executar o comando da etapa 2 novamente.

   Se você receber o erro `Error: rendered manifests contain a resource that already exists` ao executar este comando, execute `helm uninstall your-release-name -n namespace ` e, em seguida, tente executar o comando da etapa 3 novamente.

1. Verifique se todos os pods no namespace do `prometheus` estão no estado `READY`.

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

   Veja abaixo um exemplo de saída.

   ```
   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. Use `kubectl` para fazer o redirecionamento de portas do console do Prometheus para sua máquina local.

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

1. Indique um navegador da web para `http://localhost:9090` para visualizar o console do Prometheus.

1. Escolha uma métrica do menu **- insert metric at cursor (- inserir métrica no cursor)** e selecione **Execute (Executar)**. Selecione a guia **Graph (Gráfico)** para mostrar a métrica ao longo do tempo. A imagem a seguir mostra `container_memory_usage_bytes` ao longo do tempo.  
![\[Métricas do Prometheus\]](http://docs.aws.amazon.com/pt_br/eks/latest/userguide/images/prometheus-metric.png)

1. Na barra de navegação superior, selecione **Status** e **Targets (Destinos)**.  
![\[Console do Prometheus\]](http://docs.aws.amazon.com/pt_br/eks/latest/userguide/images/prometheus.png)

   Todos os endpoints do Kubernetes que estão conectados ao Prometheus usando a descoberta de serviço são exibidos.

# Obter as métricas brutas do ambiente de gerenciamento no formato do Prometheus
<a name="view-raw-metrics"></a>

O ambiente de gerenciamento do Kubernetes expõe várias métricas que são representadas em um [formato do Prometheus](https://github.com/prometheus/docs/blob/master/content/docs/instrumenting/exposition_formats.md). Essas métricas são úteis para monitoramento e análise. Elas são expostas internamente por meio de endpoints de métricas e podem ser acessadas sem a implantação completa do Prometheus. No entanto, a implantação do Prometheus permite com mais facilidade a análise de métricas ao longo do tempo.

Para visualizar a saída de métricas brutas, substitua o `endpoint` e execute o comando a seguir.

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

Esse comando permite passar qualquer caminho de endpoint e retorna a resposta bruta. A saída lista diferentes métricas linha por linha, com cada linha incluindo um nome de métrica, tags e um valor.

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

## Obter métricas do servidor de API
<a name="fetch-metrics"></a>

O endpoint do servidor de API geral é exposto no ambiente de gerenciamento do Amazon EKS. Esse endpoint é útil principalmente para observar uma métrica específica.

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

Veja um exemplo de saída abaixo.

```
[...]
# 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
```

Essa saída bruta retorna textualmente o que o servidor de API expõe.

## Obter métricas do ambiente de gerenciamento com `metrics.eks.amazonaws.com`
<a name="fetch-metrics-prometheus"></a>

Para os clusters com a versão `1.28` do Kubernetes ou mais recente, o Amazon EKS também disponibiliza métricas no grupo de API `metrics.eks.amazonaws.com`. Essas métricas incluem componentes do ambiente de gerenciamento, como `kube-scheduler` e `kube-controller-manager`.

**nota**  
Se você tiver uma configuração de webhook que possa bloquear a criação do novo recurso de `APIService` `v1.metrics.eks.amazonaws.com` no cluster, o recurso de endpoint de métricas talvez não esteja disponível. Você pode verificar isso no log `kube-apiserver` de auditoria pesquisando pela palavra-chave `v1.metrics.eks.amazonaws.com`.

### Obter métricas do `kube-scheduler`
<a name="fetch-metrics-scheduler"></a>

Para recuperar métricas do `kube-scheduler`, use o comando a seguir.

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

Veja um exemplo de saída abaixo.

```
# 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
[...]
```

### Obter métricas do `kube-controller-manager`
<a name="fetch-metrics-controller"></a>

Para recuperar métricas do `kube-controller-manager`, use o comando a seguir.

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

Veja um exemplo de saída abaixo.

```
[...]
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
[...]
```

### Noções básicas sobre as métricas do gerenciador do controlador e do programador
<a name="scheduler-controller-metrics"></a>

A tabela a seguir descreve as métricas do gerenciador do controlador e do agendador que são disponibilizadas para extração do estilo do Prometheus. Para obter mais informações sobre essas métricas, consulte [Kubernetes Metrics Reference](https://kubernetes.io/docs/reference/instrumentation/metrics/) na documentação do Kubernetes.


| Métrica | Componente do ambiente de gerenciamento | Descrição | 
| --- | --- | --- | 
|  scheduler\$1pending\$1pods  |  scheduler (programador)  |  O número de pods que estão aguardando para serem programados em um nó para execução.  | 
|  scheduler\$1schedule\$1attempts\$1total  |  scheduler (programador)  |  O número de tentativas para programar pods.  | 
|  scheduler\$1preemption\$1attempts\$1total  |  scheduler (programador)  |  O número de tentativas feitas pelo programador para programar pods de maior prioridade removendo os de menor prioridade.  | 
|  scheduler\$1preemption\$1victims  |  scheduler (programador)  |  O número de pods que foram selecionados para remoção para abrir espaço para pods de maior prioridade.  | 
|  scheduler\$1pod\$1scheduling\$1attempts  |  scheduler (programador)  |  O número de tentativas para programar com êxito um pod.  | 
|  scheduler\$1scheduling\$1attempt\$1duration\$1seconds  |  scheduler (programador)  |  Indica com que rapidez ou lentidão o programador consegue encontrar um local adequado para a execução de um pod com base em vários fatores, como disponibilidade de recursos e regras de programação.  | 
|  scheduler\$1pod\$1scheduling\$1sli\$1duration\$1seconds  |  scheduler (programador)  |  A latência de ponta a ponta de um pod que está sendo programado, a partir do momento em que o pod entra na fila de programação. Isso pode envolver várias tentativas de programação.  | 
|  cronjob\$1controller\$1job\$1creation\$1skew\$1duration\$1seconds  |  gerenciador do controlador  |  O tempo entre o momento em que um cronjob está programado para ser executado e o momento em que o trabalho correspondente é criado.  | 
|  workqueue\$1depth  |  gerenciador do controlador  |  A profundidade atual da fila.  | 
|  workqueue\$1adds\$1total  |  gerenciador do controlador  |  O número total de adições tratadas pela fila de trabalho.  | 
|  workqueue\$1queue\$1duration\$1seconds  |  gerenciador do controlador  |  O tempo em segundos em que um item permanece na fila de trabalho antes de ser solicitado.  | 
|  workqueue\$1work\$1duration\$1seconds  |  gerenciador do controlador  |  O tempo em segundos que o processamento de um item da fila de trabalho leva.  | 

## Implantar um extrator do Prometheus para extrair métricas de forma consistente
<a name="deploy-prometheus-scraper"></a>

Para implantar um extrator do Prometheus para extrair métricas de forma consistente, use a seguinte configuração:

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

A permissão a seguir é necessária para que o pod acesse o novo endpoint de métricas.

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

Para aplicar patch no perfil em uso, use o comando a seguir.

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

Você pode então visualizar o painel do Prometheus fazendo proxy da porta do extrator do Prometheus para a sua porta local.

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

Para seu cluster do Amazon EKS, as métricas principais do ambiente de gerenciamento do Kubernetes também são ingeridas no Amazon CloudWatch Metrics sob o namespace `AWS/EKS`. Para visualizá-las, abra o [console do CloudWatch](https://console.aws.amazon.com/cloudwatch/home#logs:prefix=/aws/eks) e selecione **Todas as métricas** no painel de navegação esquerdo. Na página de seleção de **Métricas**, escolha o namespace `AWS/EKS` e uma dimensão de métricas para seu cluster.