View a markdown version of this page

Integração de métricas do CloudWatch com o Amazon Managed Service for Prometheus - Amazon Managed Service for Prometheus

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

Integração de métricas do CloudWatch com o Amazon Managed Service for Prometheus

Ter todas as suas métricas em um só lugar pode ajudar. O Amazon Managed Service for Prometheus não ingere métricas do Amazon CloudWatch automaticamente. No entanto, você pode usar o Amazon Data Firehose e o AWS Lambda para enviar métricas do CloudWatch ao Amazon Managed Service for Prometheus.

Esta seção descreve como instrumentar um fluxo de métricas do Amazon CloudWatch e usar o Amazon Data Firehose e o AWS Lambda para ingerir métricas no Amazon Managed Service for Prometheus.

Você definirá uma pilha usando o kit de desenvolvimento em nuvem (CDK) da AWS para criar um fluxo de entrega do Firehose, um bucket do Amazon S3 e Lambda para demonstrar um cenário completo.

Infraestrutura

A primeira coisa que você deve fazer é configurar a infraestrutura dessa fórmula.

Os fluxos de métricas do CloudWatch permitem o encaminhamento dos dados métricos de transmissão para um endpoint HTTP ou um bucket do Amazon S3.

A configuração da infraestrutura consistirá em 4 etapas:

  • Configurar pré-requisitos

  • Criação de um espaço de trabalho do Amazon Managed Service for Prometheus

  • Instalar as dependências

  • Implantar a pilha

Pré-requisitos

Para criar um espaço de trabalho do Amazon Managed Service for Prometheus
  1. O aplicativo de demonstração dessa fórmula será executado no Amazon Managed Service for Prometheus. Crie seu espaço de trabalho do Amazon Managed Service for Prometheus por meio do seguinte comando:

    aws amp create-workspace --alias prometheus-demo-recipe
  2. Verifique se o seu espaço de trabalho foi criado com o seguinte comando:

    aws amp list-workspaces

    Para obter mais informações sobre o Amazon Managed Service for Prometheus, consulte o Guia do usuário do Amazon Managed Service for Prometheus.

Para instalar dependências
  1. Instale as dependências

    Na raiz do repositório aws-o11y-recipes, altere seu diretório para CWMetricStreamExporter usando o comando:

    cd sandbox/CWMetricStreamExporter

    A partir de agora, esse será considerado a raiz do repositório.

  2. Altere o diretório para /cdk por meio do comando a seguir:

    cd cdk
  3. Instale as dependências do CDK por meio do seguinte comando:

    npm install
  4. Altere o diretório de volta para a raiz do repositório e, em seguida, altere o diretório para /lambda usando o seguinte comando:

    cd lambda
  5. Uma vez na pasta /lambda, instale as dependências do Go usando:

    go get

    Agora todas as dependências estão instaladas.

Para implantar a pilha
  1. Na raiz do repositório, abra config.yaml e modifique o URL do espaço de trabalho do Amazon Managed Service for Prometheus substituindo o {workspace} pelo ID do espaço de trabalho recém-criado e pela região em que está seu espaço de trabalho do Amazon Managed Service for Prometheus.

    Por exemplo, modifique o seguinte com:

    AMP: remote_write_url: "https://aps-workspaces.us-east-2.amazonaws.com/workspaces/{workspaceId}/api/v1/remote_write" region: us-east-2

    Altere os nomes do fluxo de entrega do Firehose e do bucket do Amazon S3 como preferir.

  2. Para criar o AWS CDK e o código Lambda, execute o seguinte comando na raiz do repositório:

    npm run build

    Essa etapa de criação garante que o binário do Go Lambda seja criado e implanta o CDK no CloudFormation.

  3. Para concluir a implantação, revise e aceite as alterações do IAM exigidas pela pilha.

  4. (Opcional) Você pode verificar se a pilha foi criada executando o seguinte comando.

    aws cloudformation list-stacks

    Uma pilha chamada CDK Stack estará na lista.

Criação de um fluxo do Amazon CloudWatch

Agora que você tem uma função do Lambda para lidar com as métricas, você pode criar o fluxo de métricas a partir do Amazon CloudWatch.

Para criar um fluxo de métricas do CloudWatch
  1. Vá até o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList, e selecione Criar fluxo de métricas.

  2. Selecione as métricas necessárias, sejam todas as métricas ou somente aquelas dentro dos namespaces selecionados.

  3. Em Configuration, escolha Selecionar um Firehose existente pertencente à sua conta.

  4. Você usará o Firehose criado anteriormente pelo CDK. No menu suspenso Selecionar seu fluxo do Kinesis Data Firehose, selecione o fluxo criado anteriormente. Ele terá um nome como CdkStack-KinesisFirehoseStream123456AB-sample1234.

  5. Altere o formato de saída para JSON.

  6. Dê ao fluxo de métricas um nome que signifique alguma coisa para você.

  7. Escolha Create metric stream (Criar filtro de métrica).

  8. (Opcional) Para verificar a invocação da função do Lambda, vá até o console do Lambda e escolha a função KinesisMessageHandler. Selecione a guia Monitorar e a subguia Registros e, em Invocações recentes, deve haver entradas da função do Lambda sendo acionadas.

    nota

    Pode levar até 5 minutos até que as invocações comecem a ser exibidas na guia Monitorar.

Suas métricas agora estão sendo transmitidas do Amazon CloudWatch para o Amazon Managed Service for Prometheus.

Limpeza

Você pode precisar limpar os recursos usados neste exemplo. O procedimento a seguir explica como. Isso interromperá o fluxo de métricas que você criou.

Como limpar recursos
  1. Comece excluindo a pilha do CloudFormation com os seguintes comandos:

    cd cdk cdk destroy
  2. Remova o espaço de trabalho do Amazon Managed Service for Prometheus:

    aws amp delete-workspace --workspace-id \ `aws amp list-workspaces --alias prometheus-sample-app --query 'workspaces[0].workspaceId' --output text`
  3. Por fim, remova o fluxo de métricas do Amazon CloudWatch usando o console do Amazon CloudWatch.