Este tópico descreve como conectar o runtime Go no Function Compute ao Application Monitoring do Application Real-Time Monitoring Service (ARMS).
Informações de fundo
Ao conectar o Function Compute ao Application Monitoring do ARMS, você monitora e rastreia funções, obtendo visibilidade no nível da instância, dados de rastreamento, métricas do runtime Go e perfilamento de CPU.
Pré-requisitos
A aplicação utiliza Go V1.18 ou superior.
Uma chave de licença está disponível. Para mais informações, consulte DescribeTraceLicenseKey.
Método 1: Criar uma função usando o arquivo binário Go compilado no Function Compute
Use o agente do ARMS para Go para compilar a aplicação Go. Para mais informações, consulte Etapa 1: Compilar a imagem da aplicação Golang.
-
Faça upload do arquivo binário Go compilado para o Function Compute. Para mais informações, consulte Criar uma função acionada por evento.

-
Defina as variáveis de ambiente.
ARMS_ENABLE=true ARMS_APP_NAME=xxx # The application name. ARMS_REGION_ID=xxx # The Region ID of the Alibaba Cloud account. ARMS_LICENSE_KEY=xxx # The license key.
-
Execute a função. Em seguida, escolha e visualize a aplicação configurada no Console do ARMS.
Clique em nome da aplicação. Na página Overview, monitore o número de solicitações, a quantidade de erros, o tempo médio de processamento e outras métricas de chamada da aplicação.

Método 2: Criar uma aplicação Go no Function Compute
-
Modifique as ações no arquivo s.yaml. Para mais informações, consulte O que é Serverless Devs?
O código abaixo serve de exemplo para a região China (Hangzhou). Altere o endereço para o link de download da ferramenta de compilação correspondente ao seu sistema operacional e região. Para mais detalhes, consulte Obter um endereço de download.
Substitua a chave de licença no código pela chave obtida.
edition: 3.0.0 name: hello-world-app access: "{{ access }}" vars: # The global variable. region: "{{ region }}" resources: hello_world: component: fc3 actions: pre-${regex('deploy|local')}: - run: GO111MODULE=on go mod tidy path: ./code - run: wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo path: ./code - run: chmod +x instgo path: ./code - run: GOOS=linux GOARCH=amd64 CGO_ENABLED=0 ./instgo build --licenseKey="{licenseKey}" --cacheDir=./ -- -o target/main main.go path: ./code props: region: ${vars.region} functionName: "{{ functionName }}" description: 'A simple hello world application by serverless devs' runtime: "{{ runtime }}" code: ./code/target handler: main memorySize: 128 timeout: 10 # Triggers: # - triggerName: httpTrigger # The trigger name. # triggerType: http # The trigger type. # description: 'xxxx' # qualifier: LATEST # The version of the triggered service. # triggerConfig: # authType: anonymous # The authentication type. Valid values: anonymous and function. # disableURLInternet: false # Specifies whether to disable the URL for accessing the public network. # methods: # The access method supported by the HTTP trigger. Valid values: GET, POST, PUT, DELETE, and HEAD. # - GET # - POST -
No console do Function Compute, escolha Applications e clique em Import an Application from a Repository para importar uma aplicação. Para mais informações, consulte Gerenciar aplicações.

Após criar a aplicação, acesse a página de detalhes dela. Em Function Resources, na seção , clique em nome da função.
-
Na página exibida, adicione as seguintes variáveis de ambiente. Para mais informações, consulte Configurar variáveis de ambiente.
ARMS_ENABLE=true ARMS_APP_NAME=xxx # The application name. ARMS_REGION_ID=xxx # The region ID of the Alibaba Cloud account. ARMS_LICENSE_KEY=xxx # The license key.
-
Inicie a aplicação. Depois, escolha e visualize a aplicação configurada no Console do ARMS.
Clique em nome da aplicação. Na página Overview, monitore o número de solicitações, a quantidade de erros, o tempo médio de processamento e outras métricas de chamada da aplicação.
