Para monitorar aplicações Go implantadas no Container Service for Kubernetes (ACK) ou no Container Compute Service (ACS), instale o componente ack-onepilot e compile o arquivo binário Go. Em seguida, visualize dados de monitoramento, como topologia da aplicação, chamadas de interface e análise de banco de dados, no console do Application Real-Time Monitoring Service (ARMS). Este tópico descreve como instalar um agente para uma aplicação Go no Container Service for Kubernetes (ACK) ou no Container Compute Service (ACS).
Pré-requisitos
Crie um namespace. Este tópico utiliza default como nome do namespace. Para mais informações, consulte Gerenciar namespaces e cotas.
Verifique o sistema operacional de compilação, a arquitetura, a versão do Go e a versão do framework. Para mais detalhes, consulte Componentes e frameworks Go suportados pelo ARMS Application Monitoring.
Etapa 1: Conceder permissões de acesso a recursos do ARMS
ACK managed cluster
Se não existir um ARMS Addon Token no seu ACK managed cluster, conceda manualmente as permissões de acesso do cluster aos recursos do ARMS. Caso o token já exista, pule para a Etapa 4.
Quando um cluster possui o ARMS Addon Token, o ARMS realiza autorização sem senha nesse ambiente. Alguns clusters gerenciados do ACK podem não ter esse token. Recomendamos verificar a presença do ARMS Addon Token antes de usar o ARMS para monitorar aplicações no cluster. Se o token não estiver presente, autorize o cluster a acessar o ARMS.
ACK dedicated clusters e registered clusters
Os ACK dedicated clusters e os ACK One registered clusters exigem dois requisitos:
Sua conta Alibaba Cloud deve ter as permissões AliyunARMSFullAccess e AliyunSTSAssumeRoleAccess. Consulte Gerenciar permissões para usuários RAM.
O componente ack-onepilot precisa de um par de AccessKey com permissões do ARMS.
Forneça o par de AccessKey ao ack-onepilot usando um dos métodos abaixo.
Método 1: Especificar o par de AccessKey no Helm
Acesse o console do ACK. Clique em Clusters e, em seguida, no nome do cluster.
No painel de navegação à esquerda, escolha Applications > Helm. Clique em Update ao lado de ack-onepilot.
-
Substitua os valores de
accessKeyeaccessKeySecretpelo seu AccessKey ID e AccessKey secret. Clique em OK.NotaPara obter um par de AccessKey, consulte Criar um par de AccessKey.

Reinicie o Deployment da aplicação.
Método 2: Usar um Kubernetes Secret
Acesse o console do ACK. Clique em Clusters e selecione o nome do cluster.
-
No painel de navegação à esquerda, escolha Configurations > Secrets. Selecione o namespace ack-onepilot e crie um Secret para armazenar seu AccessKey ID e AccessKey secret.
NotaPara obter um par de AccessKey, consulte Criar um par de AccessKey.

No painel de navegação à esquerda, escolha Workloads > Deployments. Clique no componente ack-onepilot (geralmente chamado
ack-onepilot-ack-onepilotno namespaceack-onepilot).-
No canto superior direito, clique em Edit. Na seção Environment Variables, adicione estas duas variáveis referenciando os valores do Secret. Clique em OK.
Variável de ambiente
Descrição
ONE_PILOT_ACCESSKEYReferencia o AccessKey ID armazenado no Secret
ONE_PILOT_ACCESSKEY_SECRETReferencia o AccessKey secret armazenado no Secret

ACK serverless clusters (ASK) e clusters integrados com ECI
Conclua a autorização na página de Autorização de Acesso a Recursos e reinicie todos os pods do componente ack-onepilot.
Etapa 2: Instalar o auxiliar de agente do ARMS (ack-onepilot)
Acesse o console do ACK. Na página Clusters, clique no nome do cluster.
-
No painel de navegação à esquerda, clique em Add-ons. Em seguida, pesquise por ack-onepilot.
ImportanteCertifique-se de que a versão do ack-onepilot seja 3.2.0 ou superior.
-
Clique em Install no cartão ack-onepilot.
NotaPor padrão, o componente ack-onepilot suporta 1.000 pods. Para cada 1.000 pods adicionais no cluster, adicione 0,5 núcleo de CPU e 512 MB de memória ao componente.
-
Na caixa de diálogo exibida, configure os parâmetros e clique em OK. Recomendamos manter os valores padrão.
NotaApós instalar o ack-onepilot, atualize, configure ou desinstale-o na página Add-ons.
Etapa 3: Compilar a imagem da aplicação Golang
(Opcional) Se o seu projeto incluir um diretório
vendordurante a compilação, adicione-mod=vendorapósgo build.-
Use o comando
wgetpara baixar a ferramenta de compilação instgo. Escolha o endereço de download conforme seu ambiente de compilação e a região da máquina de build.O instgo aciona atualizações automáticas durante a compilação. Salve o instgo em um diretório onde o usuário de build tenha permissões de escrita.
NotaO Instgo é uma ferramenta de compilação de aplicações Golang fornecida pelo ARMS. Após compilar seu projeto Golang com o instgo, o ARMS começa a monitorar sua aplicação.
As ferramentas de compilação baixadas para cada região são idênticas. Se seu ambiente de rede pública conseguir acessar endereços OSS, use o endereço de rede pública de Hangzhou correspondente ao seu sistema operacional e arquitetura para obter a ferramenta.
-
Conceda permissões de execução à ferramenta de compilação.
Linux/Mac
# Grant execute permissions chmod +x instgoWindows
Não são necessárias permissões de execução no Windows.
-
(Opcional) Configure a LicenseKey ou o UID como parâmetro de compilação.
ImportanteSe você pular esta etapa, o instgo instala a versão mais recente do probe do ARMS por padrão.
-
Obtenha a LicenseKey usando a OpenAPI DescribeTraceLicenseKey.
Na página de documentação da DescribeTraceLicenseKey, clique em Debug, selecione uma região e clique em Initiate Call para obter a LicenseKey.

-
Use o comando
setpara configurar o UID ou a LicenseKey como parâmetro de compilação.instgo set --uid={YourAliyunUid} // Requires instgo version 1.4.5 or later. The UID is your Alibaba Cloud account UID. instgo set --licenseKey=${YourLicenseKey} // Configure either the UID or the LicenseKey.
-
-
Adicione
instgocomo prefixo ao seu comando de compilação existente e execute a compilação.instgo go build {arg1} {arg2} {arg3}Caso utilize
go installpara compilar seu projeto, também adicioneinstgocomo prefixo ao comando de compilação existente e execute o processo. Crie a imagem usando o arquivo binário compilado na etapa anterior.
Etapa 4: Ativar o Application Monitoring para a aplicação Go
O modelo YAML abaixo mostra como criar uma aplicação stateless (Deployment) e ativar o Application Monitoring para ela:
Acesse o console do ACK. No painel de navegação à esquerda, clique em Clusters.
No topo da página Clusters, selecione a região e o grupo de recursos onde o cluster alvo está localizado e clique no nome desse cluster. No painel de navegação à esquerda, clique em Workloads. Em seguida, selecione Deployments, StatefulSets ou DaemonSets.
-
Localize a aplicação alvo e escolha .
Para criar uma nova aplicação, clique em Create From YAML.
-
Adicione os seguintes
labelsem spec.template.metadata no arquivo YAML.labels: aliyun.com/app-language: golang # Required for Go applications. Specifies that this is a Go application. armsPilotAutoEnable: 'on' armsPilotCreateAppName: "<your-deployment-name>" # Replace <your-deployment-name> with your application name.
Clique em Update.
Resultado da execução
Após cerca de um minuto, verifique se a aplicação Go aparece na página no console do ARMS e se há dados sendo reportados. Nesse caso, o agente foi instalado com sucesso.

> Edit YAML