Configuración de Amazon Managed Service para Prometheus con el acelerador de observabilidad de AWS - Amazon Managed Service para Prometheus

Configuración de Amazon Managed Service para Prometheus con el acelerador de observabilidad de AWS

AWS proporciona herramientas de observabilidad, como supervisión, registro, alertas y paneles, para proyectos de Amazon Elastic Kubernetes Service (Amazon EKS). Esto incluye Amazon Managed Service para Prometheus, Amazon Managed Grafana, AWS Distro para OpenTelemetry y otras herramientas. Para ayudarlo a utilizar estas herramientas en conjunto, AWS proporciona módulos de Terraform que configuran la observabilidad con estos servicios, conocidos como acelerador de observabilidad de AWS.

El acelerador de observabilidad de AWS proporciona ejemplos para supervisar la infraestructura, las implementaciones de NGINX y otros escenarios. En esta sección se ofrece un ejemplo de la infraestructura de supervisión dentro del clúster de Amazon EKS.

Las plantillas de Terraform y las instrucciones detalladas se encuentran en la página de GitHub del acelerador de observabilidad de AWS para Terraform. También puede leer la entrada del blog que anuncia el acelerador de observabilidad de AWS.

Requisitos previos

Para utilizar el acelerador de observabilidad de AWS, debe tener un clúster de Amazon EKS y cumplir los siguientes requisitos previos:

  • AWS CLI: se utiliza para llamar a la funcionalidad AWS desde la línea de comandos.

  • kubectl: se utiliza para controlar el clúster de EKS desde la línea de comandos.

  • Terraform: se utiliza para automatizar la creación de los recursos para esta solución. Debe tener el proveedor de AWS configurado con un rol de IAM que tenga acceso para crear y administrar Amazon Managed Service para Prometheus, Amazon Managed Grafana e IAM dentro de la cuenta de AWS. Para obtener más información sobre cómo configurar el proveedor de AWS para Terraform, consulte Proveedor de AWS en la documentación de Terraform.

Uso del ejemplo de supervisión de la infraestructura

El acelerador de observabilidad de AWS proporciona plantillas de ejemplo que utilizan los módulos de Terraform incluidos para configurar y ajustar la observabilidad del clúster de Amazon EKS. En este ejemplo, se muestra el uso del acelerador de observabilidad de AWS para configurar la supervisión de la infraestructura. Para obtener más información sobre el uso de esta plantilla y las capacidades adicionales que incluye, consulte la página Clúster existente con la base del acelerador de observabilidad de AWS y supervisión de la infraestructura en GitHub.

Para usar el módulo de Terraform de supervisión de la infraestructura
  1. Desde la carpeta en la que desea crear el proyecto, clone el repositorio con el siguiente comando:

    git clone https://github.com/aws-observability/terraform-aws-observability-accelerator.git
  2. Inicialice Terraform con los siguientes comandos:

    cd examples/existing-cluster-with-base-and-infra terraform init
  3. Cree un nuevo archivo terraform.tfvars, como en el siguiente ejemplo. Utilice la región de AWS y el ID de clúster de 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"
  4. Cree un espacio de trabajo de Amazon Managed Grafana si aún no tiene ninguno que quiera utilizar. Para obtener información sobre cómo crear un nuevo espacio de trabajo, consulte Creación de su primer espacio de trabajo en la Guía del usuario de Amazon Managed Grafana.

  5. Cree dos variables para que Terraform utilice el espacio de trabajo de Grafana ejecutando los siguientes comandos en la línea de comandos. Deberá reemplazar el grafana-workspace-id por el ID del espacio de trabajo de 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`
  6. [Opcional] Para utilizar un espacio de trabajo de Amazon Managed Service para Prometheus existente, agregue el ID al archivo terraform.tfvars, como en el siguiente ejemplo, y reemplace prometheus-workspace-id por el ID del espacio de trabajo de Prometheus. Si no especifica un espacio de trabajo existente, se creará un nuevo espacio de trabajo de Prometheus.

    # (optional) Leave it empty for a new workspace to be created managed_prometheus_workspace_id = "prometheus-workspace-id"
  7. Implemente la solución con el siguiente comando.

    terraform apply -var-file=terraform.tfvars

De este modo, se crearán recursos en la cuenta de AWS, entre los que se incluyen los siguientes:

  • Un nuevo espacio de trabajo de Amazon Managed Service para Prometheus (a menos que haya optado por utilizar un espacio de trabajo existente).

  • Configuración, alertas y reglas del administrador de alertas en el espacio de trabajo de Prometheus.

  • Nuevo origen de datos y paneles de Amazon Managed Grafana en el espacio de trabajo actual. El origen de datos se denominará aws-observability-accelerator. Los paneles se enumerarán en Paneles del acelerador de observabilidad.

  • Un operador de AWS Distro para OpenTelemetry configurado en el clúster de Amazon EKS proporcionado para enviar las métricas al espacio de trabajo de Amazon Managed Service para Prometheus.

Para ver los nuevos paneles, abra el panel específico en el espacio de trabajo de Amazon Managed Grafana. Para obtener más información sobre el uso de Amazon Managed Grafana, consulte Trabajo con el espacio de trabajo de Grafana en la Guía del usuario de Amazon Managed Grafana.