O Application Monitoring e o Managed Service for OpenTelemetry são subserviços do Application Real-Time Monitoring Service (ARMS). Cada um atende a casos de uso distintos e oferece níveis diferentes de funcionalidade.
O Application Monitoring é um service de gerenciamento de desempenho de aplicações (APM). Ao instalar um agente do ARMS, você monitora sua aplicação sem modificar o código. Esse recurso ajuda a acompanhar o status da aplicação, localizar APIs lentas ou anômalas, identificar gargalos de desempenho e recuperar parâmetros de requisição, o que aumenta significativamente a eficiência no diagnóstico de erros. Para mais informações, consulte What is Application Monitoring?
O **Managed Service for OpenTelemetry** oferece aos desenvolvedores recursos para o desenvolvimento de aplicações distribuídas, incluindo localização de rastros, topologias de rastro, estatísticas de requisições e análise de dependências da aplicação. Para mais informações, consulte What is Managed Service for OpenTelemetry?
Quando usar cada solução
Escolha o Application Monitoring se suas aplicações forem escritas em Java, Go ou Python. Para essas linguagens, o Application Monitoring oferece mais recursos e maior estabilidade do agente.
Opte pelo Managed Service for OpenTelemetry quando suas aplicações utilizarem linguagens além de Java, Go e Python, como JS, .NET ou C++.
Utilize ambos simultaneamente em ambientes de microsserviços com múltiplas linguagens. Empregue o Application Monitoring para serviços em Java, Go e Python e o Managed Service for OpenTelemetry para as demais linguagens. Como os dados de rastro de ambos os serviços estão integrados e o console do ARMS proporciona uma experiência unificada, é possível obter rastreamento full-stack em todos os seus serviços.
Comparação
|
Item |
Application Monitoring |
Managed Service for OpenTelemetry |
|
Posicionamento |
Serviço de APM compatível com monitoramento de desempenho de aplicações, experiência do usuário, rastreamento e diagnóstico de problemas. |
Serviço open-source projetado para rastreamento distribuído. |
|
Fornecedor do agente |
Alibaba Cloud. |
Comunidade open source. |
|
SLA do agente |
Compatível. |
Não compatível. |
|
Método de acesso |
Instrumentação automática (carregamento não intrusivo de agente). |
Instrumentação manual (programação baseada em SDK) e instrumentação automática (carregamento não intrusivo de agente) para linguagens específicas. |
|
Linguagem de programação |
Java, Go e Python. |
Linguagens principais como Java, Go, Python, JS, .NET e C++. |
|
Insights |
Compatível. |
Não compatível. |
|
Snapshots de memória |
Compatível. |
Não compatível. |
|
Diagnóstico de threads e memória |
Compatível. |
Não compatível. |
|
Pilhas de métodos locais |
Compatível. |
Não compatível. |
|
Continuous Profiling |
Compatível. |
Não compatível. |
|
Pré-agregação no lado do cliente |
Compatível. |
Não compatível. |
|
Faturamento |
A cobrança é baseada na quantidade de dados de observabilidade. Para mais informações, consulte Billing (new). |
A cobrança é baseada na quantidade de dados de observabilidade. Para mais informações, consulte Billing (new). |
Mapeamento de opções para Go no Integration Center
Na seção Server-side applications do ARMS Integration Center, há três opções disponíveis para aplicações Go:
|
Opção no Integration Center |
Serviço correspondente |
Tipo de agente |
Alterações de código necessárias |
|
Application Monitoring for Go |
Application Monitoring |
Agente proprietário da Alibaba Cloud |
Não (instrumentação automática) |
|
Tracing Analysis for Go |
Managed Service for OpenTelemetry |
Protocolos open source (OpenTelemetry, SkyWalking, Zipkin ou Jaeger) |
Sim (instrumentação baseada em SDK) |
|
OpenTelemetry |
Managed Service for OpenTelemetry |
Padrão OpenTelemetry |
Sim (instrumentação baseada em SDK) |
O Application Monitoring for Go utiliza um agente Go proprietário da Alibaba Cloud que implementa instrumentação automática com base no padrão OpenTelemetry. Nenhuma alteração no código da sua aplicação é necessária.
O Tracing Analysis for Go permite enviar dados de rastro para o Managed Service for OpenTelemetry por meio de protocolos open source, como OpenTelemetry, SkyWalking, Zipkin ou Jaeger.
A opção OpenTelemetry funciona como um ponto de acesso genérico para envio de dados de rastro usando o padrão OpenTelemetry, sem vínculo com uma linguagem de programação específica.
Para monitoramento não intrusivo, utilize o Application Monitoring for Go. Caso já utilize OpenTelemetry, SkyWalking ou outra solução open source, opte pelo Tracing Analysis for Go ou OpenTelemetry.