O Application Real-Time Monitoring Service (ARMS) monitora aplicações Go em um cluster do Container Service for Kubernetes (ACK). Instale o add-on ack-onepilot, compile o arquivo binário Go com a ferramenta de build instgo e crie a imagem do container. Após a implantação, visualize dados de monitoramento, como topologia da aplicação, chamadas de interface e análise de banco de dados.
Pré-requisitos
-
Crie um cluster ACK. Recomendamos o uso de um cluster gerenciado ACK. Para obter instruções, consulte Create an ACK managed cluster.
A criação de novos clusters dedicados ACK foi descontinuada, mas os clusters dedicados existentes continuam com suporte. Para mais informações, consulte Create an ACK dedicated cluster (discontinued).
Sua aplicação Go usa a versão 1.18 ou posterior.
-
Você ativou o activated ARMS.
O ARMS é um service de gerenciamento de desempenho de aplicações (APM) da Alibaba Cloud. Para saber mais sobre o ARMS, consulte What is ARMS? e What is Application Monitoring?.
Etapa 1: Instalar o ack-onepilot, o add-on de monitoramento de aplicações do ARMS
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, clique em Components and Add-ons.
Certifique-se de que a versão do ack-onepilot seja 3.2.4 ou posterior. Por padrão, o add-on ack-onepilot suporta até 1.000 pods. Para cada 1.000 pods adicionais acima desse limite, aumente os recursos de cpu do ack-onepilot em 0,5 núcleo e a memória em 512 MB.
Etapa 2: Compilar o arquivo binário Go e criar a imagem do container
Use a ferramenta de build aprimorada instgo junto com um ambiente de build Go local (Go 1.18 ou posterior) para compilar seu programa Go em um arquivo binário que envia dados de monitoramento ao ARMS.
(Opcional) Se o projeto incluir um diretório vendor durante o build, adicione
-mod=vendorapósgo build.-
Execute o comando
wgetpara baixar a ferramenta de build instgo.Durante o processo de build, o instgo é atualizado automaticamente. Salve o instgo em um diretório onde o usuário do build tenha permissões de escrita.
NotaO instgo é uma ferramenta de build do ARMS que instrumenta seu projeto Go, permitindo que o ARMS monitore sua aplicação.
Se o ambiente de build tiver acesso à internet para o Object Storage Service (OSS), selecione a URL de download via internet de China (Hangzhou) correspondente ao sistema operacional e à arquitetura do ambiente.
Comandos de download
Linux (AMD64)
wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgoLinux (ARM64)
wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-arm64" -O instgoMac (ARM64)
wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-darwin-arm64" -O instgoMac (AMD64)
wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-darwin-amd64" -O instgoWindows (AMD64)
wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-windows-amd64.exe" -O instgo.exe -
Torne a ferramenta de build executável.
Linux/Mac
# Grant the executable permission. chmod +x instgoWindows
No Windows, não é necessário conceder permissão de execução.
-
(Opcional) Configure um UID como parâmetro de build.
ImportanteSe você pular esta etapa, o instgo instalará a versão mais recente do agente ARMS por padrão.
Configurar um UID requer o instgo 1.4.5 ou posterior. Use o comando
setpara definir um UID como parâmetro de build.# The UID is the ID of your Alibaba Cloud primary account. instgo set --uid={YourAliyunUid} -
Adicione
instgocomo prefixo ao comando de build original e execute-o.instgo go build {arg1} {arg2} {arg3}Se usar
go installpara compilar o projeto, também adicioneinstgocomo prefixo ao comando de build original. Use o arquivo binário gerado na etapa anterior para criar a imagem do container.
Etapa 3: Ativar o monitoramento de aplicações do ARMS para sua aplicação Go
Faça login no console ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, escolha Workloads > Deployments.
Na página Deployments, localize sua aplicação e clique em Edit YAML na coluna Actions.
-
No arquivo yaml, adicione as seguintes
labelsno nívelspec.template.metadata.labels: aliyun.com/app-language: golang # Required for Go applications. This indicates that this is a Go application. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "<YOUR-DEPLOYMENT-NAME>" # Replace <YOUR-DEPLOYMENT-NAME> with your application name.
Etapa 4: Visualizar detalhes do monitoramento
-
Após cerca de um minuto, acesse o console ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Applications para visualizar a aplicação Go e os dados enviados por ela.
Uma aplicação chamada otel-go-server aparecerá na lista de aplicações. Um status verde indica que a aplicação está funcionando normalmente. Verifique métricas de monitoramento, como requisições por segundo, taxa de erro e tempo médio de resposta, para confirmar o envio dos dados.
Na coluna Application Name, clique em no nome da sua aplicação para acessar a página de monitoramento de aplicações no console ARMS e visualizar os detalhes. Para mais informações, consulte Application overview.
(Opcional) Etapa 5: Liberar recursos
Se não precisar mais monitorar a aplicação, desinstale o agente ARMS. Para mais informações, consulte Uninstall the ARMS agent for Go.