Inoltro del registro log-forwarding

NOTE
L’inoltro del registro è ora configurato in modo self-service, diverso dal metodo legacy, che richiedeva l’invio di un ticket di supporto Adobe. Consulta la sezione Migrazione se l'inoltro del registro è stato configurato da Adobe.

I clienti con una licenza di un fornitore di registrazione o che ospitano un prodotto di registrazione possono inoltrare i registri AEM (incluso Apache/Dispatcher) e CDN alla destinazione di registrazione associata. AEM as a Cloud Service supporta le seguenti destinazioni di registrazione:

  • Archiviazione BLOB di Azure
  • Datadog
  • Elasticsearch o OpenSearch
  • HTTPS
  • Splunk

L’inoltro dei registri viene configurato in modo self-service dichiarando una configurazione in Git e distribuendola tramite la pipeline di configurazione Cloud Manager ai tipi di ambiente RDE, dev, stage e produzione nei programmi di produzione (non sandbox).

È disponibile un’opzione per instradare i registri AEM e Apache/Dispatcher tramite l’infrastruttura di rete avanzata dell’AEM, ad esempio l’IP in uscita dedicato.

La larghezza di banda di rete associata ai registri inviati alla destinazione di registrazione è considerata parte dell'utilizzo di I/O di rete dell'organizzazione.

Struttura di questo articolo how-organized

Questo articolo è organizzato nel modo seguente:

  • Configurazione: comune per tutte le destinazioni di registrazione
  • Registrazione delle configurazioni di destinazione: ogni destinazione ha un formato leggermente diverso
  • Formati delle voci di registro: informazioni sui formati delle voci di registro
  • Rete avanzata: invio dei registri AEM e Apache/Dispatcher tramite un’uscita dedicata o tramite una VPN
  • Migrazione dall’inoltro di registro legacy: come passare dall’inoltro di registro precedentemente configurato da Adobe all’approccio self-service

Configurazione setup

  1. Creare un file denominato logForwarding.yaml. Deve contenere metadati, come descritto nell'articolo config pipeline (kind deve essere impostato su LogForwarding e la versione impostata su "1"), con una configurazione simile alla seguente (ad esempio, si utilizza Splunk).

    code language-none
    kind: "LogForwarding"
    version: "1"
    metadata:
      envTypes: ["dev"]
    data:
      splunk:
        default:
          enabled: true
          host: "splunk-host.example.com"
          token: "${{SPLUNK_TOKEN}}"
          index: "AEMaaCS"
    
  2. Posizionare il file in una cartella di primo livello denominata config o simile, come descritto in Utilizzo delle pipeline di configurazione.

  3. Per tipi di ambiente diversi da RDE (che utilizza strumenti della riga di comando), creare una pipeline di configurazione della distribuzione di destinazione in Cloud Manager, come indicato da questa sezione. Si noti che le pipeline full stack e le pipeline a livello web non distribuiscono il file di configurazione.

  4. Distribuisci la configurazione.

I token nella configurazione (ad esempio ${{SPLUNK_TOKEN}}) rappresentano segreti, che non devono essere memorizzati in Git. Dichiarale invece come Variabili di ambiente segrete di Cloud Manager. Assicurarsi di selezionare Tutti come valore a discesa per il campo Servizio applicato, in modo che i registri possano essere inoltrati ai livelli di authoring, pubblicazione e anteprima.

È possibile impostare valori diversi tra i registri CDN e i registri AEM (incluso Apache/Dispatcher), includendo un blocco cdn e/o aem aggiuntivo dopo il blocco default, in cui le proprietà possono ignorare quelle definite nel blocco default. È richiesta solo la proprietà abilitata. Un possibile caso di utilizzo potrebbe essere l’utilizzo di un indice Splunk diverso per i registri CDN, come illustrato nell’esempio seguente.

   kind: "LogForwarding"
   version: "1"
   metadata:
     envTypes: ["dev"]
   data:
     splunk:
       default:
         enabled: true
         host: "splunk-host.example.com"
         token: "${{SPLUNK_TOKEN}}"
         index: "AEMaaCS"
       cdn:
         enabled: true
         token: "${{SPLUNK_TOKEN_CDN}}"
         index: "AEMaaCS_CDN"

Un altro scenario consiste nel disabilitare l’inoltro dei registri CDN o dei registri AEM (incluso Apache/Dispatcher). Ad esempio, per inoltrare solo i registri CDN, puoi configurare quanto segue:

   kind: "LogForwarding"
   version: "1"
   metadata:
     envTypes: ["dev"]
   data:
     splunk:
       default:
         enabled: true
         host: "splunk-host.example.com"
         token: "${{SPLUNK_TOKEN}}"
         index: "AEMaaCS"
       aem:
         enabled: false

Registrazione della configurazione di destinazione logging-destinations

Di seguito sono elencate le configurazioni per le destinazioni di registrazione supportate, insieme a eventuali considerazioni specifiche.

Archiviazione BLOB di Azure azureblob

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  azureBlob:
    default:
      enabled: true
      storageAccountName: "example_acc"
      container: "aem_logs"
      sasToken: "${{AZURE_BLOB_SAS_TOKEN}}

Utilizzare un token SAS per l'autenticazione. Deve essere creato dalla pagina della firma di accesso condiviso, anziché dalla pagina del token di accesso condiviso, e deve essere configurato con le seguenti impostazioni:

  • Servizi consentiti: è necessario selezionare BLOB.
  • Risorse consentite: è necessario selezionare l’oggetto.
  • Autorizzazioni consentite: è necessario selezionare Scrivi, Aggiungi o Crea.
  • Una data/ora di inizio e di scadenza valida.

Ecco una schermata di esempio della configurazione del token SAS:

Configurazione token SAS BLOB di Azure

Se i registri non vengono più consegnati dopo il corretto funzionamento precedente, verificare se il token SAS configurato è ancora valido, in quanto potrebbe essere scaduto.

Registri CDN archiviazione BLOB di Azure azureblob-cdn

Ogni server di registrazione distribuito a livello globale produrrà un nuovo file ogni pochi secondi, nella cartella aemcdn. Una volta creato, il file non verrà più aggiunto a. Il formato del nome file è YYY-MM-DDThhss.sss-uniqueid.log. Ad esempio, 2024-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.

Ad esempio, a un certo punto del tempo:

aemcdn/
   2024-03-04T10:00:00.000-abc.log
   2024-03-04T10:00:00.000-def.log

E poi 30 secondi dopo:

aemcdn/
   2024-03-04T10:00:00.000-abc.log
   2024-03-04T10:00:00.000-def.log
   2024-03-04T10:00:30.000-ghi.log
   2024-03-04T10:00:30.000-jkl.log
   2024-03-04T10:00:30.000-mno.log

Ogni file contiene più voci di registro json, ciascuna su una riga separata. I formati delle voci di registro sono descritti in Registrazione per AEM as a Cloud Service e ogni voce di registro include anche le proprietà aggiuntive menzionate nella sezione Formati di voce di registro seguente.

Registri AEM archiviazione BLOB di Azure azureblob-aem

I registri AEM (incluso Apache/Dispatcher) vengono visualizzati sotto una cartella con la seguente convenzione di denominazione:

  • aemaccess
  • aemerror
  • aemrequest
  • aemdispatcher
  • aemhttpdaccess
  • aemhttpderror

In ogni cartella verrà creato un singolo file che verrà aggiunto a. I clienti sono responsabili dell’elaborazione e della gestione di questo file, in modo che non aumenti troppo.

Consulta i formati delle voci di registro in Registrazione per AEM as a Cloud Service. Le voci di registro includeranno anche le proprietà aggiuntive menzionate nella sezione Formati di voce di registro seguente.

Datadog datadog

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  datadog:
    default:
      enabled: true
      host: "http-intake.logs.datadoghq.eu"
      token: "${{DATADOG_API_KEY}}"
      tags:
         tag1: value1
         tag2: value2

Considerazioni:

  • Crea una chiave API, senza alcuna integrazione con un provider cloud specifico.
  • La proprietà tags è facoltativa
  • Per i registri AEM, il tag di origine Datadog è impostato su uno dei seguenti valori: aemaccess, aemerror, aemrequest, aemdispatcher, aemhttpdaccess o aemhttpderror
  • Per i registri CDN, il tag di origine Datadog è impostato su aemcdn
  • Il tag del servizio Datadog è impostato su adobeaemcloud, ma è possibile sovrascriverlo nella sezione dei tag
  • Se la pipeline di acquisizione utilizza i tag Datadog per determinare l’indice appropriato per i registri di inoltro, verifica che tali tag siano configurati correttamente nel file YAML di inoltro del registro. I tag mancanti possono impedire l’acquisizione corretta del registro, se la pipeline dipende da essi.

Elasticsearch e OpenSearch elastic

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  elasticsearch:
    default:
      enabled: true
      host: "example.com"
      user: "${{ELASTICSEARCH_USER}}"
      password: "${{ELASTICSEARCH_PASSWORD}}"
      pipeline: "ingest pipeline name"

Considerazioni:

  • per impostazione predefinita, la porta è 443. Facoltativamente, può essere sostituito con una proprietà denominata port
  • Per le credenziali, assicurati di utilizzare le credenziali di distribuzione anziché le credenziali dell’account. Queste sono le credenziali generate in una schermata che potrebbe assomigliare a questa immagine:

Credenziali distribuzione elastica

  • Per i registri AEM, index è impostato su uno di aemaccess, aemerror, aemrequest, aemdispatcher, aemhttpdaccess o aemhttpderror
  • La proprietà opzionale della pipeline deve essere impostata sul nome della pipeline di acquisizione Elasticsearch o OpenSearch, che può essere configurata per instradare la voce di registro all’indice appropriato. Il tipo di processore della pipeline deve essere impostato su script e il linguaggio di script su indolore. Di seguito è riportato un frammento di script di esempio per instradare le voci di registro in un indice come aemaccess_dev_26_06_2024:
def envType = ctx.aem_env_type != null ? ctx.aem_env_type : 'unknown';
def sourceType = ctx._index;
def date = new SimpleDateFormat('dd_MM_yyyy').format(new Date());
ctx._index = sourceType + "_" + envType + "_" + date;

HTTPS https

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  https:
    default:
      enabled: true
      url: "https://example.com/aem_logs/aem"
      authHeaderName: "X-AEMaaCS-Log-Forwarding-Token"
      authHeaderValue: "${{HTTPS_LOG_FORWARDING_TOKEN}}"

Considerazioni:

  • La stringa URL deve includere https://, altrimenti la convalida non riuscirà.
  • L’URL può includere una porta. Ad esempio, https://example.com:8443/aem_logs/aem. Se nella stringa URL non è inclusa alcuna porta, viene utilizzata la porta 443 (la porta HTTPS predefinita).

Registri CDN HTTPS https-cdn

Le richieste Web (POST) verranno inviate in modo continuo, con un payload json che è un array di voci di registro, con il formato di voce di registro descritto in Registrazione per AEM as a Cloud Service. Proprietà aggiuntive sono menzionate nella sezione Formati di voce di registro di seguito.

Esiste anche una proprietà denominata sourcetype, impostata sul valore aemcdn.

NOTE
Prima dell'invio della prima voce di registro CDN, il server HTTP deve completare una richiesta una tantum: una richiesta inviata al percorso /.well-known/fastly/logging/challenge deve rispondere con un asterisco * nel corpo e il codice di stato 200.

Registri AEM HTTPS https-aem

Per i registri AEM (incluso apache/dispacher), le richieste web (POST) verranno inviate in modo continuo, con un payload json che è un array di voci di registro, con i vari formati di voci di registro come descritto in Registrazione per AEM as a Cloud Service. Proprietà aggiuntive sono menzionate nella sezione Formati di voce di registro di seguito.

Esiste anche una proprietà denominata Source-Type, impostata su uno dei seguenti valori:

  • aemaccess
  • aemerror
  • aemrequest
  • aemdispatcher
  • aemhttpdaccess
  • aemhttpderror

Splunk splunk

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "aemaacs"

Considerazioni:

  • Per impostazione predefinita, la porta è 443. Facoltativamente, può essere sostituito con una proprietà denominata port.
  • Il campo sourcetype avrà uno dei seguenti valori, a seconda del registro specifico: aemaccess, aemerror,
    aemrequest, aemdispatcher, aemhttpdaccess, aemhttpderror, aemcdn
  • Se gli IP richiesti sono stati inseriti nell'elenco Consentiti e i registri non vengono ancora consegnati, verifica che non vi siano regole firewall che impongono la convalida del token Splunk. Fastly esegue un passaggio di convalida iniziale in cui viene inviato intenzionalmente un token Splunk non valido. Se il firewall è impostato in modo da interrompere le connessioni con token Splunk non validi, il processo di convalida non riuscirà e Fastly non sarà in grado di consegnare i registri all’istanza Splunk.
NOTE
Se si esegue la migrazione di da Log Forwarding legacy a questo modello self-service, i valori del campo sourcetype inviati all'indice Splunk potrebbero essere cambiati, quindi apportare le modifiche necessarie.

Formati voce registro log-formats

Consulta Registrazione per AEM as a Cloud Service per il formato di ciascun tipo di registro (registri CDN e registri AEM, incluso Apache/Dispatcher).

Poiché i registri provenienti da più programmi e ambienti possono essere inoltrati alla stessa destinazione di registrazione, oltre all’output descritto nell’articolo sulla registrazione, in ogni voce di registro verranno incluse le seguenti proprietà:

  • aem_env_id
  • aem_env_type
  • aem_program_id
  • aem_tier

Ad esempio, le proprietà potrebbero avere i seguenti valori:

aem_env_id: 1242
aem_env_type: dev
aem_program_id: 12314
aem_tier: author

Rete avanzata advanced-networking

Alcune organizzazioni scelgono di limitare il traffico che può essere ricevuto dalle destinazioni di registrazione.

Per il registro CDN, puoi inserire gli indirizzi IP nell'elenco Consentiti, come descritto nella documentazione rapida - Elenco IP pubblico. Se l’elenco degli indirizzi IP condivisi è troppo grande, puoi inviare traffico a un server https o a un archivio BLOB di Azure (non Adobe) in cui è possibile scrivere una logica per inviare i registri da un IP noto alla destinazione finale.

Per i registri AEM (incluso Apache/Dispatcher), se hai configurato rete avanzata, puoi utilizzare la proprietà advancedNetworking per inoltrarli da un indirizzo IP in uscita dedicato o tramite una VPN.

kind: "LogForwarding"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      port: 443
      token: "${{SPLUNK_TOKEN}}"
      index: "aemaacs"
    aem:
      advancedNetworking: true

Migrazione dall’inoltro registro legacy legacy-migration

Prima di raggiungere la configurazione di Log Forwarding tramite un modello self-service, ai clienti veniva richiesto di aprire i ticket di supporto, dove Adobe avviava l’integrazione.

I clienti che sono stati configurati in questo modo da Adobe sono invitati ad adattarsi al modello self-service quando lo desiderano. Ci sono diversi motivi per effettuare questa transizione:

  • È stato eseguito il provisioning di un nuovo ambiente (ad esempio, un nuovo ambiente di sviluppo o RDE).
  • Modifiche all’endpoint o alle credenziali Splunk esistenti.
  • Adobe ha configurato l’inoltro dei registri prima che i registri CDN fossero disponibili e desideri ricevere i registri CDN.
  • Una decisione consapevole di adattarsi in modo proattivo al modello self-service in modo che l’organizzazione disponga delle conoscenze necessarie anche prima che sia necessario un cambiamento sensibile al tempo.

Per eseguire la migrazione, è sufficiente configurare il file YAML come descritto nelle sezioni precedenti. Utilizza la pipeline di configurazione Cloud Manager per distribuire in ciascuno degli ambienti in cui deve essere applicata la configurazione.

È consigliabile, ma non obbligatorio, distribuire una configurazione in tutti gli ambienti in modo che siano tutti sotto il controllo self-service. In caso contrario, potresti dimenticare quali ambienti sono stati configurati da Adobe rispetto a quelli configurati in modo self-service.

NOTE
È possibile che i valori del campo sourcetype inviati all'indice Splunk siano stati modificati, quindi apportare le modifiche necessarie.
NOTE
Quando l’inoltro dei registri viene distribuito in un ambiente configurato in precedenza dal supporto Adobe, è possibile che vengano visualizzati registri duplicati per un massimo di alcune ore. Questo alla fine si risolverà automaticamente.
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab