Configurar OpenTelemetry para insights sobre aplicativos AEM

Saiba como conectar um ambiente do AEM as a Cloud Service à plataforma de observabilidade compatível do OpenTelemetry de sua escolha.

Em artigos anteriores, você aprendeu sobre os conceitos e benefícios de usar OpenTelemetry com AEM as a Cloud Service. Neste tutorial, usamos o projeto de amostra WKND do AEM como um aplicativo de exemplo e mostramos como exportar a telemetria implantando o config/otel.yaml usando um Pipeline de configuração do Cloud Manager.

As etapas de alto nível são:

  1. Obtenha o ponto de extremidade OTLP/HTTPS e a credencial de assimilação para sua plataforma de observabilidade.
  2. Armazene a credencial com segurança no Cloud Manager.
  3. Adicione o arquivo config/otel.yaml ao repositório de projetos do AEM.
  4. Execute o Pipeline de configuração do Cloud Manager.
  5. Gere tráfego para o aplicativo do AEM.
  6. Verifique a telemetria na plataforma de observabilidade.
AVAILABILITY
Este recurso está em Disponibilidade Limitada. Para usá-lo, solicite acesso enviando um email para aemcs-apm-beta@adobe.com - o Adobe habilita o OpenTelemetry para seus ambientes logo após responder à sua solicitação. Se seu ambiente usa atualmente a integração APM integrada do Adobe, essa integração interromperá o envio de dados quando OpenTelemetry estiver habilitada, já que os dois não poderão ser executados ao mesmo tempo.
Observe que ele não está disponível para ambientes com escopo HIPAA, RDE (Rapid Development Environments) e sandboxes.

Pré-requisitos

Antes de iniciar, verifique se você tem:

  • Um ambiente de desenvolvimento, preparo ou produção AEM as a Cloud Service com o site WKND ou com seu próprio aplicativo implantado. O OpenTelemetry não é compatível com ambientes de escopo HIPAA, programas de sandbox e ambientes de desenvolvimento rápido (RDEs).
  • Acesso ao Cloud Manager com permissão para gerenciar variáveis de ambiente e criar e executar um Pipeline de Configuração.
  • Uma plataforma de observabilidade que aceita OTLP por HTTPS, com um ponto de extremidade e uma credencial de assimilação.
  • Acesso à plataforma de observabilidade para verificar e visualizar a telemetria de entrada do AEM.

Etapa 1: Obter seu endpoint de observabilidade e credencial

Na sua plataforma de observabilidade, localize o ponto de extremidade de assimilação OTLP/HTTPS e crie ou recupere a credencial de assimilação apropriada. Consulte a documentação da plataforma para obter instruções.

Não tem certeza de qual plataforma usar? Consulte Escolher uma plataforma de observação.

Este tutorial usa uma plataforma de observabilidade auto-hospedada que oferece suporte a OTLP em HTTPS e requer um token de autenticação básico.

Etapa 2: armazenar a credencial de observabilidade no Cloud Manager

Armazene a credencial de assimilação como uma variável de ambiente secreta do Cloud Manager.

  1. No Adobe Cloud Manager, selecione seu programa do AEM.
    Selecionar programa AEM no Cloud Manager

  2. Selecione o ambiente de destino e clique em Exibir Detalhes.
    Exibir Detalhes do Ambiente

  3. Na guia Configuração, clique em Adicionar/Atualizar e adicione uma variável de ambiente com estes valores:
    Adicionar variável de ambiente

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    Configuração Valor
    Nome OTEL_CUSTOMER_AUTH
    Valor A credencial de assimilação do provedor. O formato varia de acordo com a plataforma. Consulte as configurações específicas do provedor para obter exemplos.
    Serviço aplicado Tudo
    Tipo Segredo

    Neste exemplo, a plataforma auto-hospedada usa um token de autenticação básico no formato Basic <base64(user:password)>.

  4. Clique em Adicionar e em Salvar para armazenar a variável de ambiente.
    Salvar Variável de Ambiente

O arquivo config/otel.yaml faz referência a este segredo como ${{secrets.OTEL_CUSTOMER_AUTH}}. A credencial nunca deve aparecer no repositório do AEM ou nos logs de pipeline.

Etapa 3: adicionar configuração OpenTelemetry

No repositório de projetos do AEM, crie o arquivo config/otel.yaml. A plataforma auto-hospedada neste tutorial usa a seguinte configuração:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "dev"
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://my-self-hosted-observability.adobe.net"
  authHeaderName: "Authorization"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true
  logs: true

As principais configurações são:

Configuração
Propósito
metadata.envTypes
Tipos de ambiente aos quais a configuração se aplica. Inclua o tipo de ambiente de destino.
enabled
Habilita a exportação de telemetria do cliente quando definida como true.
type
Seleciona a configuração de destino, por exemplo generic para uma plataforma auto-hospedada.
endpoint
URL base OTLP/HTTPS para o destino.
authHeaderName
Cabeçalho HTTP que carrega a credencial, por exemplo Authorization.
authHeaderValue
Referência ao segredo do Cloud Manager, não à própria credencial.
metrics
Habilita a exportação de métricas quando true.
logs
Habilita a exportação de log de aplicativo quando true.

Rastreia a exportação sempre que a integração é habilitada. Métricas e logs são opcionais. Eles exportam somente quando definidos como true.

Por exemplo, consulte a seguinte configuração de amostra WKND:

Configuração de exemplo do WKND

Etapa 4: implantar a configuração OpenTelemetry

  1. Confirme o arquivo config/otel.yaml e envie-o para o repositório e a ramificação que o Pipeline de configuração usa como origem.
  2. No Cloud Manager, crie ou edite o Pipeline de configuração para o ambiente e verifique seus detalhes.
    Detalhes do pipeline de configuração
  3. Selecione o nome do pipeline e clique em Executar.
    Executar Pipeline de Configuração
  4. Monitore a execução do pipeline até que ele seja concluído com sucesso.
    Pipeline de configuração de monitor

O pipeline valida a configuração antes de aplicar as configurações de destino.

Etapa 5: gerar tráfego do AEM

Depois que o pipeline for concluído, gere alguma atividade de aplicativo:

  1. Abra o site da WKND ou seu aplicativo no serviço de publicação do AEM e navegue entre algumas páginas.
  2. Opcionalmente, abra o site da WKND no serviço do Autor para gerar a telemetria do Autor.

Aguarde alguns minutos para que a telemetria chegue à sua plataforma de observabilidade.

Etapa 6: verificar a telemetria na plataforma de observabilidade

Abra sua plataforma de observabilidade e procure a telemetria. As etapas para localizar rastreamentos, métricas e logs variam de acordo com a plataforma. As seguintes capturas de tela são de painéis da plataforma de observabilidade baseada em Grafana.

Encontrar o serviço AEM

Procurar um nome de serviço do AEM semelhante a:

cm-p<program>-e<environment>-aem-publish-<environment-type>

Na plataforma auto-hospedada usada neste tutorial, a telemetria do serviço de Publicação é exibida da seguinte maneira:

Telemetria do serviço de publicação do WKND na plataforma de observação

Inspecionar rastreamentos

Procure extensões de solicitação HTTP de entrada que correspondam às solicitações de sua página WKND. Abra um rastreamento e revise o nome da solicitação, a duração e os intervalos relacionados.

Rastreamento de solicitação WKND na plataforma de observação

Inspecionar métricas

Como a configuração define metrics: true, procure métricas JVM e HTTP como uso de memória, duração da coleta de lixo, contagem de threads e duração da solicitação HTTP.

Métricas de serviço WKND na plataforma de observação

Inspecionar logs

Como os conjuntos de configurações logs: true, verifique se há logs de aplicativo do AEM no seu destino. A integração exporta logs em um limite de severidade com suporte (WARN ou superior), portanto, visitas de página comuns podem não produzir entradas de log nesse nível.

Logs do serviço WKND na plataforma de observação

Resolução de problemas

Se o Pipeline de configuração falhar ou a telemetria não aparecer na sua plataforma de observabilidade, revise os logs do pipeline e verifique o seguinte:

Sintoma
O que verificar
OpenTelemetry não está habilitado para o ambiente
Confirme se o programa do AEM está qualificado para OpenTelemetry e se o recurso está habilitado para o ambiente de destino. Entre em contato com o Suporte da Adobe se for necessário acesso ou habilitação da plataforma.
A configuração parece ser ignorada
Confirme se metadata.envTypes inclui o tipo de ambiente de destino (dev, stage ou prod). Uma incompatibilidade faz com que a configuração seja ignorada sem um erro.
Erro de referência secreta
Confirme se OTEL_CUSTOMER_AUTH existe como uma variável de ambiente secreta do Cloud Manager, com Serviço aplicado definido como Todos. Ela não deve ser uma variável de pipeline.
Falha de autenticação (401 ou 403)
Verifique a credencial e o cabeçalho de autenticação exigidos pelo provedor. Por exemplo, o New Relic exige uma chave de licença de assimilação, não uma chave de API do usuário.
Ponto de extremidade inacessível ou falha na validação de credencial
Verifique o URL do endpoint, a região e a conectividade HTTPS. Endpoints ou destinos privados que exigem um endereço IP de saída estável podem exigir o provisionamento e a ativação da rede avançada.
Conflito do Dynatrace OneAgent
OpenTelemetry não pode ser habilitado enquanto o Dynatrace OneAgent estiver ativo no ambiente. A integração existente deve ser removida antes de configurar OpenTelemetry.
O pipeline é concluído, mas nenhuma telemetria é exibida
Aguarde alguns minutos para que os dados cheguem, gere WKND ou outro tráfego relevante e verifique o status de assimilação do provedor e os filtros service.name.
Nenhum log é exibido
Confirme se logs: true está configurado e se o aplicativo AEM gerou entradas de log no nível AVISO ou superior.
Entradas de log duplicadas
Verifique se a exportação de log OpenTelemetry e o AEM Log Forwarding estão enviando logs para o mesmo destino.
Erro interno do sistema
Tente novamente o pipeline de configuração. Se o erro persistir, entre em contato com o Suporte da Adobe com os detalhes de execução do pipeline.

Se o problema persistir, entre em contato com o Suporte da Adobe e forneça a ID do programa da AEM, a ID do ambiente, a ID de execução do pipeline de configuração, a mensagem de erro exata e os detalhes do provedor de observação. Nunca inclua credenciais de autenticação ou valores secretos.

Para obter exemplos de configuração adicionais e informações de solução de problemas, consulte a documentação do produto OpenTelemetry.

Próximas etapas

Você configurou o OpenTelemetry para o AEM as a Cloud Service e verificou que a telemetria do aplicativo de amostra WKND está disponível na sua plataforma de observabilidade.

Agora você pode usar essa telemetria para investigar solicitações lentas ou com falha, monitorar o desempenho de JVM e HTTP e correlacionar logs de aplicativos com rastreamentos para entender melhor o comportamento do aplicativo AEM.

Para estender a telemetria para a lógica específica do aplicativo, consulte Instrumentação personalizada com OpenTelemetry.

Para explorar opções de configuração adicionais, provedores de observação compatíveis e requisitos de rede, consulte a documentação do produto OpenTelemetry.

Recursos adicionais

recommendation-more-help
experience-manager-learn-help-cloud-service