Protokollweiterleitung log-forwarding

NOTE
Eine Beta-Version für die gegenseitige TLS-Authentifizierung (mTLS) ist für Splunk-, Elasticsearch/OpenSearch- und HTTPS-Ziele sowie für AEM-Protokolle (einschließlich Apache/Dispatcher) und CDN-Protokolle verfügbar. Um teilzunehmen, senden Sie eine E-Mail an 🔗aemcs-logforwarding-beta@adobe.com) mit Ihrer Programm-ID und den Umgebungs-IDs. Siehe Gegenseitige TLS-Authentifizierung (mTLS).
NOTE
Die Protokollweiterleitung wird jetzt als Self-Service konfiguriert, was sich von der veralteten Methode unterscheidet, für die ein Adobe-Support-Ticket eingereicht werden musste. Wenn Ihre Protokollweiterleitung von Adobe eingerichtet wurde, lesen Sie den Abschnitt Migrieren.
NOTE
AEM as a Cloud Service unterstützt auch den Versand von Protokollen über OpenTelemetry (OTLP) als Teil von OpenTelemetry (eingeschränkte Verfügbarkeit). Wenn Sie beide am selben Ziel aktivieren, erhalten Sie dort doppelte Protokollmeldungen - auf dieser Seite finden Sie weitere Details.

Kundschaften, die eine Lizenz bei einem Logging-Anbieter besitzen oder ein Logging-Produkt hosten, können AEM-Protokolle (einschließlich Apache/Dispatcher) und CDN-Protokolle an das zugehörige Logging-Ziel weiterleiten lassen. AEM as a Cloud Service unterstützt die folgenden Protokollierungsziele:

Protokolltechnologie
AEM
Dispatcher
CDN
mTLS
Amazon S3
Ja
Ja
Future
Nein
Azure Blob Storage
Ja
Ja
Ja
Nein
DataDog
Ja
Ja
Ja
Nein
Dynatrace
Ja
Ja
Future
Nein
ElasticSearch
OpenSearch
Ja
Ja
Ja
Beta
HTTPS
Ja
Ja
Ja
Beta
New Relic
Ja
Ja
Future
Nein
Splunk
Ja
Ja
Ja
Beta
Sumo Logic
Ja
Ja
Ja
Nein
NOTE
Für geplante künftige CDN-Protokolltechnologien senden Sie eine E-Mail an aemcs-logforwarding-beta@adobe.com, um Interesse zu bekunden.
Protokolltechnologien, die in der mTLS Spalte mit Beta gekennzeichnet sind, unterstützen die Client-Zertifikatauthentifizierung (Mutual TLS) für AEM-, Dispatcher- und CDN-Protokolle. mTLS befindet sich in der Beta-Phase. Um den Zugriff anzufordern, senden Sie eine E-Mail an 🔗aemcs-logforwarding-beta@adobe.com) mit Ihrer Programm-ID und den Umgebungs-IDs. Siehe Gegenseitige TLS-Authentifizierung (mTLS).

Die Protokollweiterleitung wird im Self-Service-Modus konfiguriert, indem eine Konfiguration in Git deklariert wird, und kann über Cloud Manager-Konfigurations-Pipelines für Entwicklungs-, Staging- und Produktionsumgebungstypen bereitgestellt werden. Die Konfigurationsdatei kann mithilfe von Befehlszeilenprogrammen in schnellen Entwicklungsumgebungen (Rapid Development Environments, RDEs) bereitgestellt werden.

Es gibt eine Option für die Weiterleitung der AEM- und Apache/Dispatcher-Protokolle über die erweiterte Netzwerkinfrastruktur von AEM, z. B. eine dedizierte Egress-IP.

Die Netzwerkbandbreite, die mit an Splunk gesendeten Protokollen verknüpft ist, wird als Teil der kundenseitigen Netzwerk-E/A-Nutzung betrachtet.

Wie dieser Artikel organisiert ist how-organized

Dieser Artikel ist wie folgt aufgebaut:

  • Setup – für alle Protokollierungsziele gleich
  • Transport und erweiterte Netzwerkfunktionen – Vor der Erstellung der Logging-Konfiguration muss das Netzwerk-Setup berücksichtigt werden.
  • Gegenseitige TLS-Authentifizierung (mTLS) - Authentifizierung bei Splunk-, Elasticsearch/OpenSearch- und HTTPS-Zielen mit einem Client-Zertifikat (Beta)
  • Konfigurationen von Logging-Zielen – Jedes Ziel hat ein leicht unterschiedliches Format
  • Protokolleintragsformate – Informationen zu den Protokolleintragsformaten
  • Migrieren von der alten Protokollweiterleitung – So wechseln Sie von der zuvor von Adobe eingerichteten Protokollweiterleitung zum Self-Service-Ansatz

Setup setup

  1. Erstellen Sie eine Datei mit dem Namen logForwarding.yaml. Sie sollte Metadaten enthalten, wie im Artikel Konfigurations-Pipeline beschrieben (kind sollte auf LogForwarding und „version“ auf „1“ gesetzt werden). Die Konfiguration sollte dann ähnlich wie die folgende aussehen (wir verwenden Splunk als Beispiel).

    code language-yaml
    kind: "LogForwarding"
    version: "1"
    data:
      splunk:
        default:
          enabled: true
          host: "splunk-host.example.com"
          token: "${{SPLUNK_TOKEN}}"
          index: "AEMaaCS"
    
  2. Platzieren Sie die Datei unter einem Ordner der obersten Ebene mit dem Namen config oder ähnlich, wie in Verwenden von Konfigurations-Pipelines beschrieben.

  3. Erstellen Sie für andere Umgebungstypen als RDE (der Befehlszeilen-Tools verwendet) eine zielgerichtete Bereitstellungskonfigurations-Pipeline in Cloud Manager, wie in diesem Abschnitt beschrieben. Beachten Sie, dass Full-Stack-Pipelines und Web-Stufen-Pipelines die Konfigurationsdatei nicht implementieren.

  4. Implementieren Sie die Konfiguration.

Token in der Konfiguration (z. B. ${{SPLUNK_TOKEN}}) stellen geheime Daten dar, die nicht in Git gespeichert werden sollten. Deklarieren Sie sie stattdessen als Geheime Umgebungsvariablen von Cloud Manager. Wählen Sie Alle als Dropdown-Wert für das Feld „Angewendeter Service“ aus, damit Protokolle an die Autoren-, Veröffentlichungs- und Vorschauebenen weitergeleitet werden können.

Es ist möglich, für CDN-Protokolle und AEM-Protokolle (einschließlich Apache/Dispatcher) unterschiedliche Werte festzulegen, indem nach dem Block default ein zusätzlicher Block cdn und/oder aem eingefügt wird. Dabei können Eigenschaften die im Block default definierten Werte überschreiben. Nur die Eigenschaft „enabled“ ist erforderlich. Ein möglicher Anwendungsfall könnte die Verwendung eines abweichenden Splunk-Index für CDN-Protokolle sein, wie im folgenden Beispiel veranschaulicht.

   kind: "LogForwarding"
   version: "1"
   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"

Ein weiteres Szenario besteht darin, die Weiterleitung der CDN-Protokolle oder AEM-Protokolle (einschließlich Apache/Dispatcher) zu deaktivieren. Um beispielsweise nur die CDN-Protokolle weiterzuleiten, können Sie Folgendes konfigurieren:

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

Transport und erweiterte Netzwerkfunktionen transport-advancednetworking

Einige Organisationen möchten einschränken, welcher Traffic von den Protokollierungszielen empfangen werden kann. Andere benötigen möglicherweise andere Ports als HTTPS (443). In diesem Fall müssen vor der Implementierung der Protokollweiterleitungskonfiguration Erweiterte Netzwerkfunktionen konfiguriert werden.

In der folgenden Tabelle sehen Sie, welche Anforderungen an die erweiterte Netzwerk- und Logging-Konfiguration gestellt werden, je nachdem, ob Sie Port 443 verwenden oder nicht und ob Ihre Protokolle über eine feste IP-Adresse angezeigt werden müssen oder nicht.

Ziel-Port
Müssen Protokolle von einer festen IP-Adresse stammen?
Überlegungen zu erweiterten Netzwerkfunktionen
Port-Definition für logForwarding.yaml erforderlich
HTTPS (443)
Nein
Nein
Nein
Ja
Ja, dedizierter Egress
Nein
Nicht standardmäßiger Port (z. B. 8088)
Nein
Ja, flexibler Egress
Ja
Ja
Ja, dedizierter Egress
Ja
NOTE
Ob Ihre Protokolle von einer einzelnen IP-Adresse stammen, hängt von der gewählten erweiterten Netzwerkkonfiguration ab. Um dies zu erleichtern, muss ein dedizierter Egress verwendet werden.
Die erweiterte Netzwerkkonfiguration ist ein zweistufiger Prozess, der eine Aktivierung auf Programm- und Umgebungsebene erfordert.
Per Hinweis unten ist es nicht möglich, die Protokollweiterleitung mit erweiterten Netzwerk-VPN-Verbindungen zu verwenden.

Für AEM-Protokolle (einschließlich Apache/Dispatcher) können Sie, wenn Sie Erweiterte Netzwerke konfiguriert haben, die aem.advancedNetworking-Eigenschaft verwenden, um sie von einer dedizierten Ausgangs-IP-Adresse weiterzuleiten.

Das folgende Beispiel zeigt, wie Logging an einem Standard-HTTPS-Port mit erweiterten Netzwerkfunktionen konfiguriert wird.

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

Für CDN-Protokolle können Sie die IP-Adressen auf die Zulassungsliste setzen, wie unter Fastly-Dokumentation – Öffentliche IP-Liste beschrieben. Wenn diese Liste der freigegebenen IP-Adressen zu groß ist, sollten Sie Traffic an einen HTTPS-Server oder Azure Blob Store (außer Adobe) senden, in den Logik erstellt werden kann, mit der die Protokolle von einer bekannten IP an ihr endgültiges Ziel gesendet werden.

NOTE
Es ist nicht möglich, dass CDN-Protokolle von derselben IP-Adresse stammen wie Ihre AEM-Protokolle, da Protokolle direkt von Fastly und nicht von AEM Cloud Service gesendet werden.
Aus diesem Grund ist es nicht möglich, die Protokollweiterleitung mit erweiterten Netzwerk-VPN-Konfigurationen zu verwenden.

Gegenseitige TLS-Authentifizierung (TLS) mtls

NOTE
TLS für die Protokollweiterleitung ist eine Beta-Funktion. Um sie zu verwenden, senden Sie eine E-Mail an 🔗aemcs-logforwarding-beta@adobe.com) mit Ihrer Programm-ID und den Umgebungs-IDs.

Splunk-, Elasticsearch/OpenSearch- und HTTPS-Ziele unterstützen gegenseitiges TLS (mTLS). Bei mTLS stellt AEM as a Cloud Service ein Client-Zertifikat bereit, wenn es eine Verbindung zu Ihrem Protokollierungsziel herstellt, sodass das Ziel überprüfen kann, ob die Protokolle aus Ihrer Umgebung stammen. mTLS gilt für AEM-Protokolle (einschließlich Apache/Dispatcher) und für CDN-Protokolle.

mTLS arbeitet mit der vorhandenen Authentifizierung des Ziels zusammen. Behalten Sie die vorhandenen Authentifizierungseigenschaften des Ziels bei, z. B. token (Splunk) oder user und password (Elasticsearch/OpenSearch). Für HTTPS-Ziele, die CDN-Protokolle weiterleiten, sind authHeaderName und authHeaderValue erforderlich.

Konfiguration mtls-configuration

Fügen Sie einen mtls Block neben den anderen Eigenschaften des Ziels hinzu:

  • cert - Erforderlich. Das Client-Zertifikat im PEM-Format. Darauf können CA-Zwischenzertifikate folgen, wobei das Client-Zertifikat zuerst angezeigt wird.
  • key - Erforderlich. Der private Schlüssel für das Client-Zertifikat im PEM-Format. RSA- und EC-Schlüssel werden unterstützt, unverschlüsselt oder verschlüsselt. Siehe Unterstützte Schlüsselformate.
  • ca - optional. Das CA-Zertifikat im PEM-Format, das zum Überprüfen des Serverzertifikats Ihres Ziels verwendet wird. Sie kann mehr als ein Zertifikat enthalten, z. B. eine Zertifikatskette. Legen Sie sie fest, wenn das Serverzertifikat von einer privaten Zertifizierungsstelle ausgestellt wird.
  • keyPasswd - optional. Das Kennwort für den privaten Schlüssel. Legen Sie sie nur fest, wenn der Schlüssel verschlüsselt ist.

Im folgenden Beispiel werden AEM- und CDN-Protokolle mithilfe von mTLS an Splunk weitergeleitet:

kind: "LogForwarding"
version: "1"
data:
  splunk:
    default:
      enabled: true
      host: "splunk-host.example.com"
      token: "${{SPLUNK_TOKEN}}"
      index: "aemaacs"
      mtls:
        cert: "${{SPLUNK_MTLS_CERT}}"
        key: "${{SPLUNK_MTLS_KEY}}"
        ca: "${{SPLUNK_MTLS_CA}}"

Es gelten folgende Regeln:

  • cert und key müssen zusammen bereitgestellt werden. Ein mtls, der nur ca oder keyPasswd enthält, wird abgelehnt.
  • Jede mtls-Eigenschaft muss ein geheimer Verweis sein, z. B. ${{SPLUNK_MTLS_CERT}} und sonst nichts. Direkt in der Datei platzierter Zertifikat- oder Schlüsseltext wird abgelehnt.
  • Deklarieren Sie jedes Geheimnis als Cloud Manager Geheime Umgebungsvariable wie unter ​ beschrieben. Fügen Sie den vollständigen PEM-Text ein, einschließlich der -----BEGIN- und -----END. Wenn die Zeilenumbrüche beim Einfügen des Werts in Cloud Manager entfernt werden, werden sie automatisch wiederhergestellt. Um mehr als ein Zertifikat bereitzustellen, fügen Sie sie nacheinander in dasselbe Geheimnis ein.
  • Das Client-Zertifikat wird bei der Bereitstellung überprüft. Es muss ein gültiges PEM und innerhalb seiner Gültigkeitsdauer sein. Wenn cert mehr als ein Zertifikat enthält, muss das Client-Zertifikat zuerst kommen und die Zertifikate müssen eine gültige Kette bilden. Wenn eine Prüfung fehlschlägt, schlägt die Bereitstellung fehl.

Unterstützte Schlüsselformate mtls-key-formats

Die erste Zeile des PEM-Texts des Schlüssels zeigt sein Format an:

Schlüsselformat
Erste Zeile des PEM-Textes
RSA, PKCS#1
-----BEGIN RSA PRIVATE KEY-----
EG, SEK1
-----BEGIN EC PRIVATE KEY-----
PKCS#8 (RSA oder EC)
-----BEGIN PRIVATE KEY-----
Verschlüsselte PKCS#8 (RSA oder EC)
-----BEGIN ENCRYPTED PRIVATE KEY-----
Verschlüsseltes älteres Format (RSA oder EC), mit AES oder Triple DES (DES-EDE3-CBC)
-----BEGIN RSA PRIVATE KEY----- oder -----BEGIN EC PRIVATE KEY-----, gefolgt von Proc-Type: 4,ENCRYPTED und DEK-Info

Legen Sie für einen verschlüsselten Schlüssel auch keyPasswd auf sein Kennwort fest.

Verschlüsselte PKCS#8 wird für verschlüsselte Schlüssel empfohlen. Um einen Schlüssel im älteren Format zu konvertieren, verwenden Sie den folgenden Befehl, der nach dem aktuellen Kennwort und dann nach dem Kennwort des neuen Schlüssels fragt:

openssl pkcs8 -topk8 -v2 aes-256-cbc -in client.key -out client-pkcs8.key

Speichern Sie den Inhalt von client-pkcs8.key in den geheimen Daten, auf die von key verwiesen wird, und das zugehörige Kennwort in den geheimen Daten, auf die von keyPasswd verwiesen wird.

CDN-Protokolle mtls-cdn

Wie andere Eigenschaften gilt ein mtls unter default sowohl für AEM-Protokolle als auch für CDN-Protokolle. Um ein anderes Zertifikat für CDN-Protokolle zu verwenden, legen Sie die mtls in einem cdn fest. Um mTLS nur für AEM-Protokolle oder nur CDN-Protokolle zu verwenden, platzieren Sie den mtls in den aem- oder cdn-Block anstelle von default.

Nachdem Sie eine Konfiguration bereitgestellt haben, die die CDN-Protokollweiterleitung an ein Ziel ermöglicht, kann es mehrere Minuten dauern, bis die ersten CDN-Protokolle eintreffen. Bei HTTPS-Zielen beginnt die CDN-Protokollbereitstellung auch erst, nachdem Ihr Server die unter „HTTPS​ beschriebene einmalige Herausforderung abgeschlossen ​. Die Challenge-Anfrage wird mit demselben Client-Zertifikat gesendet, sodass Ihr Server dieses Zertifikat auch auf dem Challenge-Pfad akzeptieren muss.

Rotation und Ablauf von Zertifikaten mtls-rotation

Um ein Zertifikat zu rotieren, aktualisieren Sie die Cloud Manager Secret-Umgebungsvariablen, die das Zertifikat (und den Schlüssel, falls er geändert wurde) enthalten, und führen Sie die Konfigurations-Pipeline erneut aus. Wenn die Konfigurationsdatei für die Protokollweiterleitung selbst unverändert ist, nehmen Sie auch eine Änderung daran vor, damit die Konfiguration erneut angewendet wird. Speichern Sie beispielsweise die neuen Werte in neuen geheimen Umgebungsvariablen und verweisen Sie auf diese Namen im mtls.

Möglicherweise erhalten Sie auch eine proaktive Aktionscenter-Benachrichtigung etwa 21 Tage vor Ablauf eines Client-Zertifikats. Verfolgen Sie die Ablaufdaten von Zertifikaten selbst, anstatt sich auf diese Benachrichtigung zu verlassen.

Konfiguration des Protokollierungsziels logging-destinations

Im Folgenden sind die Konfigurationen sowie ggf. spezifische Überlegungen für die unterstützten Protokollierungsziele aufgeführt.

Amazon S3 amazons3

Die Protokollweiterleitung an Amazon S3 unterstützt AEM- und Dispatcher-Protokolle. CDN-Protokolle werden noch nicht unterstützt.

NOTE
In S3 werden regelmäßig alle 10 Minuten für jeden Protokolldateityp Protokolle geschrieben. Dies kann zu einer anfänglichen Verzögerung für das Schreiben von Protokollen in S3 führen, sobald die Funktion aktiviert/deaktiviert wird. Weitere Informationen zu diesem Verhalten.
kind: "LogForwarding"
version: "1"
data:
  awsS3:
    default:
      enabled: true
      region: "your-bucket-region"
      bucket: "your_bucket_name"
      accessKey: "${{AWS_S3_ACCESS_KEY}}"
      secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"

Um die S3-Protokollweiterleitung zu verwenden, müssen Sie einen AWS IAM-Benutzenden mit der entsprechenden Richtlinie für den Zugriff auf Ihren S3-Bucket vorkonfigurieren. Wie Sie IAM-Benutzeranmeldeinformationen erstellen, erfahren Sie in der AWS IAM-Benutzerdokumentation.

Die IAM-Richtlinie sollte dem Benutzenden die Verwendung von s3:putObject ermöglichen. Beispiel:

 {
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "s3:PutObject"
        ],
        "Resource": "arn:aws:s3:::your_bucket_name/*"
    }]
}

Weitere Informationen zur Implementierung finden Sie in der Dokumentation zur AWS-Bucket-Richtlinie.

NOTE
CDN-Protokollunterstützung für AWS S3 ist für die Zukunft geplant. Bitte senden Sie eine E-Mail an {0🔗aemcs-logforwarding-beta@adobe.com), um Interesse zu registrieren.

Azure Blob Storage azureblob

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

Zur Authentifizierung sollte ein SAS-Token verwendet werden. Erstellen Sie das Token auf der Seite „Shared Access Signature“ und nicht auf der Seite „Shared Access Token“. Verwenden Sie die folgenden Einstellungen für die Konfiguration:

  • Zugelassene Dienste: „Blob“ muss ausgewählt sein.
  • Zugelassene Ressourcen: Objekt und Container müssen ausgewählt werden.
  • Zulässige Berechtigungen: Lesen, Schreiben, Hinzufügen, Liste, Erstellen müssen ausgewählt sein.
  • Gültiges Start- und Ablaufdatum mit Uhrzeit.

Im Folgenden finden Sie einen Screenshot einer Beispiel-SAS-Token-Konfiguration:

Azure Blob SAS-Token-Konfiguration

Wenn Protokolle nicht mehr bereitgestellt werden, nachdem sie zuvor korrekt bereitgestellt wurden, überprüfen Sie, ob das von Ihnen konfigurierte SAS-Token weiterhin gültig ist, da es möglicherweise abgelaufen ist.

Azure Blob Storage-CDN-Protokolle azureblob-cdn

Jeder der global verteilten Protokollierungs-Server erzeugt alle paar Sekunden eine neue Datei im Ordner aemcdn. Nach der Erstellung wird nichts mehr an die Datei angehängt. Das Dateinamenformat ist JJJJ-MM-DDThhss.sss-uniqueid.log. Beispielsweise 2024-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.

Beispielsweise zu einem bestimmten Zeitpunkt:

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

Und dann 30 Sekunden später:

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

Jede Datei enthält mehrere JSON-Protokolleinträge, die sich jeweils in einer separaten Zeile befinden. Die Protokolleintragsformate werden unter Protokollierung für AEM as a Cloud Service beschrieben. Jeder Protokolleintrag enthält auch die zusätzlichen Eigenschaften, die im Abschnitt Protokolleintragsformate unten erwähnt werden.

Azure Blob Storage-AEM-Protokolle azureblob-aem

AEM-Protokolle (einschließlich Apache/Dispatcher) werden unter einem Ordner mit der folgenden Namenskonvention angezeigt:

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

Unter jedem Ordner wird eine einzelne Datei erstellt, an die angehängt wird. Kundinnen und Kunden sind für die Verarbeitung und Verwaltung dieser Datei verantwortlich, damit sie nicht zu groß wird.

Weitere Informationen finden Sie in den Protokolleintragsformaten unter Protolkollierung für AEM as a Cloud Service. Die Protokolleinträge enthalten auch die zusätzlichen Eigenschaften, die im Abschnitt Protokolleintragsformate unten erwähnt werden.

Datadog datadog

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

Überlegungen

  • Erstellen Sie einen API-Schlüssel ohne Integration mit einem bestimmten Cloud-Anbieter.
  • Die Eigenschaft „tags“ ist optional
  • Bei AEM-Protokollen wird das Datadog-Quell-Tag auf eines der folgenden festgelegt: aemaccess, aemerror, aemrequest, aemdispatcher, aemhttpdaccess oder aemhttpderror
  • Bei CDN-Protokollen wird das Datadog-Quell-Tag auf aemcdn gesetzt
  • Das Datadog-Service-Tag ist auf adobeaemcloud festgelegt, kann jedoch im Tags-Abschnitt überschrieben werden
  • Wenn Ihre Aufnahme-Pipeline Datadog-Tags verwendet, um den entsprechenden Index für Weiterleitungsprotokolle zu ermitteln, stellen Sie sicher, dass diese Tags in der YAML-Datei für die Protokollweiterleitung korrekt konfiguriert sind. Fehlende Tags können eine erfolgreiche Protokollaufnahme verhindern, wenn die Pipeline von ihnen abhängig ist.

Elasticsearch und OpenSearch elastic

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

Überlegungen

  • Der standardmäßige Port ist 443. Optional kann er mit einer Eigenschaft namens port überschrieben werden.
  • Verwenden Sie als Anmeldeinformationen Implementierungs-Anmeldeinformationen und keine Konto-Anmeldeinformationen. Dies sind die Anmeldeinformationen, die auf einem Bildschirm ähnlich dem folgenden generiert werden:

Implementierungs-Anmeldeinformationen für Elastic

  • Für AEM-Protokolle ist index auf einen der Werte aemaccess, aemerror, aemrequest, aemdispatcher, aemhttpdaccess oder aemhttpderror festgelegt.
  • Die optionale Pipeline-Eigenschaft sollte auf den Namen der Elasticsearch- oder OpenSearch-Aufnahme-Pipeline festgelegt werden, die so konfiguriert werden kann, dass der Protokolleintrag an den entsprechenden Index weitergeleitet wird. Der Prozessortyp der Pipeline muss auf script und die Skriptsprache auf painless eingestellt werden. Hier finden Sie ein Beispielskript-Snippet zur Weiterleitung von Protokolleinträgen in einen Index wie 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"
data:
  https:
    default:
      enabled: true
      url: "https://example.com/aem_logs/aem"
      authHeaderName: "X-AEMaaCS-Log-Forwarding-Token"
      authHeaderValue: "${{HTTPS_LOG_FORWARDING_TOKEN}}"

Überlegungen

  • Die URL-Zeichenfolge muss https:// enthalten. Andernfalls schlägt die Validierung fehl.
  • Die URL kann einen Port enthalten. Beispiel: https://example.com:8443/aem_logs/aem. Wenn in der URL-Zeichenfolge kein Port enthalten ist, wird Port 443 (der standardmäßige HTTPS-Port) angenommen.

HTTPS-CDN-Protokolle https-cdn

Web-Anfragen (POSTs) werden kontinuierlich mit einer JSON-Payload gesendet, die ein Array von Protokolleinträgen ist, wobei das unter Protokollierung für AEM as a Cloud Service beschriebene Protokolleintragsformat verwendet wird. Weitere Eigenschaften werden im Abschnitt Protokolleintragsformate unten beschrieben.

Es gibt auch eine Eigenschaft mit dem Namen sourcetype, für die der Wert aemcdn festgelegt ist.

NOTE
Bevor der erste CDN-Protokolleintrag gesendet wird, muss Ihr HTTP-Server eine einmalige Anfrage erfolgreich abschließen: Eine Anfrage, die an den Pfad gesendet wird, muss /.well-known/fastly/logging/challenge mit einem Sternchen * im Hauptteil und dem Status-Code 200 antworten.

HTTPS-AEM-Protokolle https-aem

Bei AEM-Protokollen (einschließlich Apache/Dispatcher) werden Web-Anfragen (POSTs) kontinuierlich mit einer JSON-Payload gesendet, die ein Array von Protokolleinträgen mit den verschiedenen Protokolleintragsformaten ist, wie unter Protokollierung für AEM as a Cloud Service beschrieben. Weitere Eigenschaften werden im Abschnitt Protokolleintragsformate unten beschrieben.

Es gibt auch eine Eigenschaft mit dem Namen Source-Type, die auf einen der folgenden Werte eingestellt ist:

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

New Relic-Protokoll-API newrelic-https

Die Protokollweiterleitung an New Relic nutzt die New Relic-HTTPS-API für die Aufnahme. Derzeit werden nur Protokolle von AEM und Dispatcher unterstützt. CDN-Protokolle werden noch nicht unterstützt.

  kind: "LogForwarding"
  version: "1"
  data:
    newRelic:
      default:
        enabled: true
        uri: "https://log-api.newrelic.com/log/v1"
        apiKey: "${{NR_API_KEY}}"
NOTE
Die Protokollweiterleitung an New Relic ist nur für kundeneigene New Relic-Konten verfügbar.
Die Unterstützung des CDN-Protokolls für die New Relic-Protokoll-API ist für die Zukunft geplant. Bitte senden Sie eine E-Mail an {0🔗aemcs-logforwarding-beta@adobe.com), um Interesse zu registrieren.
New Relic bietet regionsspezifische Endpunkte, je nachdem, wo Ihr New Relic-Konto bereitgestellt ist. Weitere Informationen finden Sie in der New Relic-Dokumentation.

Dynatrace-Protokoll-API dynatrace-https

Die Protokollweiterleitung an Dynatrace nutzt die Dynatrace-HTTPS-API für die Aufnahme. Derzeit werden nur Protokolle von AEM und Dispatcher unterstützt. CDN-Protokolle werden noch nicht unterstützt.

Das Umfangsattribut „Ingest Logs“ ist für das Token erforderlich.

  kind: "LogForwarding"
  version: "1"
  data:
    dynatrace:
      default:
        enabled: true
        environmentId: "${{DYNATRACE_ENVID}}"
        token: "${{DYNATRACE_TOKEN}}"
NOTE
Die Unterstützung des CDN-Protokolls für die Dynatrace-Protokoll-API ist für die Zukunft geplant. Bitte senden Sie eine E-Mail an {0🔗aemcs-logforwarding-beta@adobe.com), um Interesse zu registrieren.

Splunk splunk

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

Überlegungen

  • Der standardmäßige Port ist 443. Optional kann er mit einer Eigenschaft namens port überschrieben werden.
  • Das Feld „sourceType“ hat abhängig vom spezifischen Protokoll einen der folgenden Werte: aemaccess, aemerror,
    aemrequest, aemdispatcher, aemhttpdaccess, aemhttpderror, aemcdn.
  • Wenn die erforderlichen IPs auf die Zulassungsliste gesetzt wurden und die Protokolle immer noch nicht bereitgestellt werden, stellen Sie sicher, dass keine Firewall-Regeln aktiv sind, die die Splunk-Token-Validierung erzwingen. Fastly führt einen anfänglichen Validierungsschritt durch, bei dem absichtlich ein ungültiges Splunk-Token gesendet wird. Wenn Ihre Firewall so eingestellt ist, dass Verbindungen mit ungültigen Splunk-Token beendet werden, schlägt der Validierungsprozess fehl, was Fastly daran hindert, Protokolle an Ihre Splunk-Instanz zu senden.
NOTE
Bei der Migration von der alten Protokollweiterleitung zu diesem Self-Service-Modell haben sich die Werte des Felds sourcetype, die an Ihren Splunk-Index gesendet werden, möglicherweise geändert. Passen Sie sie daher entsprechend an.

Sumo Logic sumologic

Bei der Konfiguration der Sumo-Logik für die Datenaufnahme erhalten Sie eine „HTTP Source Address“, die den Host, den Receiver-URI und den privaten Schlüssel in einer einzigen Zeichenfolge bereitstellt. Beispiel:

https://collectors.de.sumologic.com/receiver/v1/http/ZaVnC...

Sie müssen den letzten Abschnitt der URL (ohne den vorhergehenden /) kopieren und als Cloud Manager-Geheimnis-Umgebungsvariable hinzufügen, wie oben im Abschnitt Setup beschrieben, und dann in Ihrer Konfiguration auf diese Variable verweisen. Ein Beispiel wird unten angezeigt.

kind: "LogForwarding"
version: "1"
data:
  sumoLogic:
    default:
      enabled: true
      collectorURL: "https://collectors.de.sumologic.com/receiver/v1/http"
      privateKey: "${{SUMOLOGIC_PRIVATE_KEY}}"
      index: "aem-logs"
NOTE
Das Verhalten der index hängt vom Protokolltyp ab:
  • AEM-Protokolle (einschließlich Apache/Dispatcher): an die von index angegebene Partition weitergeleitet, sofern Sie über ein Sumo Logic Enterprise-Abonnement verfügen. Nicht-Enterprise-Abonnements werden stattdessen zur sumologic_default-Partition weitergeleitet.
  • CDN-Protokolle: Das index Feld wird ignoriert, da die Indizierung für CDN-Protokolle, die an Sumo Logic weitergeleitet werden, technisch nicht unterstützt wird. CDN-Protokolle werden immer an die sumologic_default-Partition weitergeleitet.
Weitere Informationen finden Sie in der Dokumentation zur Sumo Logic-Partitionierung.

Protokolleintragsformate log-formats

Unter Protokollierung für AEM as a Cloud Service finden Sie das Format der jeweiligen Protokolltypen (CDN-Protokolle und AEM-Protokolle, einschließlich Apache/Dispatcher).

Da Protokolle aus mehreren Programmen und Umgebungen an dasselbe Logging-Ziel weitergeleitet werden können, sind zusätzlich zum im Logging-Artikel beschriebenen Output die folgenden Eigenschaften in jedem Protokolleintrag enthalten:

  • aem_env_id
  • aem_env_type
  • aem_program_id
  • aem_tier

Beispielsweise könnten die Eigenschaften die folgenden Werte aufweisen:

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

Migration von der alten Protokollweiterleitung legacy-migration

Bevor die Konfiguration der Protokollweiterleitung über ein Self-Service-Modell erfolgte, wurden Kundinnen und Kunden aufgefordert, Support-Tickets zu öffnen, damit Adobe die Integration initiierte.

Kundinnen und Kunden, deren Setup von Adobe auf diese Weise erstellt wurde, können jederzeit zum Self-Service-Modell wechseln. Es gibt mehrere Gründe für diesen Umstieg:

  • Eine neue Umgebung (z. B. eine neue Entwicklungsumgebung oder RDE) wurde bereitgestellt.
  • Änderungen an Ihrem vorhandenen Splunk-Endpunkt oder Ihren Anmeldedaten.
  • Adobe hatte die Protokollweiterleitung eingerichtet, bevor CDN-Protokolle verfügbar waren, und Sie möchten CDN-Protokolle erhalten.
  • Eine bewusste Entscheidung, proaktiv das Self-Service-Modell zu übernehmen, damit Ihr Unternehmen über das Wissen verfügt, noch bevor eine zeitkritische Änderung erforderlich ist.

Wenn Sie zur Migration bereit sind, konfigurieren Sie einfach die YAML-Datei wie in den vorherigen Abschnitten beschrieben. Verwenden Sie die Cloud Manager-Konfigurations-Pipeline, um sie in jeder Umgebung zu implementieren, in der die Konfiguration angewendet werden soll.

Es wird empfohlen, ist aber nicht erforderlich, dass eine Konfiguration in allen Umgebungen implementiert wird, damit sie alle per Self-Service gesteuert werden. Anderenfalls könnten Sie vielleicht vergessen, welche Umgebungen von Adobe und welche Umgebungen eigenständig konfiguriert wurden.

NOTE
Die Werte des Felds sourcetype, die an Ihren Splunk-Index gesendet werden, haben sich möglicherweise geändert. Passen Sie sie daher entsprechend an.
Wenn die Protokollweiterleitung in einer Umgebung implementiert wird, die zuvor vom Adobe-Support konfiguriert wurde, erhalten Sie möglicherweise einige Stunden lang doppelte Protokolle. Dies wird jedoch nach kurzer Zeit automatisch aufhören.
recommendation-more-help
experience-manager-cloud-service-help-main-toc