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
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
-
A AWS CLI estar instalada e configurada em seu ambiente.
-
O AWS CDK Typescript estar instalado em seu ambiente.
-
O Node.js e o Go estarem instalados em seu ambiente.
-
O repositório do GitHub do exportador de métricas do CloudWatch de observabilidade da AWS
( CWMetricsStreamExporter) ter sido clonado em sua máquina local.
Para criar um espaço de trabalho do Amazon Managed Service for Prometheus
-
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 -
Verifique se o seu espaço de trabalho foi criado com o seguinte comando:
aws amp list-workspacesPara 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
-
Instale as dependências
Na raiz do repositório
aws-o11y-recipes, altere seu diretório paraCWMetricStreamExporterusando o comando:cd sandbox/CWMetricStreamExporterA partir de agora, esse será considerado a raiz do repositório.
-
Altere o diretório para
/cdkpor meio do comando a seguir:cd cdk -
Instale as dependências do CDK por meio do seguinte comando:
npm install -
Altere o diretório de volta para a raiz do repositório e, em seguida, altere o diretório para
/lambdausando o seguinte comando:cd lambda -
Uma vez na pasta
/lambda, instale as dependências do Go usando:go getAgora todas as dependências estão instaladas.
Para implantar a pilha
-
Na raiz do repositório, abra
config.yamle 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-2Altere os nomes do fluxo de entrega do Firehose e do bucket do Amazon S3 como preferir.
-
Para criar o AWS CDK e o código Lambda, execute o seguinte comando na raiz do repositório:
npm run buildEssa etapa de criação garante que o binário do Go Lambda seja criado e implanta o CDK no CloudFormation.
-
Para concluir a implantação, revise e aceite as alterações do IAM exigidas pela pilha.
-
(Opcional) Você pode verificar se a pilha foi criada executando o seguinte comando.
aws cloudformation list-stacksUma pilha chamada
CDK Stackestará 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
-
Vá até o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/home#metric-streams:streamsList
, e selecione Criar fluxo de métricas. -
Selecione as métricas necessárias, sejam todas as métricas ou somente aquelas dentro dos namespaces selecionados.
-
Em
Configuration, escolha Selecionar um Firehose existente pertencente à sua conta. -
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. -
Altere o formato de saída para JSON.
-
Dê ao fluxo de métricas um nome que signifique alguma coisa para você.
-
Escolha Create metric stream (Criar filtro de métrica).
-
(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
-
Comece excluindo a pilha do CloudFormation com os seguintes comandos:
cd cdk cdk destroy -
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` -
Por fim, remova o fluxo de métricas do Amazon CloudWatch usando o console do Amazon CloudWatch
.