Registri comuni nell’AEM

Il documento descrive le voci di registro comuni e il loro significato, nonché come gestirle.

Descrizione description

Ambiente

Adobe Experience Manager

Problema/Sintomi

Quali sono le voci di registro comuni, cosa significano e come gestirle.

Per ulteriori dettagli, seguire il manuale Adobe Managed Services Dispatcher nella guida Tutorials AEM.

Risoluzione resolution

Avviso GLOB

Voce di registro di esempio:

[ Fri Jul 20 03:35:09 2018]  [ W]  [ pid 8300 (tid 139937910880384)]  /etc/httpd/conf/publish-filters.any:5: Allowing requests with globs is considered unsafe. Please consult the documentation at 'https://www.adobe.com/go/docs_dispatcher_config_it' on how to use attributes method/url/query/protocol/path/selectors/extension/suffix instead.

A partire dal modello Dispatcher 4.2.x, hanno iniziato a scoraggiare gli utenti dall’utilizzare il seguente tipo di corrispondenze nel loro file di filtri:

/0041 { /type "allow" /glob "* *.css *"   }  ## enable css

Invece, è meglio utilizzare la nuova sintassi come:

/0041 { /type "allow" /url "*.css" } ## enable css

O anche meglio non corrispondere in una corrispondenza con caratteri jolly affatto:

/0041 { /type "allow" /extension "css" } ## enable css

L’esecuzione di uno dei metodi suggeriti eliminerebbe il messaggio di errore dai registri.

Il filtro rifiuta

Nota:

Queste voci non vengono sempre visualizzate anche se si verificano dei rifiuti quando il livello di registro è troppo basso. Impostalo su Info o debug per verificare se i filtri rifiutano le richieste.

Voce di registro di esempio:

[ Fri Jul 20 17:25:48 2018]  [ D]  [ pid 25939 (tid 139937517123328)]  Filter rejects: GET /libs/granite/core/content/login.html HTTP/1.1

oppure:

[ Fri Jul 20 22:16:55 2018]  [ I]  [ pid 128803]  "GET /system/console/" ! - 8ms [ publishfarm/-]

Attenzione:

Devi capire se le regole del dispatcher sono state impostate per escludere tale richiesta. In questo caso, la pagina che si tentava di visitare veniva rifiutata di proposito e non volevamo fare nulla al riguardo.

Se il registro è simile alla voce seguente:

[ Fri Jul 20 17:26:47 2018]  [ D]  [ pid 20051 (tid 139937517123328)]  Filter rejects: GET /etc/designs/exampleco/fonts/montserrat-regular/montserrat-regular-webfont.eot HTTP/1.1

Questo significa che il file di progettazione .eot è bloccato e che è necessario risolvere il problema.

Dovremmo quindi esaminare il file dei filtri e aggiungere la riga seguente per consentire l’accesso ai file .eot

/0011 { /type "allow" /method "GET" /extension 'eot' /path "/etc/designs/*" }

In questo modo il file viene eseguito correttamente e si interrompe la registrazione.

Se desideri visualizzare gli elementi esclusi, puoi eseguire questo comando nel file di registro:

$ grep "Filter rejects\|\!" /var/log/httpd/dispatcher.log | awk 'match($0, /\/.*\//, m){ print m[ 0]  }' | awk '{ print $1 }'| sort | uniq -c | sort -rn

Timeout dal rendering

Voce di registro di esempio di timeout del socket:

[ Fri Jul 20 22:31:15 2018]  [ W]  [ pid 3648]  Unable to connect socket to 10.43.3.40:4502: Connection timed out
[ Fri Jul 20 22:31:15 2018]  [ W]  [ pid 3648]  Unable to connect to any backend in farm authorfarm

Ciò si verifica quando l’indirizzo IP configurato nella sezione relativa ai rendering della farm è errato. Oppure quando l’istanza dell’AEM non risponde o non è in ascolto e il dispatcher non è in grado di raggiungerla.

Controlla le regole del firewall e che l’istanza AEM sia in esecuzione e integra.

Voci di registro di esempio di timeout del gateway:

[ Fri Jul 20 22:32:42 2018]  [ I]  [ pid 3648]  "GET /favicon.ico" 502 - 54034ms [ authorfarm/-]
[ Fri Jul 20 22:35:45 2018]  [ I]  [ pid 3648]  "GET /favicon.ico" 503 - 54234ms [ authorfarm/-]

Ciò significa che l’istanza dell’AEM aveva un socket aperto che poteva raggiungere e che si è interrotta con la risposta. Ciò significa che l’istanza AEM era troppo lenta o non integra e che il dispatcher ha raggiunto le impostazioni di timeout configurate nella sezione relativa al rendering della farm. Aumenta l’impostazione di timeout oppure integra l’istanza dell’AEM.

Livello di memorizzazione in cache

Voce di registro di esempio:

[ Fri Jul 20 23:00:19 2018]  [ I]  [ pid 16004 (tid 140134145820416)]  Current cache hit ratio: 87.94 %

Questo significa che viene misurato il recupero dal livello di rendering rispetto a quello dalla cache. Se desideri ottenere un valore superiore all'80% dalla cache, segui la guida:

Per ottenere questo numero il più alto possibile.

Nota:

Anche se le impostazioni della cache si trovano nel file della farm per memorizzare tutto in cache, il flushing potrebbe essere troppo frequente o troppo aggressivo, con conseguente riduzione del rapporto percentuale di riscontri nella cache

Directory mancante

Voce di registro di esempio:

[ Fri Jul 20 14:02:43 2018]  [ E]  [ pid 4728 (tid 140662586435328)]  Unable to create parent directory /mnt/var/www/author/libs/dam/content/asseteditors/formitems.overlay.infinity.json/application: Not a directory

Questo generalmente viene visualizzato quando si recupera un elemento mentre si verifica contemporaneamente una cancellazione della cache.

Oppure se la directory principale dei documenti dispone di autorizzazioni non valide o se il contesto del file SELinux presente nella cartella non consente ad Apache di creare le nuove sottodirectory necessarie.

Per i problemi di autorizzazione, controlla le autorizzazioni della directory principale dei documenti e accertati che siano simili alle seguenti:

dispatcher$ ls -la

URL personalizzato non trovato

Voce di registro di esempio:

[ Thu Sep 27 17:35:11 2018]  [ D]  [ pid 18936]  Checking vanity URLs
[ Thu Sep 27 17:35:11 2018]  [ D]  [ pid 18936]  Vanity URL file (/tmp/vanity_urls) not found, fetching...
[ Thu Sep 27 17:35:11 2018]  [ W]  [ pid 18936]  Unable to fetch vanity URLs from 10.43.0.42:4503/libs/granite/dispatcher/content/vanityUrls.html: remote server returned: HTTP/1.1 404 Not Found

Questo errore si verifica quando il dispatcher è stato configurato per l’utilizzo del filtro automatico dinamico per consentire gli URL personalizzati, ma la configurazione non è stata completata con l’installazione del pacchetto sul renderer AEM.

Per risolvere questo problema, installa il feature pack dell’URL personalizzato nell’istanza AEM e consenti che sia pronto per l’utente anonimo. Dettagli qui

L’impostazione di un URL personalizzato funziona come segue:

[ Thu Sep 27 17:40:29 2018]  [ D]  [ pid 21844]  Checking vanity URLs
[ Thu Sep 27 17:40:29 2018]  [ D]  [ pid 21844]  Vanity URL file (/tmp/vanity_urls) not found, fetching...
[ Thu Sep 27 17:40:29 2018]  [ D]  [ pid 21844]  Loaded 18 vanity URLs from file /tmp/vanity_urls

Farm mancante

Voce di registro di esempio:

[ Wed Nov 13 17:17:26 2019]  [ W]  [ pid 19173:tid 140542738364160]  No farm matches host 'we-retail.com', selected last farm 'publishfarm'

Questo errore indica che da tutti i file di farm disponibili in /etc/httpd/conf.dispatcher.d/enabled_farms/, non è stato possibile trovare una voce corrispondente dalla sezione /virtualhost.

I file della farm corrispondono al traffico in base al nome di dominio o al percorso con cui è stata inviata la richiesta. Utilizza la corrispondenza glob e, se non corrisponde, significa che la farm non è stata configurata correttamente, che è stata digitata la voce nella farm oppure che la voce risulta completamente mancante. Se la farm non corrisponde ad alcuna voce, per impostazione predefinita viene utilizzata l’ultima farm inclusa nello stack di file farm. In questo esempio, si trattava di 999_ams_publish_farm.any, che prende il nome dal nome generico di publishfarm.

Di seguito è riportato un file farm di esempio /etc/httpd/conf.dispatcher.d/enabled_farms/300_weretail_publish_farm.any che è stato ridotto per evidenziare le parti rilevanti.

Elemento servito da

Voce di registro di esempio:

[ Tue Nov 26 16:41:34 2019]  [ I]  [ pid 9208 (tid 140112092391168)]  "GET /content/we-retail/us/en.html" - + 24034ms [ publishfarm/0]

La pagina è stata recuperata tramite il metodo GET http per il contenuto /content/we-retail/us/en.html e ha richiesto 24034 millisecondi. La parte a cui prestare attenzione si trova alla fine di [ publishfarm/0] . Noterai che il targeting e la corrispondenza coincidono con il file publishfarm. La richiesta è stata recuperata dal rendering 0, il che significa che questa pagina doveva essere richiesta all’AEM e quindi memorizzata nella cache. Ora, richiediamo di nuovo questa pagina e vediamo cosa succede al registro

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f