

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configurar a ingestão de um servidor Prometheus existente no Kubernetes no EC2
<a name="AMP-onboard-ingest-metrics-existing-Prometheus"></a>

O Amazon Managed Service for Prometheus oferece suporte à ingestão de métricas de servidores Prometheus em clusters em execução no Amazon EKS e em clusters Kubernetes autogerenciados em execução no Amazon EC2. As instruções detalhadas nesta seção são para um servidor Prometheus em um cluster Amazon EKS. As etapas para um cluster Kubernetes autogerenciado no Amazon EC2 são as mesmas, exceto que você mesmo precisará configurar o provedor OIDC e os perfis do IAM para contas de serviço no cluster Kubernetes.

As instruções nesta seção usam o Helm como gerenciador de pacotes do Kubernetes.

**Topics**
+ [Etapa 1: Configurar perfis do IAM para as contas de serviço](#AMP-onboard-existing-Prometheus-IRSA)
+ [Etapa 2: Fazer upgrade do servidor Prometheus existente usando o Helm](#AMP-onboard-ingest-metrics-existing-remotewrite)

## Etapa 1: Configurar perfis do IAM para as contas de serviço
<a name="AMP-onboard-existing-Prometheus-IRSA"></a>

Para o método de integração que estamos documentando, é necessário usar perfis do IAM para as contas de serviço no cluster do Amazon EKS em que o servidor do Prometheus está em execução. Esses perfis também são chamadas de *perfis de serviço*.

Com os perfis de serviço, é possível associar um perfil do IAM a uma conta de serviço do Kubernetes. Essa conta de serviço pode então fornecer AWS permissões para os contêineres em qualquer pod que use essa conta de serviço. Para obter mais informações, consulte [Perfis do IAM para contas de serviço](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).

Se você ainda não configurou esses perfis, siga as instruções em [Configurar perfis de serviço para a ingestão de métricas de clusters do Amazon EKS](set-up-irsa.md#set-up-irsa-ingest) para configurar os perfis.

## Etapa 2: Fazer upgrade do servidor Prometheus existente usando o Helm
<a name="AMP-onboard-ingest-metrics-existing-remotewrite"></a>

As instruções nesta seção incluem a configuração de gravação remota e sigv4 para autenticar e autorizar o servidor Prometheus a gravar remotamente no espaço de trabalho do Amazon Managed Service for Prometheus.

### Uso do Prometheus versão 2.26.0 ou posterior
<a name="AMP-onboard-ingest-metrics-Helm13"></a>

Siga estas etapas se você estiver usando um chart do Helm com imagem do servidor Prometheus da versão 2.26.0 ou posterior.

**Para configurar a gravação remota de um servidor Prometheus usando o chart do Helm**

1. Crie uma nova seção de gravação remota em seu arquivo de configuração do Helm:
   + `${IAM_PROXY_PROMETHEUS_ROLE_ARN}`Substitua pelo ARN do **amp-iamproxy-ingest-role**que você criou em. [Etapa 1: Configurar perfis do IAM para as contas de serviço](#AMP-onboard-existing-Prometheus-IRSA) O ARN do perfil deve ter o formato de `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role`.
   + Substitua `${WORKSPACE_ID}` pela ID do seu espaço de trabalho do Amazon Managed Service for Prometheus.
   + Substitua `${REGION}` pela região do espaço de trabalho do Amazon Managed Service for Prometheus (como `us-west-2`).

   ```
   ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP
       ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml
       ##
       serviceAccounts:
         server:
           name: amp-iamproxy-ingest-service-account
           annotations: 
             eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN}
       server:
         remoteWrite:
           - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write
             sigv4:
               region: ${REGION}
             queue_config:
               max_samples_per_send: 1000
               max_shards: 200
               capacity: 2500
   ```

1. Atualize sua configuração existente do servidor Prometheus usando o Helm:
   + Substitua `prometheus-chart-name` pelo nome da versão do Prometheus.
   + Substitua `prometheus-namespace` pelo namespace Kubernetes em que seu servidor Prometheus está instalado.
   + Substitua `my_prometheus_values_yaml` pelo caminho para o arquivo de configuração do Helm.
   + Substitua `current_helm_chart_version` pela versão atual do chart do Helm do servidor Prometheus. Você pode encontrar a versão atual do gráfico usando o comando [helm list](https://helm.sh/docs/helm/helm_list/).

   ```
   helm upgrade prometheus-chart-name prometheus-community/prometheus \
          -n prometheus-namespace \
          -f my_prometheus_values_yaml \
          --version current_helm_chart_version
   ```

### Usar versões anteriores do Prometheus
<a name="AMP-onboard-ingest-metrics-Helm8"></a>

Siga estas etapas se você estiver usando uma versão do Prometheus anterior à 2.26.0. Essas etapas usam uma abordagem secundária, porque as versões anteriores do Prometheus não oferecem suporte nativo ao processo de AWS assinatura Signature Version 4 (SigV4).AWS 

Essas instruções pressupõem que você está usando o Helm para implantar o Prometheus.

**Para configurar a gravação remota de um servidor Prometheus**

1. No seu servidor Prometheus, crie uma nova configuração de gravação remota. Primeiro, crie um novo arquivo de atualização. Chamaremos o arquivo de `amp_ingest_override_values.yaml`.

   Adicione os valores a seguir ao arquivo YAML.

   ```
   serviceAccounts:
           server:
               name: "amp-iamproxy-ingest-service-account"
               annotations:
                   eks.amazonaws.com/role-arn: "${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}"
       server:
           sidecarContainers:
               - name: aws-sigv4-proxy-sidecar
                 image: public.ecr.aws/aws-observability/aws-sigv4-proxy:1.0
                 args:
                 - --name
                 - aps
                 - --region
                 - ${REGION}
                 - --host
                 - aps-workspaces.${REGION}.amazonaws.com
                 - --port
                 - :8005
                 ports:
                 - name: aws-sigv4-proxy
                   containerPort: 8005
           statefulSet:
               enabled: "true"
           remoteWrite:
               - url: http://localhost:8005/workspaces/${WORKSPACE_ID}/api/v1/remote_write
   ```

   Substitua `${REGION}` pela Região do espaço de trabalho do Amazon Managed Service for Prometheus.

   `${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}`Substitua pelo ARN do **amp-iamproxy-ingest-role**que você criou em. [Etapa 1: Configurar perfis do IAM para as contas de serviço](#AMP-onboard-existing-Prometheus-IRSA) O ARN do perfil deve ter o formato de `arn:aws:iam::your account ID:role/amp-iamproxy-ingest-role`.

   Substitua `${WORKSPACE_ID}` pelo ID do seu espaço de trabalho.

1. Faça o upgrade do seu chart do Helm do Prometheus. Primeiro, encontre o nome do chart do Helm digitando o comando a seguir. Na saída desse comando, procure um gráfico com um nome que inclua `prometheus`.

   ```
   helm ls --all-namespaces
   ```

   Depois, insira o comando a seguir.

   ```
   helm upgrade --install prometheus-helm-chart-name prometheus-community/prometheus -n prometheus-namespace -f ./amp_ingest_override_values.yaml
   ```

   *prometheus-helm-chart-name*Substitua pelo nome do gráfico do leme do Prometheus retornado no comando anterior. Substitua *prometheus-namespace* pelo nome do seu namespace.

#### Download de charts do Helm
<a name="AMP-onboard-ingest-downloadHelm"></a>

Se você ainda não tiver baixado os charts do Helm localmente, você pode usar o comando a seguir para baixá-los.

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