O Painel de Operações no AEM 6 ajuda os operadores do sistema a monitorar AEM integridade do sistema imediatamente. Ele também fornece informações de diagnóstico geradas automaticamente sobre aspectos relevantes do AEM e permite configurar e executar automação de manutenção independente para reduzir significativamente as operações do projeto e os casos de suporte. O Painel de Operações pode ser estendido com verificações de integridade personalizadas e tarefas de manutenção. Além disso, os dados do Painel de operações podem ser acessados a partir de ferramentas de monitoramento externas via JMX.
O Painel de Operações:
Ele pode ser acessado indo até Tools - Operations da tela de boas-vindas AEM.
Para poder acessar o Painel de Operações, o usuário conectado deve fazer parte do grupo de usuários "Operadores". Para obter mais informações, consulte a documentação sobre Administração de usuário, grupo e direito de acesso.
O sistema de Relatório de Integridade fornece informações sobre a integridade de uma instância de AEM por meio de Sling Health Checks. Isso pode ser feito por meio de solicitações OSGI, JMX, HTTP (via JSON) ou pela interface de toque. Ele oferece medidas e o limite de determinados contadores configuráveis e, em alguns casos, oferecerá informações sobre como resolver o problema.
Ela tem vários recursos, descritos abaixo.
Os Relatórios de integridade são um sistema de cartões que indica integridade boa ou ruim em relação a uma área específica do produto. Esses cartões são visualizações das Verificações de integridade do Sling, que agregam dados do JMX e de outras fontes e expõem as informações processadas novamente como MBeans. Esses MBeans também podem ser inspecionados no JMX web console, no domínio org.apache.sling.health check.
A interface dos Relatórios de integridade pode ser acessada por meio do menu Ferramentas - Operações - Relatórios de integridade na tela de Boas-vindas AEM ou diretamente através do seguinte URL:
https://<serveraddress>:port/libs/granite/operations/content/healthreports/healthreportlist.html
O sistema de cartões expõe três estados possíveis: OK, AVISO e CRÍTICO. Os estados são resultado de regras e limites, que podem ser configurados ao passar o mouse sobre o cartão e clicar no ícone de engrenagem na barra de ação:
Existem dois tipos de controlos sanitários no AEM 6:
Um Verificação de integridade individual é uma única verificação de integridade que corresponde a um cartão de status. As Verificações de Integridade Individual podem ser configuradas com regras ou limites e podem fornecer uma ou mais dicas e links para resolver problemas de integridade identificados. Vamos considerar a verificação "Erros de registro" como um exemplo: se houver entradas ERROR nos logs da instância, você as encontrará na página de detalhes da verificação de integridade. Na parte superior da página, você verá um link para o analisador de "Mensagem de log" na seção Ferramentas de diagnóstico, que permitirá que você analise esses erros com mais detalhes e reconfigure os registradores.
Um Composite Health Check é uma verificação que agrega informações de várias verificações individuais.
As verificações de integridade composta são configuradas com o auxílio de tags de filtro. Em essência, todas as verificações únicas que têm a mesma tag de filtro serão agrupadas como uma verificação de integridade composta. Uma Verificação de integridade composta terá um status OK somente se todas as verificações únicas que ela agregar tiverem status OK também.
No Painel de Operações, é possível visualizar o resultado de Verificações de Integridade individuais e compostas.
A criação de uma Verificação de Integridade individual envolve duas etapas: implementando uma Verificação de Integridade do Sling e adicionando uma entrada para a Verificação de Integridade nos nós de configuração do Dashboard.
Para criar uma Verificação de Integridade do Sling, é necessário criar um componente OSGI implementando a interface do Sling HealthCheck. Você adicionará esse componente dentro de um pacote. As propriedades do componente identificarão totalmente a Verificação de integridade. Quando o componente estiver instalado, um MBean JMX será criado automaticamente para a verificação de integridade. Consulte a Documentação da Verificação de Integridade do Sling para obter mais informações.
Exemplo de um componente de Verificação de integridade do Sling, gravado com anotações do componente de serviço OSGI:
@Component(service = HealthCheck.class,
property = {
HealthCheck.NAME + "=Example Check",
HealthCheck.TAGS + "=example",
HealthCheck.TAGS + "=test",
HealthCheck.MBEAN_NAME + "=exampleHealthCheckMBean"
})
public class ExampleHealthCheck implements HealthCheck {
@Override
public Result execute() {
// health check code
}
}
A propriedade MBEAN_NAME
define o nome do bean que será gerado para essa verificação de integridade.
Depois de criar uma Verificação de integridade, um novo nó de configuração precisa ser criado para torná-lo acessível na interface do Painel de operações. Para esta etapa, é necessário saber o nome do Bean JMX da Verificação de Integridade (a propriedade MBEAN_NAME
). Para criar uma configuração para a Verificação de integridade, abra o CRXDE e adicione um novo nó (do tipo nt:unstructured) no seguinte caminho: /apps/settings/granite/operations/hc
As seguintes propriedades devem ser definidas no novo nó:
Nome: sling:resourceType
String
granite/operations/components/mbean
Nome: resource
String
/system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/exampleHealthCheck
O caminho do recurso acima é criado da seguinte maneira: se o nome do bean da sua verificação de integridade for "teste", adicione "teste" ao final do caminho /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck
Assim, o caminho final será:
/system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/test
Certifique-se de que o caminho /apps/settings/granite/operations/hc
tenha as seguintes propriedades definidas como true:
sling:configCollectionInherit
sling:configPropertyInherit
Isso instruirá o gerenciador de configuração a mesclar as novas configurações com as existentes de /libs
.
A função de uma verificação de integridade composta é agregar várias verificações de integridade individuais que compartilham um conjunto de recursos comuns. Por exemplo, a Verificação de Integridade Composta de Segurança agrupa todas as verificações de integridade individuais que realizam verificações relacionadas com a segurança. A primeira etapa para criar uma verificação composta é adicionar uma nova configuração OSGI. Para ser exibido no Painel de operações, um novo nó de configuração precisa ser adicionado, da mesma forma que fizemos para uma verificação simples.
Vá para o Web Configuration Manager no console OSGI. Você pode fazer isso acessando https://serveraddress:port/system/console/configMgr
Procure a entrada chamada Apache Sling Composite Health Check. Depois de encontrá-lo, observe que há duas configurações já disponíveis: um para as verificações do sistema e outro para as verificações de segurança.
Crie uma nova configuração pressionando o botão "+" no lado direito da configuração. Uma nova janela será exibida, conforme mostrado abaixo:
Crie uma configuração e salve-a. Um Mbean será criado com a nova configuração.
A finalidade de cada propriedade de configuração é a seguinte:
hc.tags
).Um novo Mbean JMX é criado para cada nova configuração da Verificação de integridade composta do Apache Sling.**
Finalmente, a entrada da verificação de integridade composta que acabou de ser criada precisa ser adicionada nos nós de configuração do Painel de Operações . O procedimento para o efeito é o mesmo que para os controlos sanitários individuais: um nó do tipo nt:unstructured precisa ser criado em /apps/settings/granite/operations/hc
. A propriedade resource do nó será definida pelo valor hc.average.name na configuração OSGI.
Se, por exemplo, você criou uma configuração e definiu o valor hc.mbean.name para diskusage, os nós de configuração terão esta aparência:
Nome: Composite Health Check
nt:unstructured
Com as seguintes propriedades:
Nome: sling:resourceType
String
granite/operations/components/mbean
Nome: resource
String
/system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/diskusage
Se você criar verificações de integridade individuais que logicamente pertencem a uma verificação composta que já está presente no Painel por padrão, elas serão automaticamente capturadas e agrupadas na respectiva verificação composta. Por causa disso, não há necessidade de criar um novo nó de configuração para essas verificações.
Por exemplo, se você criar uma verificação de integridade de segurança individual, tudo o que precisa fazer é atribuir a ela a tag "security" e ela estiver instalada, ela aparecerá automaticamente sob a verificação composta de Verificações de Segurança no Painel de Operações.
Nome da verificação de integridade | Descrição |
Desempenho da consulta | Essa verificação de integridade foi simplificada no AEM 6.4 e agora verifica o MBean O MBean para esta verificação de integridade é org.apache.sling.health check:name=queriesStatus,type=HealthCheck. |
Comprimento da fila de observação | O Comprimento da Fila de Observação repete todos os Ouvintes de Eventos e Observadores em Segundo Plano, compara seu
O comprimento máximo de cada fila provém de configurações separadas (Oak e AEM) e não é configurável a partir dessa verificação de integridade. O MBean para esta verificação de integridade é org.apache.sling.health check:name=ObservationQueueLengthHealthCheck,type=HealthCheck. |
Limites de cruzamento da consulta | Limites de passagem de consulta verifica o MBean
O Mbean para esta verificação de integridade é org.apache.sling.health check:name=queryTraversalLimitsBundle,type=HealthCheck. |
Relógios sincronizados | Essa verificação é relevante somente para grupos de nó do documento. Ele retorna o seguinte status:
O Mbean para esta verificação de integridade é org.apache.sling.health check:name=slingDiscoveryOakSynchronizedClocks,type=HealthCheck. |
Índices assíncronos | A verificação de Índices Assíncronos:
Os limites de status Crítico e Aviso podem ser configurados. O Mbean para esta verificação de integridade é org.apache.sling.health check:name=asyncIndexHealthCheck,type=HealthCheck. Observação: Esta verificação de integridade está disponível com o AEM 6.4 e foi transferida para o AEM 6.3.0.1. |
Índices Lucene grandes | Essa verificação usa os dados expostos pelo MBean
Os limites são configuráveis e o MBean para a verificação de integridade é org.apache.sling.health check:name=largeIndexHealthCheck,type=HealthCheck. Observação: Essa verificação está disponível com o AEM 6.4 e foi transferida para o AEM 6.3.2.0. |
Manutenção do sistema | System Maintenance (Manutenção do sistema) é uma verificação composta que retorna o OK se todas as tarefas de manutenção estiverem sendo executadas como configuradas. Lembre-se:
O MBean para esta verificação de integridade é org.apache.sling.health check:name=systemcontrols,type=HealthCheck. |
Fila de replicação | Essa verificação repete os agentes de replicação e observa suas filas. Para o item na parte superior da fila, a verificação verifica quantas vezes o agente tentou novamente a replicação. Se o agente tiver tentado novamente a replicação além do valor do parâmetro O MBean para esta verificação de integridade é org.apache.sling.health check:name=replicationQueue,type=HealthCheck. |
Tarefas de arremesso |
O Sling Jobs verifica o número de tarefas enfileiradas no JobManager, o compara ao
maxNumQueueJobs limite e:
Somente o parâmetro de número máximo de trabalhos em fila é configurável e tem o valor padrão de 1000. O MBean para esta verificação de integridade é org.apache.sling.health check:name=slingJobs,type=HealthCheck. |
Desempenho da solicitação | Essa verificação observa a métrica
O MBean para esta verificação de integridade é org.apache.sling.health check:name=requestsStatus,type=HealthCheck. |
Erros de log | Essa verificação retorna o status Warn se houver erros no log. O MBean para esta verificação de integridade é org.apache.sling.health check:name=logErrorHealthCheck,type=HealthCheck. |
Espaço em disco | A verificação de Espaço em Disco observa o MBean
Ambos os limites são configuráveis. A verificação só funciona em instâncias com uma Loja de segmentos. O MBean para esta verificação de integridade é org.apache.sling.health check:name=DiskSpaceHealthCheck,type=HealthCheck. |
Verificação de integridade do assistente de agendamento | Essa verificação retornará um aviso se a instância tiver trabalhos do Quartz em execução por mais de 60 segundos. O limite de duração aceitável é configurável. O MBean para esta verificação de integridade é org.apache.sling.health check:name=slingCommonsSchedulerHealthCheck,type=HealthCheck. |
Verificações de segurança | A verificação de segurança é um composto que agrega os resultados de várias verificações relacionadas à segurança. Essas verificações de integridade individuais abordam diferentes preocupações da lista de verificação de segurança disponível na página Documentação da lista de verificação de segurança. A verificação é útil como um teste de segurança de fumaça quando a instância é iniciada. O MBean para esta verificação de integridade é org.apache.sling.health check:name=securityCheckestype=HealthCheck |
Grupos ativos | Os Pacotes Ativos verificam o estado de todos os pacotes e:
O parâmetro ignore list pode ser configurado. O MBean para esta verificação de integridade é org.apache.sling.health check:name=inativeBundles,type=HealthCheck. |
Verificação do Cache de Código | Esta é uma Verificação de integridade que verifica várias condições da JVM que podem acionar um bug do CodeCache presente no Java 7:
O limite O MBean para esta verificação de integridade é org.apache.sling.health check:name=codeCacheHealthCheck,type=HealthCheck. |
Recurso Buscar erros de caminho | Verifica se há recursos no caminho
O MBean para esta verificação de integridade é org.apache.sling.health check:name=resourceSearchPathErrorHealthCheck,type=HealthCheck. |
O Painel de verificação de integridade pode se integrar ao Nagios por meio do Granite JMX Mbeans. O exemplo abaixo ilustra como adicionar uma verificação que mostra a memória usada no servidor que está executando o AEM.
Configure e instale o Nagios no servidor de monitoramento.
Em seguida, instale o NRPE (Executor de Plug-in Remoto do Nagios).
Para obter mais informações sobre como instalar Nagios e NRPE em seu sistema, consulte a Documentação do Nagios.
Adicione uma definição de host para o servidor AEM. Isso pode ser feito por meio da Interface Web Nagios XI, usando o Gerenciador de configuração:
Veja abaixo um exemplo de um arquivo de configuração de host, caso você esteja usando o Nagios Core:
define host {
address 192.168.0.5
max_check_attempts 3
check_period 24x7
check-command check-host-alive
contacts admin
notification_interval 60
notification_period 24x7
}
Instale o Nagios e o NRPE no servidor AEM.
Instale o plug-in check_http_json em ambos os servidores.
Defina um comando genérico de verificação JSON em ambos os servidores:
define command{
command_name check_http_json-int
command_line /usr/lib/nagios/plugins/check_http_json --user "$ARG1$" --pass "$ARG2$" -u 'https://$HOSTNAME$:$ARG3$/$ARG4$' -e '$ARG5$' -w '$ARG6$' -c '$ARG7$'
}
Adicione um serviço para memória usada no servidor AEM:
define service {
use generic-service
host_name my.remote.host
service_description AEM Author Used Memory
check_command check_http_json-int!<cq-user>!<cq-password>!<cq-port>!system/sling/monitoring/mbeans/java/lang/Memory.infinity.json!{noname}.mbean:attributes.HeapMemoryUsage.mbean:attributes.used.mbean:value!<warn-threshold-in-bytes>!<critical-threshold-in-bytes>
}
Verifique o painel Nagios quanto ao serviço recém-criado:
O Painel de Operações também fornece acesso às Ferramentas de Diagnóstico, que podem ajudar a encontrar e solucionar problemas de causas raiz dos avisos provenientes do Painel de Verificação de Integridade, além de fornecer informações importantes de depuração para operadores do sistema.
Entre as suas características mais importantes estão:
Você pode acessar a tela Ferramentas de diagnóstico acessando Ferramentas - Operações - Diagnóstico na tela de boas-vindas AEM. Você também pode acessar a tela acessando diretamente o seguinte URL: https://serveraddress:port/libs/granite/operations/content/diagnosis.html
Por padrão, a Interface do usuário das mensagens de log exibirá todas as mensagens de ERRO. Se desejar que mais mensagens de log sejam exibidas, será necessário configurar um agente de log com o nível de log apropriado.
As mensagens de log usam um appender no log de memória e, portanto, não estão relacionadas aos arquivos de log. Outra consequência é que alterar os níveis de log nessa interface não alterará as informações que são registradas nos arquivos de log tradicionais. Adicionar e remover loggers nesta interface do usuário afetará somente o logger da memória. Além disso, observe que a alteração das configurações do agente de log será refletida no futuro do agente de log da memória - as entradas que já estão registradas e não são mais relevantes não são excluídas, mas entradas semelhantes não serão registradas no futuro.
Você pode configurar o que é registrado fornecendo configurações de logger do botão de engrenagem superior esquerdo na interface do usuário. Lá, você pode adicionar, remover ou atualizar configurações do agente de log. Uma configuração de agente de log é composta por um log level (AVISO / INFO / DEBUG) e um filter name. O nome do filtro tem a função de filtrar a origem das mensagens de log que são registradas. Como alternativa, se um agente de log deve capturar todas as mensagens de log do nível especificado, o nome do filtro deve ser "root". Definir o nível de um agente de log acionará a captura de todas as mensagens com um nível igual ou superior ao especificado.
Exemplos:
Se você planeja capturar todas as mensagens ERROR - nenhuma configuração é necessária. Todas as mensagens de ERRO são capturadas por padrão.
Se você planeja capturar todas as mensagens ERROR, AVISO e INFO - o nome do logger deve ser definido como: "root" e o nível do agente de log para: INFO.
Se você planeja capturar todas as mensagens provenientes de um determinado pacote (por exemplo, com.adobe.granite), o nome do logger deve ser definido como: "com.adobe.granite" e o nível do agente de log para: DEBUG (isso capturará todas as mensagens ERROR, AVISO, INFO e DEBUG), conforme mostrado na imagem abaixo.
Não é possível definir um nome de agente de log para capturar apenas mensagens ERROR por meio de um filtro especificado. Por padrão, todas as mensagens de ERRO são capturadas.
A interface do usuário das mensagens de log não reflete o log de erros real. A menos que esteja configurando outros tipos de mensagens de log na interface do usuário, você verá apenas mensagens de ERRO. Para saber como exibir mensagens de log específicas, consulte as instruções acima.
As configurações na página de diagnóstico não influenciam o que está registrado nos arquivos de log e vice-versa. Portanto, embora o log de erros possa capturar mensagens INFO, talvez você não as veja na interface do usuário de mensagens de log. Além disso, por meio da interface do usuário, é possível capturar mensagens DEBUG de determinados pacotes sem afetar o log de erros. Para obter mais informações sobre como configurar os arquivos de log, consulte Registro.
Com o AEM 6.4, as tarefas de manutenção são desconectadas da caixa em um formato mais avançado de informações no nível INFO. Isso permite uma melhor visibilidade do estado das tarefas de manutenção.
Caso esteja usando ferramentas de terceiros (como o Splunk) para monitorar e reagir à atividade de tarefa de manutenção, você pode usar as seguintes instruções de log:
Log level: INFO
DATE+TIME [MaintanceLogger] Name=<MT_NAME>, Status=<MT_STATUS>, Time=<MT_TIME>, Error=<MT_ERROR>, Details=<MT_DETAILS>
A página Desempenho da solicitação permite a análise das solicitações de página mais lentas processadas. Somente solicitações de conteúdo serão registradas nesta página. Mais especificamente, as seguintes solicitações serão capturadas:
/content
/etc/design
".html"
A página é exibida:
Por padrão, as 20 solicitações de página mais lentas são capturadas, mas o limite pode ser modificado no Configuration Manager.
A página Desempenho da Consulta permite a análise das consultas mais lentas realizadas pelo sistema. Essas informações são fornecidas pelo repositório em um Mbean JMX. No Jackrabbit, o com.adobe.granite.QueryStat
Mbean JMX fornece essas informações, enquanto no repositório Oak, ele é oferecido por org.apache.jackrabbit.oak.QueryStats.
A página é exibida:
Para qualquer query, o Oak tenta descobrir a melhor maneira de executar com base nos índices do Oak definidos no repositório no nó oak:index. Dependendo da query, índices diferentes podem ser escolhidos pelo Oak. Entender como o Oak está executando um query é a primeira etapa para otimizar o query.
O Explain Query é uma ferramenta que explica como o Oak está executando um query. Ele pode ser acessado indo até Tools - Operations - Diagnosis da Tela de boas-vindas AEM, clicando em Query Performance e alternando para a guia Explain Query.
Recursos
Quando estiver na interface do usuário do Explain Query, tudo o que você precisa fazer para usá-la é inserir a consulta e pressionar o botão Explicar:
A primeira entrada na seção Explicação da Consulta é a explicação real. A explicação mostrará o tipo de índice usado para executar a query.
A segunda entrada é o plano de execução.
Marcar a caixa Include execution time antes de executar a query também mostrará a quantidade de tempo em que a query foi executada, permitindo mais informações que podem ser usadas para otimizar os índices para seu aplicativo ou implantação.
A finalidade do Gerenciador de índice é facilitar o gerenciamento do índice, como manter índices ou visualizar seu status.
Ele pode ser acessado indo até Ferramentas - Operações - Diagnóstico na tela de boas-vindas e clicando no botão Gerenciador de índice.
Ele também pode ser acessado diretamente neste URL: https://serveraddress:port/libs/granite/operations/content/diagnosistools/indexManager.html
A interface do usuário pode ser usada para filtrar índices na tabela, digitando os critérios de filtro na caixa de pesquisa no canto superior esquerdo da tela.
Isso acionará o download de um zip contendo informações úteis sobre o status e a configuração do sistema. O arquivo contém configurações de instância, uma lista de pacotes, OSGI, métricas e estatísticas de Sling e isso pode resultar em um arquivo grande. Você pode reduzir o impacto de arquivos de status grandes usando a janela Baixar ZIP de status i. A janela pode ser acessada de: AEM > Ferramentas > Operações > Diagnóstico > Baixar ZIP de Status.
Nessa janela, você pode selecionar o que exportar (arquivos de log e/ou despejos de thread) e o número de dias de logs incluídos no download em relação à data atual.
Isso acionará o download de um zip contendo informações sobre os threads presentes no sistema. Informações sobre cada thread são fornecidas, como seu status, o carregador de classe e o rastreamento de pilha.
Você também pode baixar um instantâneo do heap para analisá-lo posteriormente. Observe que isso acionará o download de um arquivo grande, da ordem de centenas de megabytes.
A página Tarefas de manutenção automatizada é um local onde você pode visualizar e rastrear tarefas de manutenção recomendadas programadas para execução periódica. As tarefas são integradas ao sistema de verificação de integridade. As tarefas também podem ser executadas manualmente na interface.
Para chegar à página Manutenção no Painel de Operações, é necessário acessar Ferramentas - Operações - Painel - Manutenção na tela de Boas-vindas AEM ou seguir diretamente este link:
https://serveraddress:port/libs/granite/operations/content/maintenance.html
As seguintes tarefas estão disponíveis no Painel de Operações:
A tarefa Revisão de limpeza localizada no menu Janela de manutenção diária.
A tarefa Limpeza de binários do Lucene , localizada no menu Janela de manutenção diária.
A tarefa Workflow purge , localizada no menu Weekly Maintenance Window.
A tarefa Coleta de lixo do armazenamento de dados, localizada no menu Janela de manutenção semanal.
A tarefa Audit Log Maintenance, localizada no menu Weekly Maintenance Window.
A tarefa Version Purge Maintenance, localizada no menu Weekly Maintenance Window.
O tempo padrão para a janela de manutenção diária é de 2 a 5 horas. As tarefas configuradas para serem executadas na janela de manutenção semanal serão executadas entre 1 e 2 AM aos sábados.
Você também pode configurar os tempos pressionando o ícone de engrenagem em qualquer uma das duas placas de manutenção:
Desde o AEM 6.1, as janelas de manutenção existentes também podem ser configuradas para serem executadas mensalmente.
Para obter mais informações sobre como executar a Revisão de limpeza para AEM 6.4, consulte este artigo dedicado.
Ao usar a tarefa Limpeza de binários do Lucene, é possível limpar binários do lucene e reduzir o requisito de tamanho do armazenamento de dados em execução. Isso ocorre porque a taxa de churn binário do lucene será recuperada diariamente em vez da dependência anterior em uma coleta de lixo do armazenamento de dados bem-sucedida.
Embora a tarefa de manutenção tenha sido desenvolvida para reduzir o lixo de revisão relacionado ao Lucene, há ganhos gerais de eficiência ao executar a tarefa:
Você pode acessar a tarefa Limpeza de binários Lucene a partir de: AEM > Ferramentas > Operações > Manutenção > Janela de manutenção diária > Limpeza de binários do Lucene.
Para obter detalhes sobre a Coleta de lixo do armazenamento de dados, consulte a página de documentação dedicada a1/>.
Os fluxos de trabalho também podem ser removidos do Painel de manutenção. Para executar a tarefa Expurgação de Fluxo de Trabalho, é necessário:
Para obter informações mais detalhadas sobre a Manutenção do fluxo de trabalho, consulte esta página.
Para a Manutenção do Log de Auditoria, consulte a página de documentação separada.
Você pode agendar a tarefa de manutenção da limpeza de versão para excluir automaticamente as versões antigas. Como resultado, isso minimiza a necessidade de usar manualmente as ferramentas de limpeza de versão. Você pode agendar e configurar a tarefa de limpeza de versão acessando Ferramentas > Operações > Manutenção > Janela de manutenção semanal e seguindo estas etapas:
Clique no botão Adicionar.
Escolha Limpeza de versão no menu suspenso.
Para configurar a tarefa Limpeza de versão, clique no ícone engrenagens no cartão de manutenção da Limpeza de versão recém-criado.
Com o AEM 6.4, você pode interromper a tarefa de manutenção da limpeza de versão da seguinte maneira:
Parar a tarefa de manutenção significa suspender sua execução sem perder o controle da tarefa já em andamento.
Para otimizar o tamanho do repositório, você deve executar a tarefa de limpeza de versão com frequência. A tarefa deve ser agendada fora do horário comercial, quando houver uma quantidade limitada de tráfego.
As tarefas de manutenção personalizadas podem ser implementadas como serviços OSGi. Como a infraestrutura da tarefa de manutenção se baseia na manipulação de tarefas do Apache Sling, uma tarefa de manutenção deve implementar a interface java [org.apache.sling.event.jobs.consumer.JobExecutor](https://sling.apache.org/apidocs/sling7/org/apache/sling/event/jobs/consumer/JobExecutor.html)
. Além disso, deve declarar várias propriedades de registro de serviço a serem detectadas como uma tarefa de manutenção, conforme listado abaixo:
Nome da Propriedade do Serviço |
Descrição | Exemplo |
Tipo |
granite.maintenance.isStoppable | Atributo booleano que define se a tarefa pode ser interrompida pelo usuário. Se uma tarefa declarar que é parável, ela deverá verificar, durante sua execução, se foi interrompida e agir de acordo. O padrão é false. | verdadeiro | Opcional |
granite.maintenance.mandatory | Atributo booleano que define se uma tarefa é obrigatória e deve ser executada periodicamente. Se uma tarefa for obrigatória, mas não estiver em nenhuma janela de programação ativa, uma Verificação de integridade relatará isso como um erro. O padrão é false. | verdadeiro | Opcional |
granite.maintenance.name | Um nome exclusivo para a tarefa - é usado para fazer referência à tarefa. Geralmente é um nome simples. | MyMaintenanceTask | Obrigatório |
granite.maintenance.title | Um título exibido para esta tarefa | Minha Tarefa de Manutenção Especial | Obrigatório |
job.topics | Este é um tópico exclusivo da tarefa de manutenção. A manipulação do trabalho do Apache Sling iniciará um trabalho com exatamente este tópico para executar a tarefa de manutenção e, à medida que a tarefa for registrada para este tópico, ele será executado. O tópico deve começar com com/adobe/granite/maintenance/job/ |
com/adobe/granite/maintenance/job/MyMaintenanceTask | Obrigatório |
Além das propriedades do serviço acima, o método process()
da interface JobConsumer
precisa ser implementado adicionando o código que deve ser executado para a tarefa de manutenção. O JobExecutionContext
fornecido pode ser usado para gerar informações de status, verificar se o trabalho foi interrompido pelo usuário e criar um resultado (sucesso ou falha).
Para situações em que uma tarefa de manutenção não deve ser executada em todas as instalações (por exemplo, executar somente na instância de publicação), é possível fazer com que o serviço exija uma configuração para estar ativo, adicionando @Component(policy=ConfigurationPolicy.REQUIRE)
. Em seguida, você pode marcar a configuração de acordo como sendo o modo de execução dependente no repositório. Para obter mais informações, consulte Configuração do OSGi.
Veja abaixo um exemplo de uma tarefa de manutenção personalizada que exclui arquivos de um diretório temporário configurável que foi modificado nas últimas 24 horas:
src/main/java/com/adobe/granite/samples/maintenance/impl/DeleteTempFilesTask.java
|
experiencemanager-java-maintenance-ask-sample - src/main/java/com/adobe/granite/samples/maintenance/impl/DeleteTempFilesTask.java
Depois que o serviço for implantado, ele será exposto à interface do usuário do Painel de Operações e poderá ser adicionado a um dos cronogramas de manutenção disponíveis:
Isso adicionará um recurso correspondente em /apps/granite/operations/config/maintenance/schedule
/taskname
. Se a tarefa for dependente do modo de execução, a propriedade granite.operations.conditions.runmode precisará ser definida nesse nó com os valores dos runmodes que precisam estar ativos para esta tarefa de manutenção.
O Painel de visão geral do sistema exibe uma visão geral de alto nível da configuração, do hardware e da integridade da instância de AEM. Isso significa que o status de integridade do sistema é transparente e todas as informações são agregadas em um único painel.
Você também pode assistir a este vídeo para obter uma introdução ao Painel de visão geral do sistema.
Para acessar o Painel Visão geral do sistema, navegue até Ferramentas > Operações > Visão geral do sistema.
A tabela abaixo descreve todas as informações exibidas no Painel de visão geral do sistema. Lembre-se de que quando não houver informações relevantes para mostrar (por exemplo, o backup não está em andamento, não há verificações de integridade críticas) a respectiva seção exibirá a mensagem "Nenhuma entrada".
Você também pode baixar um arquivo JSON
resumindo as informações do painel clicando no botão Download no canto superior direito do painel. O endpoint JSON
é /libs/granite/operations/content/systemoverview/export.json
e ele pode ser usado em um script curl
para monitoramento externo.
Seção | Quais informações são exibidas | Quando é crítico | Links para |
Verificações de integridade |
|
Indicado visualmente:
|
|
Tarefas de manutenção |
|
Indicado visualmente:
|
|
Sistema |
|
N/A | N/D |
Instância |
|
N/D | N/D |
Repositório |
|
N/D | N/D |
Agentes de distribuição |
|
Indicado visualmente:
|
Página de distribuição |
Agentes de replicação |
|
Indicado visualmente:
|
Página Replicação |
Fluxos de trabalhos |
Para cada um dos status apresentados acima, é realizada uma query com um limite de 400 milissegundos. Em 400 milissegundos, o número de entradas obtidas até esse ponto é exibido. |
Não interpretado:
|
Página Falhas do fluxo de trabalho |
Tarefas de arremesso | Contagens de tarefas Sling - número de tarefas em um determinado status (se houver):
|
Não interpretado:
|
N/D |
Contagens estimadas de nós | Número estimado de:
O número total de nós é obtido a partir do nodeCounterMBean, enquanto o resto das estatísticas são obtidas a partir de IndexInfoService. |
N/D | N/D |
Backup | Exibe "Backup online em andamento", se for o caso. | N/D | N/D |
Indexação | Exibições:
Se um encadeamento de indexação ou consulta estiver presente no despejo de encadeamento. |
N/D | N/D |