

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á.

# Configure a ingestão de métricas de uma instância do Amazon EC2 usando a gravação remota
<a name="AMP-onboard-ingest-metrics-remote-write-EC2"></a>

Esta seção explica como executar um servidor Prometheus com gravação remota em uma instância do Amazon Elastic Compute Cloud (Amazon EC2). Ela explica como coletar métricas de um aplicativo de demonstração escrito em Go e enviá-las para um espaço de trabalho do Amazon Managed Service for Prometheus.

## Pré-requisitos
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-prereq"></a>

**Importante**  
Antes de começar, você deve ter instalado o Prometheus v2.26 ou posterior. Presumimos que você esteja familiarizado com o Prometheus, o Amazon EC2 e o Amazon Managed Service for Prometheus. Para obter informações sobre como instalar o Prometheus, consulte os [Conceitos básicos](https://prometheus.io/docs/prometheus/latest/getting_started/) no site do Prometheus.

Se você não estiver familiarizado com o Amazon EC2 ou com o Amazon Managed Service for Prometheus, recomendamos que comece lendo as seguintes seções:
+ [O que é o Amazon Elastic Compute Cloud?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)
+ [O que é o Amazon Managed Service for Prometheus?](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)

## Criar um perfil do IAM para o Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-IAM"></a>

Para transmitir métricas, primeiro você deve criar uma função do IAM com a política AWS gerenciada **AmazonPrometheusRemoteWriteAccess**. Em seguida, você pode iniciar uma instância com o perfil e transmitir métricas para o seu espaço de trabalho do Amazon Managed Service for Prometheus.

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. No painel de navegação, escolha **Roles (Funções)** e **Create role (Criar função)**.

1. Para o tipo de entidade confiável, selecione **AWS serviço**. Para o caso de uso, escolha **EC2**. Escolha **Próximo: Permissões**.

1. Na barra de pesquisa, insira **AmazonPrometheusRemoteWriteAccess**. Em **Nome da política **AmazonPrometheusRemoteWriteAccess****, selecione e escolha **Anexar política**. Selecione **Next: Tags** (Próximo: tags).

1. (Opcional) Crie tags do IAM para seu perfil do IAM. Escolha **Próximo: revisar**.

1. Insira um nome para o seu perfil. Selecione **Criar política**.

## Iniciar uma instância do Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-instance"></a>

Para criar uma instância do Amazon EC2, siga as instruções em [Executar uma instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) no *Guia do usuário do Amazon Elastic Compute Cloud para instâncias do Linux*.

## Execute o aplicativo de demonstração
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-demo"></a>

Depois de criar seu perfil do IAM e iniciar uma instância do EC2 com o perfil, você poderá executar um aplicativo de demonstração para vê-lo em funcionamento.

**Para executar um aplicativo de demonstração e métricas de teste**

1. Use o modelo a seguir para criar um arquivo Go chamado `main.go`.

   ```
   package main
   
   import (
       "github.com/prometheus/client_golang/prometheus/promhttp"
       "net/http"
   )
   
   func main() {
       http.Handle("/metrics", promhttp.Handler())
   
       http.ListenAndServe(":8000", nil)
   }
   ```

1. Execute os seguintes comandos para instalar as dependências corretas.

   ```
   sudo yum update -y
   sudo yum install -y golang
   go get github.com/prometheus/client_golang/prometheus/promhttp
   ```

1. Execute o aplicativo de demonstração.

   ```
   go run main.go
   ```

   O aplicativo de demonstração deve ser executado na porta 8000 e mostrar todas as métricas expostas do Prometheus. A seguir, veja um exemplo dessas métricas.

   ```
   curl -s http://localhost:8000/metrics 
   ...
   process_max_fds 4096# HELP process_open_fds Number of open file descriptors.# TYPE process_open_fds gauge
   process_open_fds 10# HELP process_resident_memory_bytes Resident memory size in bytes.# TYPE process_resident_memory_bytes gauge
   process_resident_memory_bytes 1.0657792e+07# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.# TYPE process_start_time_seconds gauge
   process_start_time_seconds 1.61131955899e+09# HELP process_virtual_memory_bytes Virtual memory size in bytes.# TYPE process_virtual_memory_bytes gauge
   process_virtual_memory_bytes 7.77281536e+08# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.# TYPE process_virtual_memory_max_bytes gauge
   process_virtual_memory_max_bytes -1# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.# TYPE promhttp_metric_handler_requests_in_flight gauge
   promhttp_metric_handler_requests_in_flight 1# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.# TYPE promhttp_metric_handler_requests_total counter
   promhttp_metric_handler_requests_total{code="200"} 1
   promhttp_metric_handler_requests_total{code="500"} 0
   promhttp_metric_handler_requests_total{code="503"} 0
   ```

## Criar um espaço de trabalho do Amazon Managed Service for Prometheus
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-workspace"></a>

Para criar um espaço de trabalho do Amazon Managed Service for Prometheus, siga as instruções em [Create a espaço de trabalho](AMP-create-workspace.md).

## Executar um servidor Prometheus
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-server"></a>

1. Use o seguinte exemplo de arquivo YAML como modelo para criar um novo arquivo chamado `prometheus.yaml`. Para`url`, {{my-region}} substitua pelo valor da sua região e {{my-workspace-id}} pelo ID do espaço de trabalho que o Amazon Managed Service for Prometheus gerou para você. Para`region`, {{my-region}} substitua pelo valor da sua região.

   **Exemplo: arquivo YAML**

   ```
   global:
     scrape_interval: 15s
     external_labels:
       monitor: 'prometheus'
   
   scrape_configs:
     - job_name: 'prometheus'
       static_configs:
         - targets: ['localhost:8000']
   
   remote_write:
     -
       url: https://aps-workspaces.{{my-region}}.amazonaws.com/workspaces/{{my-workspace-id}}/api/v1/remote_write
       queue_config:
           max_samples_per_send: 1000
           max_shards: 200
           capacity: 2500
       sigv4:
            region: {{my-region}}
   ```

1. Execute o servidor Prometheus para enviar as métricas do aplicativo de demonstração para seu espaço de trabalho do Amazon Managed Service for Prometheus.

   ```
   prometheus --config.file=prometheus.yaml
   ```

O servidor Prometheus agora deverá enviar as métricas do aplicativo de demonstração para seu espaço de trabalho do Amazon Managed Service for Prometheus.