O Alibaba Cloud Service Mesh (ASM) permite exportar dados de rastreamento para o Managed Service for OpenTelemetry ou para um sistema autogerenciado. Neste tópico, configure essa exportação no console do ASM.
Pré-requisitos
Você adicionou um cluster ACK à instância do ASM. Para mais informações, consulte Add a cluster to an ASM instance.
Certifique-se de que você ativou o Managed Service for OpenTelemetry na sua conta Alibaba Cloud ou e ative o serviço. Para mais informações sobre faturamento, consulte Billing.
Você implantou um gateway de entrada na instância do ASM. Para mais informações, consulte Create an ingress gateway.
Exportar dados de rastreamento para o Managed Service for OpenTelemetry
Selecione a aba correspondente à versão da sua instância do ASM. Se necessário, atualize sua instância; consulte Upgrade an ASM instance.
Versões anteriores a 1.17.2.35
Faça login no console do ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha .
Na página Base Information, clique em Settings. No painel Settings Update, selecione Enable Tracing Analysis, defina a Sampling Percentage, defina o Sampling Method como Managed Service for OpenTelemetry e clique em OK.
-
No painel de navegação à esquerda, escolha . O sistema redireciona você para o console do Managed Service for OpenTelemetry. Após concluir a configuração, faça login no console do Managed Service for OpenTelemetry e visualize métricas de monitoramento, como a quantidade de requisições, tempo de resposta e quantidade de spans das suas aplicações na página Overview Analysis.
Para mais informações sobre rastreamento, consulte What is Managed Service for OpenTelemetry?
Para desativar esse recurso, desmarque Enable Tracing Analysis no painel Settings Update e clique em OK.
Versões de 1.17.2.35 até anteriores a 1.18.0.124
Faça login no console do ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha .
Na página Tracing Analysis, clique em Collect ASM Tracing Data to Managed Service for OpenTelemetry e, na caixa de diálogo Confirm, clique em OK.
-
Clique em Open the Managed Service for OpenTelemetry Console e visualize os dados de rastreamento.
Para mais informações sobre rastreamento, consulte What is Managed Service for OpenTelemetry? Após concluir a configuração, faça login no console do Managed Service for OpenTelemetry e visualize métricas de monitoramento, como a quantidade de requisições, tempo de resposta e quantidade de spans das suas aplicações na página Overview Analysis.
Caso não precise mais desse recurso, na página Tracing Analysis, clique em Disable Collection e, na caixa de diálogo Confirm, clique em OK.
Versões de 1.18.0.124 até anteriores a 1.22.6.89
Nessas versões da instância, não é possível configurar a exportação para o Managed Service for OpenTelemetry diretamente no console. Em vez disso, implante e configure manualmente um OpenTelemetry Collector.
Etapa 1: Implantar o OpenTelemetry Operator
-
No ambiente kubeconfig do seu cluster ACK, execute o seguinte comando e crie o namespace
opentelemetry-operator-system:kubectl create namespace opentelemetry-operator-system -
Execute o seguinte comando e instale o OpenTelemetry Operator no namespace opentelemetry-operator-system usando o Helm:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm install --namespace=opentelemetry-operator-system opentelemetry-operator open-telemetry/opentelemetry-operator \ --set "manager.collectorImage.repository=otel/opentelemetry-collector-k8s" \ --set admissionWebhooks.certManager.enabled=false \ --set admissionWebhooks.autoGenerateCert.enabled=true -
Execute o seguinte comando e verifique se o OpenTelemetry Operator está executando corretamente:
kubectl get pod -n opentelemetry-operator-systemSaída esperada:
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 1mO
STATUSRunningindica que o OpenTelemetry Operator está em execução.
Etapa 2: Criar o OpenTelemetry Collector
-
Para começar, crie um arquivo chamado collector.yaml com o seguinte conteúdo.
No arquivo YAML, substitua
${ENDPOINT}pelo endpoint vpc grpc e${TOKEN}pelo token de autenticação. Para obter o endpoint e o token de autenticação do Managed Service for OpenTelemetry, consulte Access and authentication. -
No ambiente kubeconfig do seu cluster ACK, execute o seguinte comando para implantar o collector no cluster:
kubectl apply -f collector.yaml -
Execute o seguinte comando para verificar se o collector iniciou corretamente:
kubectl get pod -n opentelemetry-operator-systemSaída esperada:
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 3m default-collector-5cbb4497f4-2hjqv 1/1 Running 0 30sEssa saída indica que o collector iniciou com sucesso.
-
Execute o seguinte comando para verificar a criação do serviço:
kubectl get svc -n opentelemetry-operator-systemSaída esperada:
opentelemetry-operator ClusterIP 172.16.138.165 <none> 8443/TCP,8080/TCP 3m opentelemetry-operator-webhook ClusterIP 172.16.127.0 <none> 443/TCP 3m default-collector ClusterIP 172.16.145.93 <none> 4317/TCP 30s default-collector-headless ClusterIP None <none> 4317/TCP 30s default-collector-monitoring ClusterIP 172.16.136.5 <none> 8888/TCP 30sEssa saída confirma a criação do serviço. Por favor, confirme a criação do serviço.
Etapa 3: Ativar o rastreamento no console do ASM
Faça login no console do ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha .
Na página Observability Settings, na seção Tracing Analysis Settings, defina a Sampling Percentage como 100 e clique em Submit.
No painel de navegação à esquerda, escolha . Defina OpenTelemetry Service Address/Domain como default-collector.opentelemetry-operator-system.svc.cluster.local e a OpenTelemetry Service Port como 4317. Em seguida, clique em Collect ASM Tracing Data to Custom Managed Service for OpenTelemetry.
Versões 1.22.6.89 e posteriores
Faça login no console do ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha .
Na página Tracing Analysis, na seção Export to Alibaba Cloud Observable Link, selecione um Export Method, como Zipkin. Na seção Fill in the configuration, insira as informações necessárias e clique em Submit.
-
Clique em Acesse o console do Managed Service for OpenTelemetry e visualize os dados de rastreamento. Para mais informações sobre rastreamento, consulte What is Managed Service for OpenTelemetry?
NotaCaso não precise mais desse recurso, na página Tracing Analysis, clique em Export e, na caixa de diálogo Confirm, clique em OK.
Exportar dados de rastreamento para um sistema autogerenciado
O método de exportação para um sistema autogerenciado depende da versão da sua instância do ASM. Selecione a aba correspondente à versão da sua instância.
Versões anteriores a 1.18.0.124
Para instâncias do ASM anteriores a 1.17.2.28: faça login no console do ASM. Na página Base Information da instância de destino, clique em Settings, selecione Enable Tracing Analysis, configure os parâmetros conforme necessário e clique em OK.
Para instâncias do ASM da versão 1.17.2.28 ou posterior, mas anterior a 1.18.0.124: para obter informações sobre como ativar o rastreamento, consulte Tracing settings.
Versões de 1.18.0.124 até anteriores a 1.22.6.89
Para esse intervalo de versões, configure a exportação para um sistema autogerenciado na página da instância de destino no console do ASM.
Parâmetros
|
Parâmetro |
Descrição |
|
OpenTelemetry Domain Name (FQDN) |
O nome de domínio totalmente qualificado (FQDN) do serviço do seu sistema autogerenciado. Exemplo: |
|
OpenTelemetry Service Port |
A porta de serviço do sistema autogerenciado. Exemplo: |
Versões 1.22.6.89 e posteriores
Na página da sua instância no console do ASM, selecione e configure seu sistema de rastreamento autogerenciado.
Ao exportar dados de rastreamento para um sistema autogerenciado, certifique-se de que ele seja um serviço dentro do mesh. Se o sistema estiver fora do service mesh, registre-o no mesh criando um ServiceEntry. Para mais informações, consulte ServiceEntry.
Parâmetros
Exportar para OpenTelemetry
|
Parâmetro |
Descrição |
|
|
Service domain name (full FQDN) |
O FQDN do serviço do sistema autogerenciado. Exemplo: |
|
|
Service Port |
A porta de serviço do sistema autogerenciado. Exemplo: |
|
|
Exportar via grpc |
Timeout |
Opcional. O tempo limite da requisição em segundos para exportar dados de rastreamento. Exemplo: |
|
Request Header |
Opcional. Cabeçalhos de requisição a serem incluídos ao exportar dados de rastreamento. Exemplo: |
|
|
Exportar via HTTP |
Request path |
O caminho da requisição para exportar dados de rastreamento. Exemplo: |
|
Timeout |
Opcional. O tempo limite da requisição em segundos para exportar dados de rastreamento. Exemplo: |
|
|
Request Header |
Opcional. Cabeçalhos de requisição a serem incluídos ao exportar dados de rastreamento. Exemplo: |
|
Exportar para Zipkin
|
Parâmetro |
Descrição |
|
Domain name of Zipkin |
O FQDN do serviço do sistema autogerenciado. Exemplo: |
|
Request Port |
A porta de serviço do sistema autogerenciado. Exemplo: |
|
Request Path |
O caminho da requisição para exportar dados de rastreamento. O valor padrão é |
Exportar para SkyWalking
|
Parâmetro |
Descrição |
|
Skywalking service domain name |
O FQDN do serviço do sistema autogerenciado. Exemplo: |
|
Request Port |
A porta de serviço do sistema autogerenciado. Exemplo: |
Agora, verifique a exportação de dados
Implantar aplicações
-
Implante a aplicação de exemplo Bookinfo.
-
Crie o arquivo bookinfo.yaml com o seguinte conteúdo.
-
Implante a aplicação Bookinfo no cluster do plano de dados.
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f bookinfo.yaml
-
-
Implante a aplicação sleep.
-
Crie um arquivo chamado sleep.yaml com o seguinte conteúdo.
-
Implante a aplicação sleep.
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f sleep.yaml
-
Enviar requisições de teste
Execute o seguinte comando para enviar requisições de teste:
kubectl exec -it deploy/sleep -- sh -c 'for i in $(seq 1 100); do curl -s productpage:9080/productpage > /dev/null; done'
Visualizar os dados exportados
As etapas a seguir mostram o resultado da exportação de dados para o Managed Service for OpenTelemetry.
Faça login no console do Managed Service for OpenTelemetry.
-
No painel de navegação à esquerda, clique em Application List. Você verá os dados exportados.
A página Application List exibe dados de monitoramento para cada serviço, incluindo seu Name (como
sleep.default,details.default,productpage.default,reviews.defaulteratings.default), Health, Today's Requests, Today's Errors, Response Time e a tendência de Response Time (Last 30 Min).