Logon no AEM as a Cloud Service logging-for-aem-as-a-cloud-service

O AEM as a Cloud Service é uma plataforma na qual os clientes incluem código personalizado para criar experiências exclusivas para sua base de clientes. Com isso em mente, o serviço de registro é uma função crítica para depurar e entender a execução de código em ambientes de desenvolvimento local e de nuvem, especialmente os ambientes de desenvolvimento do AEM as a Cloud Service.

As configurações de registro do AEM as a Cloud Service e os níveis de registro são gerenciados em arquivos de configuração armazenados como parte do projeto AEM no Git e implantados como parte do projeto AEM por meio do Cloud Manager. O logon no AEM as a Cloud Service pode ser dividido em dois conjuntos lógicos:

  • Registro de AEM, que realiza o registro no nível do aplicativo AEM
  • Registro do Apache HTTPD Web Server/Dispatcher, que realiza o registro do servidor Web e do Dispatcher na camada do Publish.
  • O registro em log da CDN, que, como seu nome indica, executa registros em log na CDN. Esse recurso será lançado gradualmente para os clientes no início de setembro.

Registro de AEM aem-logging

O registro no nível do aplicativo AEM é feito por três registros:

  1. Registros Java do AEM, que renderizam instruções de registro Java para o aplicativo AEM.
  2. Logs de solicitação HTTP, que registram informações sobre solicitações HTTP e suas respostas veiculadas pelo AEM
  3. Logs de acesso HTTP, que registram informações resumidas e solicitações HTTP atendidas pelo AEM
NOTE
As solicitações HTTP atendidas pelo cache Dispatcher do nível do Publish ou pela CDN upstream não são refletidas nesses logs.

Registro em Java do AEM aem-java-logging

O AEM as a Cloud Service fornece acesso às instruções de log Java. Os desenvolvedores de aplicativos para AEM devem seguir as práticas recomendadas gerais de registro em Java, registrando as instruções pertinentes sobre a execução do código personalizado, nos seguintes níveis de registro:

Ambiente AEM
Nível de log
Descrição
Disponibilidade da Instrução de Log
Desenvolvimento
DEPURAR
Descreve o que está acontecendo no aplicativo.
Quando o registro DEBUG está ativo, são registradas instruções que fornecem uma imagem clara de quais atividades ocorrem e quaisquer parâmetros-chave que afetam o processamento.
  • Desenvolvimento local
  • Desenvolvimento
Fase
AVISO
Descreve condições que têm o potencial de se tornarem erros.
Quando o registro de AVISO estiver ativo, somente as instruções que indicam condicionais que estão se aproximando da subotimização serão registradas.
  • Desenvolvimento local
  • Desenvolvimento
  • Fase
Produção
ERRO
Descreve as condições que indicam uma falha e que precisam ser resolvidas.
Quando o registro em log de ERRO estiver ativo, somente as instruções indicando falhas serão registradas. As instruções de log de ERROS indicam um problema grave que deve ser resolvido o mais rápido possível.
  • Desenvolvimento local
  • Desenvolvimento
  • Fase
  • Produção

Embora o registro em log do Java seja compatível com vários outros níveis de granularidade de registro, a AEM as a Cloud Service recomenda usar os três níveis descritos acima.

Os níveis de log do AEM são definidos por tipo de ambiente por meio da configuração do OSGi, que por sua vez é comprometida com o Git, e implantada pelo Cloud Manager na AEM as a Cloud Service. Por causa disso, é melhor manter as instruções de registro consistentes e bem conhecidas para tipos de ambiente para garantir que os registros disponíveis via AEM as Cloud Service estejam disponíveis no nível de registro ideal, sem exigir a reimplantação do aplicativo com a configuração atualizada do nível de registro.

Exemplo de Saída de Log

22.06.2020 18:33:30.120 [cm-p12345-e6789-aem-author-86657cbb55-xrnzq] *ERROR* [qtp501076283-1809] io.prometheus.client.dropwizard.DropwizardExports Failed to get value from Gauge
22.06.2020 18:33:30.229 [cm-p12345-e6789-aem-author-86657cbb55-xrnzq] *INFO* [qtp501076283-1805] org.apache.sling.auth.core.impl.SlingAuthenticator getAnonymousResolver: Anonymous access not allowed by configuration - requesting credentials
22.06.2020 18:33:30.370 [cm-p12345-e6789-aem-author-86657cbb55-xrnzq] *INFO* [73.91.59.34 [1592850810364] GET /libs/granite/core/content/login.html HTTP/1.1] org.apache.sling.i18n.impl.JcrResourceBundle Finished loading 0 entries for 'en_US' (basename: <none>) in 4ms
22.06.2020 18:33:30.372 [cm-p12345-e6789-aem-author-86657cbb55-xrnzq] *INFO* [FelixLogListener] org.apache.sling.i18n Service [5126, [java.util.ResourceBundle]] ServiceEvent REGISTERED
22.06.2020 18:33:30.372 [cm-p12345-e6789-aem-author-86657cbb55-xrnzq] *WARN* [73.91.59.34 [1592850810364] GET /libs/granite/core/content/login.html HTTP/1.1] libs.granite.core.components.login.login$jsp j_reason param value 'unknown' cannot be mapped to a valid reason message: ignoring

Formato do Log

Data e hora
29.04.2020 21:50:13.398
ID do nó AEM as a Cloud Service
[cm-p1234-e5678-aem-author-59555cb5b8-q7l9s]
Nível de log
DEPURAR
Thread
qtp2130572036-1472
Classe Java
com.example.approval.workflow.impl.CustomApprovalWorkflow
Mensagem de log
Nenhum aprovador especificado, padronizando para [ grupo de usuários Aprovadores criativos ]

Loggers de configuração configuration-loggers

Os logs Java do AEM são definidos como configuração OSGi e, portanto, têm como alvo ambientes AEM as a Cloud Service específicos usando pastas de modo de execução.

Configure o log Java para pacotes Java personalizados por meio de configurações OSGi para a fábrica do Sling LogManager. Há duas propriedades de configuração compatíveis:

Propriedade de configuração OSGi
Descrição
org.apache.sling.commons.log.names
Os pacotes Java para os quais coletar instruções de log.
org.apache.sling.commons.log.level
O nível de log no qual os pacotes Java devem ser registrados, especificado por org.apache.sling.commons.log.names

A alteração de outras propriedades de configuração OSGi do LogManager pode resultar em problemas de disponibilidade no AEM as a Cloud Service.

A seguir estão exemplos das configurações de log recomendadas (usando o pacote Java de espaço reservado com.example) para os três tipos de ambiente do AEM as a Cloud Service.

Desenvolvimento development

/apps/my-app/config/org.apache.sling.commons.log.LogManager.fatory.config-example.cfg.json

{
    "org.apache.sling.commons.log.names": ["com.example"],
    "org.apache.sling.commons.log.level": "debug"
}

Fase stage

/apps/my-app/config.stage/org.apache.sling.commons.log.LogManager.fatory.config-example.cfg.json

{
    "org.apache.sling.commons.log.names": ["com.example"],
    "org.apache.sling.commons.log.level": "warn"
}

Produção productiomn

/apps/my-app/config.prod/org.apache.sling.commons.log.LogManager.fatory.config-example.cfg.json

{
    "org.apache.sling.commons.log.names": ["com.example"],
    "org.apache.sling.commons.log.level": "error"
}

Registro de solicitação HTTP de AEM aem-http-request-logging

O registro de solicitações HTTP do AEM as a Cloud Service fornece informações sobre as solicitações HTTP feitas ao AEM e suas respostas HTTP em ordem de tempo. Esse log é útil para entender as solicitações HTTP feitas ao AEM e a ordem em que são processadas e respondidas.

A chave para entender esse log é mapear a solicitação HTTP e os pares de resposta por suas IDs, indicadas pelo valor numérico entre parênteses. Muitas vezes, as solicitações e suas respostas correspondentes têm outras solicitações HTTP e respostas interjetadas entre elas no log.

Log de Exemplo

29/Apr/2020:19:14:21 +0000 [137] > POST /conf/global/settings/dam/adminui-extension/metadataprofile/ HTTP/1.1 [cm-p1234-e5678-aem-author-59555cb5b8-q7l9s]
...
29/Apr/2020:19:14:22 +0000 [139] > GET /mnt/overlay/dam/gui/content/processingprofilepage/metadataprofiles/editor.html/conf/global/settings/dam/adminui-extension/metadataprofile/main HTTP/1.1 [cm-p1234-e5678-aem-author-59555cb5b8-q7l9s]
...
29/Apr/2020:19:14:21 +0000 [137] <- 201 text/html 111ms [cm-p1234-e5678-aem-author-59555cb5b8-q7l9s]
...
29/Apr/2020:19:14:22 +0000 [139] <- 200 text/html;charset=utf-8 637ms [cm-p1234-e5678-aem-author-59555cb5b8-q7l9s]

Formato do Log

Data e hora
29/Abr/2020:19:14:21 +0000
ID do par de solicitação/resposta
[137]
Método HTTP
POST
URL
/conf/global/settings/dam/adminui-extension/metadataprofile/
Protocolo
HTTP/1.1
ID do nó AEM as a Cloud Service
[cm-p1234-e5678-aem-author-59555cb5b8-q7l9s]

Configuração do registro configuring-the-log

O log de Solicitação HTTP de AEM não pode ser configurado no AEM as a Cloud Service.

Registro de acesso HTTP do AEM aem-http-access-logging

O registro de acesso HTTP do AEM as Cloud Service mostra solicitações HTTP em ordem de tempo. Cada entrada de log representa a Solicitação HTTP que acessa o AEM.

Esse log é útil para entender rapidamente quais solicitações HTTP estão sendo feitas ao AEM, se elas são bem-sucedidas observando o código de status de resposta HTTP que as acompanha e quanto tempo a solicitação HTTP levou para ser concluída. Esse log também pode ser útil para depurar a atividade de um usuário específico filtrando entradas de log por Usuários.

Exemplo de Saída de Log

cm-p1234-e26813-aem-author-59555cb5b8-8kgr2 - example@adobe.com 30/Apr/2020:17:37:14 +0000  "GET /libs/granite/ui/references/clientlibs/references.lc-5188e85840c529149e6cd29d94e74ad5-lc.min.css HTTP/1.1" 200 1141 "https://author-p10711-e26813.adobeaemcloud.com/mnt/overlay/dam/gui/content/assets/metadataeditor.external.html?item=/content/dam/en/images/example.jpeg&_charset_=utf8" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
cm-p1234-e26813-aem-author-59555cb5b8-8kgr2 - example@adobe.com 30/Apr/2020:17:37:14 +0000  "GET /libs/dam/gui/coral/components/admin/customthumb/clientlibs.lc-60e4443805c37afa0c74b674b141f1df-lc.min.css HTTP/1.1" 200 809 "https://author-p10711-e26813.adobeaemcloud.com/mnt/overlay/dam/gui/content/assets/metadataeditor.external.html?item=/content/dam/en/images/example.jpeg&_charset_=utf8" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
cm-p1234-e26813-aem-author-59555cb5b8-8kgr2 - example@adobe.com 30/Apr/2020:17:37:14 +0000  "GET /libs/dam/gui/coral/components/admin/metadataeditor/clientlibs/metadataeditor.lc-4a2226d8232f8b7ab27d24820b9ddd64-lc.min.js HTTP/1.1" 200 7965 "https://author-p10711-e26813.adobeaemcloud.com/mnt/overlay/dam/gui/content/assets/metadataeditor.external.html?item=/content/dam/en/images/example.jpeg&_charset_=utf8" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
ID do nó AEM as a Cloud Service
cm-p1235-e2644-aem-author-59555cb5b8-8kgr2
Endereço IP do cliente
-
Usuário
myuser@adobe.com
Data e hora
30/abr/2020:17:37:14 +0000
método HTTP
GET
URL
/libs/granite/ui/references/clientlibs/references.lc-5188e85840c529149e6cd29d94e74ad5-lc.min.css
Protocolo
HTTP/1.1
Status de resposta HTTP
200
Tamanho do corpo da resposta em bytes
1141
Referenciador
"https://author-p1234-e4444.adobeaemcloud.com/mnt/overlay/dam/gui/content/assets/metadataeditor.external.html?item=/content/dam/wknd/en/adventures/surf-camp-in-costa-rica/adobestock_266405335.jpeg&_charset_=utf8"
Agente do usuário
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"

Configurar o log de acesso HTTP configuring-the-http-access-log

O log de acesso HTTP não pode ser configurado no AEM as a Cloud Service.

Apache Web Server e registro do Dispatcher apache-web-server-and-dispatcher-logging

O AEM as a Cloud Service fornece três logs para os servidores Web Apache e a camada do dispatcher no Publish:

  • Log de acesso ao servidor Web Apache HTTPD
  • Log de erros do servidor Web Apache HTTPD
  • Log do Dispatcher

Esses logs só estão disponíveis para o nível do Publish.

Esse conjunto de logs fornece insights sobre solicitações HTTP para o nível do AEM as a Cloud Service Publish antes que essas solicitações cheguem ao aplicativo AEM. Isso é importante para entender, pois, idealmente, a maioria das solicitações HTTP para os servidores no nível do Publish é atendida por conteúdo armazenado em cache pelo Apache HTTPD Web Server e pelo AEM Dispatcher, e nunca atinge o próprio aplicativo AEM. Portanto, não há instruções de registro para essas solicitações nos registros Java, de solicitação ou de acesso do AEM.

Log de acesso do servidor Web Apache HTTPD apache-httpd-web-server-access-log

O log de acesso do Apache HTTP Web Server fornece instruções para cada solicitação HTTP que atinge o servidor Web/Dispatcher da camada do Publish. As solicitações atendidas de um CDN upstream não são refletidas nesses logs.

Consulte informações sobre o formato de log de erros na documentação oficial do Apache.

Exemplo de Saída de Log

cm-p1234-e5678-aem-publish-b86c6b466-qpfvp - - 17/Jul/2020:09:14:41 +0000  "GET /etc.clientlibs/wknd/clientlibs/clientlib-site/resources/images/favicons/favicon-32.png HTTP/1.1" 200 715 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0"
cm-p1234-e5678-aem-publish-b86c6b466-qpfvp - - 17/Jul/2020:09:14:41 +0000  "GET /etc.clientlibs/wknd/clientlibs/clientlib-site/resources/images/favicons/favicon-512.png HTTP/1.1" 200 9631 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0"
cm-p1234-e5678-aem-publish-b86c6b466-qpfvp - - 17/Jul/2020:09:14:42 +0000  "GET /etc.clientlibs/wknd/clientlibs/clientlib-site/resources/images/country-flags/US.svg HTTP/1.1" 200 810 "https://publish-p6902-e30226.adobeaemcloud.com/content/wknd/us/en.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0"

Formato do Log

ID de nó do AEM as a Cloud Service
cm-p1234-e26813-aem-publish-5c787687c-lqlxr
Endereço IP do cliente
-
Usuário
-
Data e hora
01/maio/2020:00:09:46 +0000
Método HTTP
GET
URL
/content/example.html
Protocolo
HTTP/1.1
Status da resposta HTTP
200
Tamanho
310
Referenciador
-
Agente do usuário
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/81.0.4044.122 Safari/537.36"

Configurar o log de acesso do servidor Web Apache HTTPD configuring-the-apache-httpd-webs-server-access-log

Este log não pode ser configurado no AEM as a Cloud Service.

Log de erros do servidor Web Apache HTTPD apache-httpd-web-server-error-log

O log de erros do Apache HTTP Web Server fornece instruções para cada erro no servidor Web/Dispatcher da camada do Publish.

Consulte informações sobre o formato de log de erros na documentação oficial do Apache.

Exemplo de Saída de Log

Fri Jul 17 02:19:48.093820 2020 [mpm_worker:notice] [pid 1:tid 140272153361288] [cm-p1234-e30226-aem-publish-b86c6b466-b9427] AH00292: Apache/2.4.43 (Unix) Communique/4.3.4-20200424 mod_qos/11.63 configured -- resuming normal operations
Fri Jul 17 02:19:48.093874 2020 [core:notice] [pid 1:tid 140272153361288] [cm-p1234-e30226-aem-publish-b86c6b466-b9427] AH00094: Command line: 'httpd -d /etc/httpd -f /etc/httpd/conf/httpd.conf -D FOREGROUND -D ENVIRONMENT_PROD'
Fri Jul 17 02:29:34.517189 2020 [mpm_worker:notice] [pid 1:tid 140293638175624] [cm-p1234-e30226-aem-publish-b496f64bf-5vckp] AH00295: caught SIGTERM, shutting down

Formato do Log

Data e hora
sexta-feira, 17 de julho de 2020:16:42.608913 2020
Nível do evento
[mpm_worker:notice]
ID do processo
[pid 1:tid 140715149343624]
Nome do pod
[cm-p1234-e56789-aem-publish-b86c6b466-qpfvp]
Mensagem
AH00094: Linha de comando: 'httpd -d /etc/httpd -f /etc/httpd/conf/httpd.conf -D FOREGROUND -D

Configuração do log de erros do servidor Web Apache HTTPD configuring-the-apache-httpd-web-server-error-log

Os níveis de log mod_rewrite são definidos pela variável REWRITE_LOG_LEVEL no arquivo conf.d/variables/global.var.

Pode ser definido como error, warn, info, debug e trace1 - trace8, com um valor padrão de warn. Para depurar as RewriteRules, é recomendável aumentar o nível de log para trace2. É recomendável depurar regras de regravação usando o Dispatcher SDK. O nível máximo de log para o AEM as a Cloud Service é debug. Portanto, no momento, não é efetivamente possível depurar regras de regravação na nuvem.

Consulte a documentação do módulo mod_rewrite para obter mais informações.

Para definir o nível de log por ambiente, use a ramificação condicional apropriada no arquivo global.var, conforme descrito abaixo:

Define REWRITE_LOG_LEVEL debug

<IfDefine ENVIRONMENT_STAGE>
  ...
  Define REWRITE_LOG_LEVEL warn
  ...
</IfDefine>
<IfDefine ENVIRONMENT_PROD>
  ...
  Define REWRITE_LOG_LEVEL error
  ...
</IfDefine>

Log do Dispatcher dispatcher-log

Exemplo

[17/Jul/2020:23:48:06 +0000] [I] [cm-p12904-e25628-aem-publish-6c5f7c9dbd-mzcvr] "GET /content/wknd/us/en/adventures.html" - 475ms [publishfarm/0] [action miss] "publish-p12904-e25628.adobeaemcloud.com"
[17/Jul/2020:23:48:07 +0000] [I] [cm-p12904-e25628-aem-publish-6c5f7c9dbd-mzcvr] "GET /content/wknd/us/en/adventures/climbing-new-zealand/_jcr_content/root/responsivegrid/carousel/item_1571266094599.coreimg.jpeg/1473680817282/sport-climbing.jpeg" 302 10ms [publishfarm/0] [action none] "publish-p12904-e25628.adobeaemcloud.com"
[17/Jul/2020:23:48:07 +0000] [I] [cm-p12904-e25628-aem-publish-6c5f7c9dbd-mzcvr] "GET /content/wknd/us/en/adventures/ski-touring-mont-blanc/_jcr_content/root/responsivegrid/carousel/item_1571168419252.coreimg.jpeg/1572047288089/adobestock-238230356.jpeg" 302 11ms [publishfarm/0] [action none] "publish-p12904-e25628.adobeaemcloud.com"

Formato do Log

Data e hora
[17/jul/2020:23:48:16 +0000]
Nome do pod
[cm-p12904-e25628-aem-publish-6c5f7c9dbd-mzcvr]
Protocolo
GET
URL
/content/experience-fragments/wknd/language-masters/en/contributors/sofia-sjoeberg/master/_jcr_content/root/responsivegrid/image.coreimg.100.500.jpeg/1572236359031/ayo-ogunseinde-237739.jpeg
Código de status de resposta do Dispatcher
/content/experience-fragments/wknd/language-masters/en/contributors/sofia-sjoeberg/master/_jcr_content/root/responsivegrid/image.coreimg.100.500.jpeg/1572236359031/ayo-ogunseinde-237739.jpeg
Duração
1949 ms
Farm
[publishfarm/0]
Status do cache
[ação ausente]
Host
"publish-p12904-e25628.adobeaemcloud.com"

Configuração do registro de erros do Dispatcher configuring-the-dispatcher-error-log

Os níveis de log do dispatcher são definidos pela variável DISP_LOG_LEVEL no arquivo conf.d/variables/global.var.

Ele pode ser definido como error, warn, info, debug e trace1, com um valor padrão de warn.

Embora o registro do Dispatcher seja compatível com vários outros níveis de granularidade de registro, a AEM as a Cloud Service recomenda usar os níveis descritos abaixo.

Para definir o nível de log por ambiente, use a ramificação condicional apropriada no arquivo global.var, conforme descrito abaixo:

Define DISP_LOG_LEVEL debug

<IfDefine ENVIRONMENT_STAGE>
  ...
  Define DISP_LOG_LEVEL warn
  ...
</IfDefine>
<IfDefine ENVIRONMENT_PROD>
  ...
  Define DISP_LOG_LEVEL error
  ...
</IfDefine>
NOTE
Para ambientes AEM as a Cloud Service, depurar é o nível máximo de detalhamento. O nível de log de rastreamento não é compatível, portanto, evite configurá-lo ao trabalhar em ambientes de nuvem.

Log da CDN cdn-log

O AEM as a Cloud Service fornece acesso a logs CDN, que são úteis para casos de uso, incluindo otimização da taxa de ocorrência do cache. O formato de log CDN não pode ser personalizado e não há conceito de configurá-lo para modos diferentes, como info, warn ou error.

Os logs de CDN serão encaminhados ao Splunk para novas solicitações de tíquete de suporte ao encaminhamento do Splunk. Os clientes que já têm o encaminhamento do Splunk habilitado poderão adicionar logs de CDN no futuro.

Exemplo

{
"timestamp": "2023-05-26T09:20:01+0000",
"ttfb": 19,
"cli_ip": "147.160.230.112",
"cli_country": "CH",
"rid": "974e67f6",
"req_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
"host": "example.com",
"url": "/content/hello.png",
"method": "GET",
"res_ctype": "image/png",
"cache": "PASS",
"status": 200,
"res_age": 0,
"pop": "PAR",
"rules": "match=Enable-SQL-Injection-and-XSS-waf-rules-globally,waf=SQLI,action=blocked"
}

Formato do Log

Os logs CDN são distintos dos outros logs no sentido de que seguem um formato json.

Nome do Campo
Descrição
carimbo de data/hora
A hora em que a solicitação foi iniciada, após o término do TLS
ttfb
Abreviação de Tempo até o Primeiro Byte. O intervalo de tempo entre a solicitação iniciada até o ponto antes do corpo da resposta começar a ser transmitido.
cli_ip
O endereço IP do cliente.
cli_country
Código de país alfa-2 de duas letras ISO 3166-1 para o país do cliente.
grade
O valor do cabeçalho da solicitação usado para identificar exclusivamente a solicitação.
req_ua
O agente do usuário responsável por fazer uma determinada solicitação HTTP.
host
A autoridade à qual a solicitação se destina.
url
O caminho completo, incluindo parâmetros de consulta.
método
Método HTTP enviado pelo cliente, como "GET" ou "POST".
res_ctype
O Content-Type usado para indicar o tipo de mídia original do recurso.
cache
Estado do cache. Os valores possíveis são HIT, MISS ou PASS
status
O código do status HTTP como um valor inteiro.
res_age
A quantidade de tempo (em segundos) que uma resposta foi armazenada em cache (em todos os nós).
pop
Centro de dados do servidor de cache CDN.
regras
Os nomes de quaisquer regras de filtro de tráfego e sinalizadores WAF correspondentes, indicando também se a correspondência resultou em um bloco. Vazio se nenhuma regra for correspondente.

Como acessar logs how-to-access-logs

Ambientes em nuvem cloud-environments

Os logs do AEM as a Cloud Service para serviços em nuvem podem ser acessados baixando pela interface do Cloud Manager ou adaptando logs na linha de comando usando a interface de linha de comando Adobe I/O. Para obter mais informações, consulte a documentação de log do Cloud Manager.

Logs para regiões adicionais do Publish logs-for-additional-publish-regions

Se regiões de publicação adicionais estiverem habilitadas para um ambiente específico, os logs de cada região estarão disponíveis para download no Cloud Manager, conforme mencionado acima.

Os logs do AEM e os logs do Dispatcher para as regiões de publicação adicionais especificarão a região nas primeiras 3 letras após a ID do ambiente, como exemplificado por nld2 na amostra abaixo, que se refere a uma instância de publicação adicional do AEM localizada na Holanda:

cm-p7613-e12700-nld2-aem-publish-bcbb77549-5qmmt 127.0.0.1 - 07/Nov/2023:23:57:11 +0000 "HEAD /libs/granite/security/currentuser.json HTTP/1.1" 200 - "-" "Java/11.0.19"

SDK local local-sdk

O SDK do AEM as a Cloud Service fornece arquivos de log para oferecer suporte ao desenvolvimento local.

Os logs de AEM estão localizados na pasta crx-quickstart/logs, onde os seguintes logs podem ser exibidos:

  • Log Java do AEM: error.log
  • Log de Solicitação HTTP AEM: request.log
  • Log de Acesso HTTP AEM: access.log

Os logs da camada do Apache, incluindo o Dispatcher, estão no contêiner do Docker que contém o Dispatcher. Consulte a documentação do Dispatcher para obter informações sobre como iniciar o Dispatcher.

Para recuperar os logs:

  1. Na linha de comando, digite docker ps para listar seus contêineres

  2. Para fazer logon no contêiner, digite "docker exec -it <container> /bin/sh", onde <container> é a ID do contêiner do Dispatcher da etapa anterior

  3. Navegar até a raiz do cache em /mnt/var/www/html

  4. Os logs estão em /etc/httpd/logs

  5. Inspect os logs: eles podem ser acessados na pasta XYZ, onde os seguintes logs podem ser visualizados:

    • Log de acesso do servidor Web Apache HTTPD - httpd_access.log
    • Logs de erros do servidor Web Apache HTTPD - httpd_error.log
    • Logs do Dispatcher - dispatcher.log

Os logs também são impressos diretamente na saída do terminal. Na maioria das vezes, esses registros devem ser DEBUG, o que pode ser realizado passando o nível de Depuração como um parâmetro ao executar o Docker. Por exemplo:

DISP_LOG_LEVEL=Debug ./bin/docker_run.sh out docker.for.mac.localhost:4503 8080

Depuração da produção e do preparo debugging-production-and-stage

Em circunstâncias excepcionais, os níveis de log precisam ser alterados para registrar em uma granularidade mais fina em ambientes de Preparo ou Produção.

Embora isso seja possível, requer alterações nos níveis de log nos arquivos de configuração no Git, de Aviso e Erro a Depuração, e realizar uma implantação no AEM as a Cloud Service para registrar essas alterações de configuração com os ambientes.

Dependendo do tráfego e da quantidade da instrução de log gravada pela Depuração, isso pode resultar em um impacto adverso no desempenho do ambiente. Portanto, recomenda-se que as alterações nos níveis de depuração de Preparo e Produção sejam:

  • Feito de forma criteriosa e somente quando absolutamente necessário
  • Revertido para os níveis apropriados e reimplantado o mais rápido possível

Logs do Splunk splunk-logs

Os clientes que têm contas do Splunk podem solicitar por meio do tíquete de suporte ao cliente que seus logs do AEM Cloud Service sejam encaminhados para o índice apropriado. Os dados de registro são equivalentes aos disponíveis por meio dos downloads de registro do Cloud Manager, mas os clientes podem achar conveniente usar os recursos de consulta disponíveis no produto Splunk.

A largura de banda da rede associada aos logs enviados ao Splunk é considerada parte do uso de E/S da rede pelo cliente.

Os logs de CDN serão encaminhados ao Splunk para novas solicitações de tíquete de suporte; os clientes que já têm o encaminhamento do Splunk habilitado poderão adicionar logs de CDN no futuro.

Ativando o encaminhamento do Splunk enabling-splunk-forwarding

Na solicitação de suporte, os clientes devem indicar:

  • Endereço do ponto de extremidade HEC do Splunk. Esse endpoint deve ter um certificado SSL válido e estar acessível publicamente.
  • O índice do Splunk
  • A porta do Splunk
  • O token de HEC do Splunk. Consulte esta página para obter mais informações.

As propriedades acima devem ser especificadas para cada combinação relevante de programa/tipo de ambiente. Por exemplo, se um cliente quiser ambientes de desenvolvimento, armazenamento temporário e produção, ele deverá fornecer três conjuntos de informações, conforme indicado abaixo.

NOTE
O encaminhamento do Splunk para ambientes de programas de sandbox não é compatível.
NOTE
O recurso de encaminhamento do Splunk não é possível em um endereço IP de saída dedicado.

Você deve garantir que a solicitação inicial inclua todos os ambientes de desenvolvimento que devem ser ativados, além dos ambientes de preparo/produção. O Splunk deve ter um certificado SSL e ser voltado ao público.

Se qualquer novo ambiente de desenvolvimento criado após a solicitação inicial tiver o encaminhamento do Splunk, mas não o tiver ativado, uma solicitação adicional deverá ser feita.

Observe também que, se os ambientes de desenvolvimento tiverem sido solicitados, é possível que outros ambientes de desenvolvimento que não estejam na solicitação ou até mesmo ambientes de sandbox tenham o encaminhamento do Splunk ativado e compartilhem um índice do Splunk. Os clientes podem usar o campo aem_env_id para distinguir esses ambientes.

Abaixo, você encontrará um exemplo de solicitação de suporte ao cliente:

Programa 123, Ambiente de produção

  • Endereço do ponto de extremidade HEC do Splunk: splunk-hec-ext.acme.com
  • Índice do Splunk: acme_123prod (o cliente pode escolher a convenção de nomenclatura desejada)
  • Porta do Splunk: 443
  • Token HEC do Splunk: ABC123

Programa 123, Ambiente de preparo

  • Endereço do ponto de extremidade HEC do Splunk: splunk-hec-ext.acme.com
  • Índice Splunk: acme_123stage
  • Porta do Splunk: 443
  • Token HEC do Splunk: ABC123

Programa 123, Envs. Desenvolvimento

  • Endereço do ponto de extremidade HEC do Splunk: splunk-hec-ext.acme.com
  • Índice Splunk: acme_123dev
  • Porta do Splunk: 443
  • Token HEC do Splunk: ABC123

Pode ser suficiente que o mesmo índice do Splunk seja usado para cada ambiente, nesse caso, o campo aem_env_type pode ser usado para fazer a diferenciação com base nos valores dev, stage e prod. Se houver vários ambientes dev, o campo aem_env_id também poderá ser usado. Algumas organizações podem escolher um índice separado para os logs do ambiente de produção se o índice associado limitar o acesso a um conjunto reduzido de usuários do Splunk.

Este é um exemplo de entrada de log:

aem_env_id: 1242
aem_env_type: dev
aem_program_id: 12314
aem_tier: author
file_path: /var/log/aem/error.log
host: 172.34.200.12
level: INFO
msg: [FelixLogListener] com.adobe.granite.repository Service [5091, [org.apache.jackrabbit.oak.api.jmx.SessionMBean]] ServiceEvent REGISTERED
orig_time: 16.07.2020 08:35:32.346
pod_name: aemloggingall-aem-author-77797d55d4-74zvt
splunk_customer: true
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab