

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 o Amazon Managed Service para AWS Prometheus com o Observability Accelerator
<a name="obs_accelerator"></a>

AWS fornece ferramentas de observabilidade, incluindo monitoramento, registro, alertas e painéis, para seus projetos do Amazon Elastic Kubernetes Service (Amazon EKS). Isso inclui o Amazon Managed Service para Prometheus[, o Amazon Managed](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html) Grafana, o [AWS OpenTelemetryDistro for e outras](https://aws-otel.github.io/) ferramentas. Para ajudá-lo a usar essas ferramentas em conjunto, AWS fornece módulos do Terraform que configuram a observabilidade com esses serviços, chamados de [AWS Observability](https://github.com/aws-observability/terraform-aws-observability-accelerator) Accelerator.

AWS O Observability Accelerator fornece dois perfis de coletor para o Amazon Managed Service for Prometheus:
+ **Métricas gerenciadas (sem agente)** — usa o [coletor Amazon Managed Service for Prometheus, um raspador](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) totalmente gerenciado e sem agentes que é executado fora do seu cluster. Não há cápsulas de coletor para gerenciar. Somente métricas.
+ **Autogerenciado** — implanta um OpenTelemetry coletor via Helm em seu cluster. Suporta métricas, rastreamentos (AWS X-Ray) e registros (Amazon CloudWatch).

Esta seção aborda as duas opções, começando com a abordagem sem agente recomendada.

Os modelos e instruções detalhadas do Terraform podem ser encontrados na página do [AWS Observability Accelerator for](https://github.com/aws-observability/terraform-aws-observability-accelerator) Terraform. GitHub 

## Pré-requisitos
<a name="obs-accelerator-prereq"></a>

Para usar o AWS Observability Accelerator, você deve ter um cluster Amazon EKS existente e os seguintes pré-requisitos:
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)— usado para chamar a AWS funcionalidade a partir da linha de comando.
+ [kubectl](https://kubernetes.io/docs/tasks/tools/): usado para controlar seu cluster do EKS a partir da linha de comando.
+ [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) (>= 1.5.0) — usado para automatizar a criação dos recursos para essa solução. Você deve configurar o AWS provedor com uma função do IAM que tenha acesso para criar e gerenciar o Amazon Managed Service para Prometheus, Amazon Managed Grafana e IAM em sua conta. AWS Para obter mais informações sobre como configurar o provedor da AWS para o Terraform, consulte o [provedor da AWS](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) na *documentação do Terraform*.

## Usando o exemplo de métricas gerenciadas (sem agente)
<a name="obs-accelerator-managed-metrics"></a>

Este exemplo usa o coletor Amazon Managed Service for Prometheus para extrair métricas do Prometheus do seu cluster Amazon EKS sem implantar nenhum pod de coletor. O coletor exige pelo menos duas sub-redes em duas zonas de disponibilidade distintas. Para obter mais detalhes, consulte o [eks-amp-managed](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/examples/eks-amp-managed)exemplo em GitHub.

**Para usar o módulo Terraform de monitoramento de infraestrutura sem agente**

1. Na pasta em que você deseja criar seu projeto, clone o repositório usando o comando a seguir.

   ```
   git clone https://github.com/aws-observability/terraform-aws-observability-accelerator.git
   ```

1. Inicialize o Terraform com os comandos a seguir.

   ```
   cd examples/eks-amp-managed
   
   terraform init
   ```

1. Crie um arquivo `terraform.tfvars`, como no exemplo a seguir. Use a AWS região, o ID do cluster e os detalhes da rede VPC para seu cluster Amazon EKS. O coletor exige pelo menos duas sub-redes em duas zonas de disponibilidade distintas.

   ```
   # (mandatory) AWS Region where your resources will be located
   aws_region = "{{eu-west-1}}"
   
   # (mandatory) EKS Cluster name
   eks_cluster_id = "{{my-eks-cluster}}"
   
   # (mandatory) Subnets for the managed scraper (>= 2 AZs)
   scraper_subnet_ids = ["{{subnet-aaa}}", "{{subnet-bbb}}"]
   
   # (mandatory) Security group allowing scraper access to the EKS API
   scraper_security_group_ids = ["{{sg-xxx}}"]
   ```

1. Crie um espaço de trabalho do Amazon Managed Grafana, se você ainda não tiver um que queira usar. Para obter informações sobre como criar um espaço de trabalho, consulte [Crie seu primeiro espaço de trabalho](https://docs.aws.amazon.com/grafana/latest/userguide/getting-started-with-AMG.html#AMG-getting-started-workspace-create) no *Guia do usuário do Amazon Managed Grafana.*

1. Crie duas variáveis para que o Terraform use seu espaço de trabalho do Grafana executando os seguintes comandos na linha de comando. Você precisará substituí-lo pelo ID do {{grafana-workspace-id}} seu espaço de trabalho da Grafana.

   ```
   export TF_VAR_managed_grafana_workspace_id={{grafana-workspace-id}}
   export TF_VAR_grafana_api_key=`aws grafana create-workspace-api-key --key-name "observability-accelerator-$(date +%s)" --key-role ADMIN --seconds-to-live 1200 --workspace-id $TF_VAR_managed_grafana_workspace_id --query key --output text`
   ```

1. [Opcional] Para usar um espaço de trabalho existente do Amazon Managed Service para Prometheus, adicione o ID ao arquivo, como no exemplo `terraform.tfvars` a seguir, substituindo-o pelo ID do espaço de trabalho do {{prometheus-workspace-id}} Prometheus. Se você não especificar um espaço de trabalho existente, um espaço de trabalho do Prometheus será criado para você.

   ```
   # (optional) Leave it empty for a new workspace to be created
   managed_prometheus_workspace_id = "{{prometheus-workspace-id}}"
   ```

1. Implante a solução com o seguinte comando.

   ```
   terraform apply -var-file=terraform.tfvars
   ```

Isso criará recursos em sua AWS conta, incluindo o seguinte:
+ Um novo espaço de trabalho do Amazon Managed Service for Prometheus (a menos que você tenha optado por usar um espaço de trabalho existente).
+ Um coletor do Amazon Managed Service for Prometheus (raspador sem agente) configurado para extrair métricas do Prometheus do seu cluster Amazon EKS.
+ Regras de gravação e alerta do Prometheus em seu espaço de trabalho do Amazon Managed Service for Prometheus.
+ kube-state-metrics e node-exporter implantado em seu cluster Amazon EKS para métricas de infraestrutura.
+ Nova fonte de dados e painéis do Amazon Managed Grafana em seu espaço de trabalho atual. Os painéis serão listados em **Monitoramento EKS**.

## Alternativa: coletor autogerenciado OpenTelemetry
<a name="obs-accelerator-self-managed"></a>

Se você precisar de rastreamentos, registros ou controle total sobre o pipeline de coleta, use o perfil autogerenciado. Isso implanta um OpenTelemetry Collector via Helm em seu cluster Amazon EKS, configurado para coletar métricas do Prometheus e gravar remotamente no Amazon Managed Service for Prometheus. Ele também suporta traços (AWS X-Ray) e registros (Amazon CloudWatch). Para obter mais detalhes, consulte o [eks-amp-otel](https://github.com/aws-observability/terraform-aws-observability-accelerator/tree/main/examples/eks-amp-otel)exemplo em GitHub.

**Para usar o módulo autogerenciado do Terraform**

1. Clone o repositório e inicialize o Terraform.

   ```
   git clone https://github.com/aws-observability/terraform-aws-observability-accelerator.git
   cd examples/eks-amp-otel
   terraform init
   ```

1. Crie um arquivo `terraform.tfvars`, como no exemplo a seguir.

   ```
   # (mandatory) AWS Region where your resources will be located
   aws_region = "{{eu-west-1}}"
   
   # (mandatory) EKS Cluster name
   eks_cluster_id = "{{my-eks-cluster}}"
   ```

1. Configure seu espaço de trabalho e chave de API do Amazon Managed Grafana usando as mesmas etapas do exemplo de métricas gerenciadas (etapas 4 a 6 acima).

1. Implante a solução com o seguinte comando.

   ```
   terraform apply -var-file=terraform.tfvars
   ```

Isso criará os seguintes recursos em sua AWS conta (diferentemente da abordagem sem agente, o coletor é executado dentro do seu cluster):
+ Um espaço de trabalho do Amazon Managed Service para Prometheus (se não for fornecido).
+ Um espaço de trabalho Amazon Managed Grafana com fonte de dados e painéis.
+ Um OpenTelemetry coletor implantado via Helm em seu cluster Amazon EKS, configurado para coletar métricas do Prometheus e gravar remotamente no Amazon Managed Service for Prometheus.
+ Uma função do IAM para contas de serviço (IRSA) para o OpenTelemetry Collector.
+ Rastreia o pipeline até o AWS X-Ray (ativado por padrão).
+ Registra o pipeline na Amazon CloudWatch (ativado por padrão).

## Visualizando painéis
<a name="obs-accelerator-dashboards"></a>

Para visualizar seus novos painéis, abra o painel específico em seu espaço de trabalho do Amazon Managed Grafana. Os painéis de infraestrutura são provisionados automaticamente pelo Terraform. Para obter mais informações sobre o uso do Amazon Managed Grafana, consulte [Trabalhar em seu espaço de trabalho do Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-working-with-Grafana-workspace.html), no *Guia do usuário do Amazon Managed Grafana*.