Configuração do agente do CloudWatch para o Amazon EMR 7.0.0 - Amazon EMR

Configuração do agente do CloudWatch para o Amazon EMR 7.0.0

Você pode configurar o agente do Amazon CloudWatch para usar métricas adicionais do sistema além daquelas fornecidas pela configuração padrão do agente do CloudWatch. A configuração da versão 7.0.0 requer o uso de ações de bootstrap, das quais fornecemos exemplos nas seções a seguir. Em uma próxima versão, o Amazon EMR fornecerá opções adicionais de configuração por meio da API do Amazon EMR.

Configuração de métricas adicionais do sistema com o Amazon EMR 7.0.0

Use as seguinte etapas para configurar o agente para usar um conjunto diferente de métricas do sistema no Amazon EMR 7.0.0:

  1. Crie ou escolha um bucket na sua conta do Amazon S3 onde deseja armazenar os arquivos de configuração que especificam as métricas do agente do CloudWatch.

  2. Crie o arquivo de configuração emr-amazon-cloudwatch-agent.json com suas métricas preferenciais especificadas. Para isso, use um dos métodos explicados em Criação do arquivo de configuração do agente do CloudWatch. Para obter mais informações sobre a estrutura do agente do CloudWatch, consulte Criação ou edição manual do arquivo de configuração do agente do CloudWatch no Guia do usuário do Amazon CloudWatch.

  3. Em seguida, navegue até o repositório aws-emr-utilities no GitHub e baixe os scripts de métricas do sistema a seguir.

    • install_system_metrics_launcher.sh: um script que baixa e executa install_system_metrics.sh em segundo plano para que o nó possa concluir o bootstrapping.

    • install_system_metrics.sh – um script que aguarda a instância em que é executado para concluir o bootstrapping e, em seguida, baixa e aplica a configuração no arquivo JSON.

  4. Abra cada arquivo SH e substitua amzn-s3-demo-bucket pelo nome do seu bucket da Etapa 1.

  5. Carregue um arquivo JSON e dois arquivos SH no seu bucket do S3.

  6. Agora, você pode navegar até o console do Amazon EMR e criar um cluster com o agente do CloudWatch. Em EMR no EC2 no painel de navegação à esquerda, selecione Clusters e Criar cluster.

  7. Na seção Nome e aplicações, escolha uma versão 7.0.0 ou superior do Amazon EMR.

  8. Em Pacote de aplicações, selecione o pacote ou as aplicações que deseja instalar no seu cluster e inclua Agente do Amazon CloudWatch nas seleções.

  9. Na seção Ações de bootstrap, selecione Adicionar.

    • Em Nome, insira install_system_metrics_launcher.sh.

    • Na Localização do script, insira s3://amzn-s3-demo-bucket/install_system_metrics_launcher.sh. Substitua amzn-s3-demo-bucket pelo caminho para o bucket do S3.

    • Deixe o bloco Argumentos vazio.

  10. Selecione Adicionar ação de bootstrap.

  11. Continue criando o cluster para atender às necessidades da sua workload.

Quando seu cluster é executado, o agente do CloudWatch publica as métricas do sistema que você especificou no arquivo de configuração no CloudWatch.

Configuração de métricas de aplicações com o Amazon EMR 7.0.0

Você pode configurar o agente do Amazon CloudWatch para publicar métricas de aplicações para o HDFS e o YARN, além das métricas do sistema. Use as etapas a seguir para configurar o agente para publicar as métricas de aplicações.

  1. Crie ou escolha um bucket na sua conta do Amazon S3 onde deseja armazenar os arquivos de configuração que especificam as métricas do agente do CloudWatch.

  2. Em seguida, navegue até o repositório aws-emr-utilities no GitHub e baixe os scripts a seguir.

    • install_app_metrics_launcher.sh: um script que baixa e executa install_app_metrics.sh em segundo plano para que o nó possa concluir o bootstrapping.

    • install_app_metrics.sh – um script que aguarda a instância em que é executado para concluir o bootstrapping e, em seguida, baixa e aplica a configuração nos arquivos YAML que você baixará em uma próxima etapa.

  3. Abra cada arquivo e substitua amzn-s3-demo-bucket pelo nome do seu bucket da Etapa 1.

  4. Em seguida, baixe os arquivos de mapeamento YAML a seguir. Para obter informações sobre como esses arquivos YAML são estruturados, consulte javaagent no repositório OpenTelemetry Instrumentation for Java do GitHub.

  5. Carregue os dois arquivos SH e os quatro arquivos YAML no bucket do S3.

  6. Agora, você pode navegar até o console do Amazon EMR e criar um cluster com o agente do CloudWatch. Em EMR no EC2 no painel de navegação à esquerda, selecione Clusters e Criar cluster.

  7. Na seção Nome e aplicações, escolha uma versão 7.0.0 ou superior do Amazon EMR.

  8. Em Pacote de aplicações, selecione o pacote ou o grupo personalizado de aplicações que deseja instalar no cluster e inclua Agente do CloudWatch nas seleções.

  9. Na seção Ações de bootstrap, selecione Adicionar.

    • Em Nome, insira install_app_metrics_launcher.sh.

    • Na Localização do script, insira s3://amzn-s3-demo-bucket/install_app_metrics_launcher.sh. Substitua amzn-s3-demo-bucket pelo caminho para o bucket do S3.

    • Deixe o bloco Argumentos vazio.

  10. Selecione Adicionar ação de bootstrap.

  11. Continue criando o cluster para atender às necessidades da sua workload.

Quando seu cluster é executado, o agente do CloudWatch publica as métricas de aplicações que você especificou com as métricas do sistema no CloudWatch.

Configuração do Amazon Managed Service for Prometheus como armazenamento em nuvem para métricas com o Amazon EMR 7.0.0

Você pode configurar o agente do Amazon CloudWatch para publicar métricas no Amazon Managed Service for Prometheus em vez do CloudWatch.

nota

Você pode publicar as métricas do agente do Amazon CloudWatch no Amazon Managed Service for Prometheus ou no Amazon CloudWatch, mas não nos dois serviços para o mesmo cluster.

Para configurar o agente para publicar as métricas no Amazon Managed Service for Prometheus, você deve adicionar a permissão aps:RemoteWrite do AWS Identity and Access Management (IAM) ao perfil de instância do Amazon EC2 para o Amazon EMR. O seguinte exemplo de política contém a permissão necessária:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aps:RemoteWrite" ], "Resource": [ "*" ], "Sid": "AllowAPSRemotewrite" } ] }
Como usar o agente do CloudWatch em um cluster do EMR para publicar métricas no Amazon Managed Service for Prometheus

Depois que a política de serviço tiver as permissões corretas, use as etapas a seguir para executar um cluster que usa o agente do CloudWatch para publicar métricas no Amazon Managed Service for Prometheus.

  1. Use o Console de gerenciamento da AWS ou a AWS CLI para criar um espaço de trabalho do Amazon Managed Service for Prometheus. Para obter mais informações, consulte Criação de um espaço de trabalho no Guia do usuário do Amazon Managed Service for Prometheus.

  2. Crie ou escolha um bucket na sua conta do Amazon S3 onde deseja armazenar os arquivos de execução que especificam o Amazon Managed Service for Prometheus como armazenamento em nuvem.

  3. Em seguida, navegue até o repositório aws-emr-utilities no GitHub e baixe os scripts a seguir.

    • add_prometheus_endpoint_launcher.sh: um script que baixa e executa add_prometheus_endpoint.sh em segundo plano para que o nó possa concluir o bootstrapping.

    • add_prometheus_endpoint.sh – um script que aguarda a instância em que é executado para concluir o bootstrapping e, em seguida, configura o agente do CloudWatch para publicar no endpoint do Amazon Managed Service for Prometheus, que você fornece como argumento ao executar seu cluster.

  4. Abra cada arquivo e substitua amzn-s3-demo-bucket pelo nome do seu bucket da Etapa 2.

  5. Use a AWS CLI para criar um cluster do EMR com a ação de bootstrap add_prometheus_endpoint_launcher.sh. No comando a seguir, substitua amzn-s3-demo-bucket pelo bucket que contém a ação de bootstrap e substitua managedpro-remote-write-workspace-url pelo endpoint de gravação remota do seu espaço de trabalho do Amazon Managed Service for Prometheus. Certifique-se de especificar um rótulo de versão emr-7.0.0 ou superior do Amazon EMR.

    aws emr create-cluster --name managedpro-cluster \ --release-label emr-7.0.0 \ --applications Name=Hadoop Name=AmazonCloudWatchAgent \ --ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \ --instance-count 3 --use-default-roles --bootstrap-actions Name='Add Prometheus Endpoint',Path=s3://amzn-s3-demo-bucket/add_prometheus_endpoint_launcher.sh,Args='managedpro-remote-write-workspace-url'

Quando seu cluster é executado, o agente do CloudWatch publica as métricas coletadas no Amazon Managed Service for Prometheus.

Como usar o Amazon Managed Service for Prometheus como fonte de dados do Amazon Managed Grafana

Depois que o Amazon EMR publicar as métricas do cluster no Amazon Managed Service for Prometheus, você poderá usar as seguintes etapas para visualizar as métricas com o Amazon Managed Grafana:

  1. Use o Console de gerenciamento da AWS para criar um espaço de trabalho e um usuário do Amazon Managed Grafana com as permissões apropriadas. Para obter mais informações, consulte Criação de um espaço de trabalho no Guia do usuário do Amazon Managed Grafana.

  2. Adicione seu espaço de trabalho do Amazon Managed Service for Prometheus como fonte de dados no Amazon Managed Grafana. Para obter mais informações, consulte Use AWS data source configuration to add Amazon Managed Service for Prometheus as a data source no Guia do usuário do Amazon Managed Grafana.

nota

O agente do CloudWatch tem um exportador do Prometheus que renomeia determinados atributos. Para os rótulos de métricas padrão, o Amazon Managed Service for Prometheus usa caracteres de sublinhado no lugar dos pontos do Amazon CloudWatch. Portanto, se você usar o Amazon Managed Grafana para visualizar as métricas padrão no Amazon Managed Service for Prometheus, os rótulos aparecerão como jobflow_id, instance_id e service_name.

Além disso, qualquer métrica de aplicações que o agente do CloudWatch publica no Amazon Managed Service for Prometheus usa o rótulo job em vez de service_name. No entanto, as métricas do sistema continuam usando o rótulo service_name.