(Opcional) Experimentar o Application Signals com uma aplicação de amostra
Para testar o CloudWatch Application Signals em uma aplicação de amostra antes de instrumentar suas próprias aplicações com ele, siga as instruções apresentadas nesta seção. Essas instruções usam scripts para ajudar você a criar um cluster do Amazon EKS, instalar uma aplicação de amostra e instrumentá-la para funcionar com o Application Signals.
A aplicação de amostra é uma aplicação chamada “Pet Clinic” da Spring, que é composta por quatro microsserviços. Esses serviços são executados no Amazon EKS no Amazon EC2 e usam scripts de habilitação do Application Signals para habilitar o cluster com o agente de instrumentação automática em Java, Python ou .NET.
Requisitos
No momento, o Application Signals está configurado para monitorar somente aplicações em Java, Python e .NET.
Você deve ter a AWS CLI instalada na instância. Recomendamos a versão 2 da AWS CLI, mas a versão 1 também deve funcionar. Para obter mais informações sobre como instalar a AWS CLI, consulte Instalar ou atualizar para a versão mais recente da AWS CLI.
Os scripts apresentados nesta seção devem ser executados em ambientes do Linux e do macOS. Para as instâncias do Windows, recomendamos usar um ambiente do AWS Cloud9 para a execução desses scripts. Para obter mais informações sobre o AWS Cloud9, consulte What is AWS Cloud9?.
Instale uma versão compatível do
kubectl
. Você deve usar uma versão dokubectl
com uma diferença de versão secundária do ambiente de gerenciamento do cluster do Amazon EKS. Por exemplo, um clientekubectl
1.26 funciona com clusters do Kubernetes nas versões 1.25, 1.26 e 1.27. Se você já tiver um cluster do Amazon EKS, talvez seja necessário configurar as credenciais da AWS para okubectl
. Para obter mais informações, consulte Criar ou atualizar um arquivokubeconfig
para um cluster do Amazon EKS.Instale o
eksctl
. Oeksctl
usa a AWS CLI para interagir com a AWS, o que significa que ele usa as mesmas credenciais da AWS que a AWS CLI. Para obter mais informações, consulte Installing or updatingeksctl
.Instale o
jq
. Ojq
é necessário para executar os scripts de habilitação do Application Signals. Para obter mais informações, consulte Download jq.
Etapa 1: fazer download dos scripts
Para fazer download dos scripts para a configuração do CloudWatch Application Signals com uma aplicação de amostra, é possível fazer o download e descompactar o arquivo compactado do projeto do GitHub em uma unidade local ou clonar o projeto do GitHub.
Para clonar o projeto, abra uma janela de terminal e insira o comando Git apresentado a seguir em um determinado diretório de trabalho.
git clone https://github.com/aws-observability/application-signals-demo.git
Etapa 2: criar e implantar a aplicação de amostra
Para criar e enviar por push as imagens da aplicação de amostra, siga estas instruções
Etapa 3: implantar e habilitar o Application Signals e a aplicação de amostra
Certifique-se de ter atendido aos requisitos listados em (Opcional) Experimentar o Application Signals com uma aplicação de amostra antes de concluir as etapas apresentadas a seguir.
Como implantar e habilitar o Application Signals e a aplicação de amostra
Insira o comando da a seguir. Substitua
new-cluster-name
pelo nome que você deseja usar para o novo cluster. Substituaregion-name
pelo nome da região da AWS, comous-west-1
.Esse comando configura a aplicação de amostra em execução em um novo cluster do Amazon EKS com o Application Signals habilitado.
# this script sets up a new cluster, enables Application Signals, and deploys the # sample application cd application-signals-demo/scripts/eks/appsignals/one-step && ./setup.sh
new-cluster-name
region-name
O script de configuração demora cerca de 30 minutos para ser executado e faz o seguinte:
Cria um novo cluster do Amazon EKS na região especificada.
Cria as permissões do IAM necessárias para o Application Signals (
arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess
earn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
).Habilita o Application Signals ao instalar o agente do CloudWatch e ao instrumentalizar automaticamente a aplicação de amostra para as métricas do CloudWatch e os rastreamentos do X-Ray.
Implanta a aplicação de amostra Pet Clinic da Spring no mesmo cluster do Amazon EKS.
Cria cinco canários do CloudWatch Synthetics, denominados
pc-add-vist
,pc-create-owners
,pc-visit-pet
,pc-visit-vet
epc-clinic-traffic
. Esses canários serão executados com uma frequência de um minuto para gerar tráfego artificial para a aplicação de amostra e demonstrar como os canários do Synthetics aparecem no Application Signals.Cria quatro objetivos de nível de serviço (SLOs) para a aplicação Pet Clinic com os seguintes nomes:
Disponibilidade para pesquisar um proprietário
Latência para pesquisar um proprietário
Disponibilidade para registrar um proprietário
Latência para registrar um proprietário
Cria o perfil do IAM obrigatório com uma política de confiança personalizada que concede ao Application Signals as seguintes permissões:
cloudwatch:PutMetricData
cloudwatch:GetMetricData
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
-
(Opcional) Se desejar analisar o código fonte da aplicação de amostra Pet Clinic, será possível encontrá-lo na pasta raiz.
- application-signals-demo - spring-petclinic-admin-server - spring-petclinic-api-gateway - spring-petclinic-config-server - spring-petclinic-customers-service - spring-petclinic-discovery-server - spring-petclinic-vets-service - spring-petclinic-visits-service
Para visualizar a implantação da aplicação de amostra Pet Clinic, execute o seguinte comando para localizar o URL:
kubectl get ingress
Etapa 4: monitorar a aplicação de amostra
Após concluir as etapas apresentadas na seção anterior para criar o cluster do Amazon EKS e implantar a aplicação de amostra, será possível usar o Application Signals para monitorar a aplicação.
nota
Para que o console do Application Signals comece a ser preenchido, algum tráfego deve chegar à aplicação de amostra. Em uma das etapas anteriores, ocorreu a criação de canários do CloudWatch Synthetics que geram tráfego para a aplicação de amostra.
Monitoramento da integridade do serviço
Depois de habilitado, o CloudWatch Application Signals descobre e preenche automaticamente uma lista de serviços sem requerer configurações adicionais.
Como visualizar a lista de serviços descobertos e monitorar a integridade
Abra o console do CloudWatch, em https://console.aws.amazon.com/cloudwatch/
. No painel de navegação, escolha Application Signals e, em seguida, Serviços.
Para visualizar um serviço, as operações e as dependências, escolha o nome de um dos serviços da lista.
Essa visualização unificada e centrada em aplicações ajuda a fornecer uma perspectiva completa de como os usuários estão interagindo com o serviço. Isso pode ajudar você a realizar a triagem de problemas, caso ocorram anomalias de performance. Para obter todos os detalhes sobre a visualização de Serviços, consulte Monitorar a integridade operacional das suas aplicações com o Application Signals.
Escolha a guia Operações de serviço para consultar as métricas da aplicação padrão para as operações desse serviço. Por exemplo, as operações são as operações de API que o serviço chama.
Em seguida, para visualizar os gráficos de uma única operação desse serviço, escolha o nome dessa operação.
Escolha a guia Dependências para visualizar as dependências que a aplicação tem, juntamente com as métricas importantes da aplicação para cada dependência. As dependências incluem serviços da AWS e serviços de terceiros que a aplicação chama.
Para visualizar rastreamentos correlacionados usando a página de detalhes do serviço, escolha um ponto de dados em um dos três gráficos acima da tabela. Isso preencherá um novo painel com rastreamentos filtrados do período. Esses rastreamentos são classificados e filtrados com base no gráfico escolhido. Por exemplo, se você escolher o gráfico Latência, os rastreamentos serão classificados pelo tempo de resposta do serviço.
No painel de navegação do console do CloudWatch, escolha SLOs. Você visualizará os SLOs que o script criou para a aplicação de amostra. Para obter mais informações sobre os SLOs, consulte Objetivos de nível de serviço (SLOs).
(Opcional) Etapa 5: realizar a limpeza
Quando terminar de testar o Application Signals, será possível usar um script fornecido pela Amazon para realizar a limpeza e a exclusão dos artefatos criados em sua conta para a aplicação de amostra. Para realizar a limpeza, insira o comando apresentado a seguir. Substitua new-cluster-name
pelo nome do cluster que você criou para a aplicação de amostra e substitua region
-name pelo nome da região da AWS, como us-west-1
.
cd application-signals-demo/scripts/eks/appsignals/one-step && ./cleanup.sh new-cluster-name region-name