Configurar o Amazon Managed Service for Prometheus com o AWS Observability Accelerator
A AWS fornece ferramentas de observabilidade, incluindo monitoramento, registros em log, alertas e painéis, para seus projetos do Amazon Elastic Kubernetes Service (Amazon EKS). Isso inclui o Amazon Managed Service for Prometheus, o Amazon Managed Grafana, o AWS Distro for OpenTelemetry
O Observability Accelerator da AWS fornece exemplos para monitorar a infraestrutura, implantações do NGINX
Os modelos e instruções detalhadas do Terraform podem ser encontrados na página do GitHub do AWS Observability Accelerator for Terraform
Pré-requisitos
Para usar o AWS Observability Accelerator, você deve ter um cluster existente do Amazon EKS e os seguintes pré-requisitos:
-
AWS CLI: usada para chamar a funcionalidade da AWS a partir da linha de comando.
-
kubectl
: usado para controlar seu cluster do EKS a partir da linha de comando. -
Terraform
: usado para automatizar a criação dos recursos para essa solução. Você deve configurar o provedor da AWS com um perfil do IAM que tenha acesso para criar e gerenciar o Amazon Managed Service for Prometheus, Amazon Managed Grafana e IAM em sua conta da AWS. Para obter mais informações sobre como configurar o provedor da AWS para o Terraform, consulte o provedor da AWS na documentação do Terraform.
Usando o exemplo de monitoramento de infraestrutura
O AWS Observability Accelerator fornece modelos de exemplo que usam os módulos do Terraform incluídos para instalar e configurar a observabilidade do seu cluster do Amazon EKS. Este exemplo demonstra o uso do Observability Accelerator da AWS para configurar o monitoramento da infraestrutura. Para obter mais detalhes sobre o uso desse modelo e os recursos adicionais que ele inclui, consulte a página Cluster existente com a base do AWS Observability Accelerator e o monitoramento da infraestrutura
Para usar o módulo do Terraform de monitoramento de infraestrutura
-
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 -
Inicialize o Terraform com os comandos a seguir.
cd examples/existing-cluster-with-base-and-infra terraform init -
Crie um arquivo
terraform.tfvars, como no exemplo a seguir. Use a região AWS e o ID do seu cluster do Amazon EKS.# (mandatory) AWS Region where your resources will be located aws_region = "eu-west-1" # (mandatory) EKS Cluster name eks_cluster_id = "my-eks-cluster" -
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 no Guia do usuário do Amazon Managed Grafana.
-
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á substituir
grafana-workspace-idpelo ID do seu espaço de trabalho do Grafana.export TF_VAR_managed_grafana_workspace_id=grafana-workspace-idexport 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` -
[Opcional] Para usar um espaço de trabalho existente do Amazon Managed Service for Prometheus, adicione o ID ao arquivo
terraform.tfvars, como no exemplo a seguir, substituindo oprometheus-workspace-idpelo ID do espaço de trabalho do 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" -
Implante a solução com o seguinte comando.
terraform apply -var-file=terraform.tfvars
Isso criará recursos em sua conta da AWS, incluindo os seguintes:
-
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).
-
Configuração, alertas e regras do gerenciador de alertas em seu espaço de trabalho do Prometheus.
-
Nova fonte de dados e painéis do Amazon Managed Grafana em seu espaço de trabalho atual. A fonte de dados será chamada
aws-observability-accelerator. Os painéis serão listados em Painéis do Observability Accelerator. -
Um operador do AWS Distro for OpenTelemetry
configurado no cluster do Amazon EKS fornecido para enviar métricas ao seu espaço de trabalho do Amazon Managed Service for Prometheus.
Para visualizar seus novos painéis, abra o painel específico em seu espaço de trabalho do Amazon Managed Grafana. Para obter mais informações sobre o uso do Amazon Managed Grafana, consulte Trabalhar em seu espaço de trabalho do Grafana, no Guia do usuário do Amazon Managed Grafana.