Transfert de journaux log-forwarding
Les clients disposant d’une licence auprès d’un fournisseur de journalisation ou qui hébergent un produit de journalisation peuvent transférer les journaux AEM (y compris Apache/Dispatcher) et les journaux CDN vers la destination de journalisation associée. AEM as a Cloud Service prend en charge les destinations de journalisation suivantes :
[1] le transfert des journaux CDN vers Amazon S3, Dynatrace et New Relic est en version bêta. Pour demander l’accès, envoyez un courrier électronique à l’adresse 🔗 avec votre ID de programme. Une fois l’accès activé, vous activez également les journaux CDN pour chaque destination avec cdn.enabled: true. Voir Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta).
Le transfert du journal est configuré en libre-service en déclarant une configuration dans Git et peut être déployé via les pipelines de configuration de Cloud Manager vers les types d’environnements de développement, d’évaluation et de production. Le fichier de configuration peut être déployé dans des environnements de développement rapide (RDE) à l’aide de l’outil de ligne de commande.
Il existe une option pour que les journaux AEM et Apache/Dispatcher soient acheminés via l’infrastructure de réseau avancée d’AEM, telle que l’adresse IP de sortie dédiée. Les journaux CDN sont toujours envoyés directement à partir du CDN et n’utilisent pas la mise en réseau avancée. Voir Transport et mise en réseau avancée .
Organisation de cet article how-organized
L’organisation de cet article est la suivante :
- Configuration : commune à toutes les destinations de journalisation.
- Transport et mise en réseau avancée : la configuration réseau doit être prise en compte avant la création de la configuration de journalisation
- Authentification TLS mutuelle (mTLS) (version bêta) : authentification aux destinations Splunk, Elasticsearch/OpenSearch et HTTPS avec certificat client
- Configurations des destinations de journalisation - Chaque destination a un format légèrement différent
- Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta) : comment demander l’accès aux journaux CDN pour ces destinations et les activer
- Formats d’entrée du journal : informations sur les formats d’entrée du journal
- Migration du transfert de journal hérité : comment passer du transfert de journal précédemment configuré par Adobe à l’approche en libre-service.
Configuration setup
-
Créez un fichier nommé
logForwarding.yaml. Il doit contenir des métadonnées, comme décrit dans l’article Pipeline de configuration (kind doit être défini surLogForwardinget la version doit être définie sur « 1 »), avec une configuration similaire à la suivante (nous utilisons Splunk comme exemple).code language-yaml kind: "LogForwarding" version: "1" data: splunk: default: enabled: true host: "splunk-host.example.com" token: "${{SPLUNK_TOKEN}}" index: "AEMaaCS" -
Placez le fichier quelque part sous un dossier de niveau supérieur nommé config ou similaire, comme décrit dans la section Utilisation des pipelines de configuration.
-
Pour les types d’environnement autres que le RDE (qui utilise l’outil de ligne de commande), créez un pipeline de configuration de déploiement ciblé dans Cloud Manager, comme indiqué dans cette section ; notez que les pipelines de pile complète et de niveau web ne déploient pas le fichier de configuration.
-
Déployez la configuration.
Les jetons de la configuration (tels que ${{SPLUNK_TOKEN}}) représentent des secrets, qui ne doivent pas être stockés dans Git. Au lieu de cela, déclarez-les comme Cloud Manager Variables d’environnement secrètes. Veillez à sélectionner Tous comme valeur de liste déroulante pour le champ Service appliqué afin que les journaux puissent être transférés aux niveaux de création, de publication et de prévisualisation.
Il est possible de définir des valeurs différentes entre les journaux CDN et les journaux AEM (y compris Apache/Dispatcher), en incluant un bloc cdn et/ou aem supplémentaire après le bloc default, où les propriétés peuvent remplacer celles définies dans le bloc default ; seule la propriété enabled est requise. Un cas d’utilisation possible pourrait consister à utiliser un index Splunk différent pour les journaux CDN, comme illustré dans l’exemple ci-dessous.
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"
cdn se enabled: true. Voir Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta).Un autre scénario consiste à désactiver le transfert des journaux CDN ou des journaux AEM (y compris Apache/Dispatcher). Par exemple, pour transférer uniquement les journaux du réseau CDN, vous pouvez configurer les éléments suivants :
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
token: "${{SPLUNK_TOKEN}}"
index: "AEMaaCS"
aem:
enabled: false
Transport et mise en réseau avancée transport-advancednetworking
Certaines organisations choisissent de limiter le trafic pouvant être reçu par les destinations de journalisation, d’autres peuvent nécessiter d’utiliser des ports autres que HTTPS (443). Si tel est le cas, Mise en réseau avancée doit être configuré avant le déploiement de la configuration de transfert de journal.
Utilisez le tableau ci-dessous pour connaître les exigences relatives à la configuration avancée de la mise en réseau et de la journalisation selon que vous utilisez le port 443 ou non et que vous avez besoin ou non que vos journaux apparaissent à partir d’une adresse IP fixe. Le tableau s’applique aux journaux AEM (y compris Apache/Dispatcher). Pour les journaux CDN, voir Journaux CDN et listes autorisées IP.
Pour les journaux AEM (y compris Apache/Dispatcher), si vous avez configuré Mise en réseau avancée, vous pouvez utiliser la propriété aem.advancedNetworking pour les transférer à partir d’une adresse IP sortante dédiée.
L’exemple ci-dessous montre comment configurer la journalisation sur un port HTTPS standard avec la mise en réseau avancée.
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
port: 443
token: "${{SPLUNK_TOKEN}}"
index: "aemaacs"
aem:
advancedNetworking: true
Journaux CDN et listes autorisées IP cdn-ip-allowlist
Les journaux CDN sont envoyés directement à partir du CDN (Fastly), et non à partir d’AEM as a Cloud Service. Cela s’applique à chaque destination de journalisation :
- Les journaux CDN sont envoyés à partir des plages d’adresses IP partagées de Fastly, publiées à l’adresse 🔗. Elles ne sont jamais envoyées à partir de votre adresse IP sortante dédiée.
- La propriété
advancedNetworkings’applique uniquement aux journaux AEM (y compris Apache/Dispatcher). Cela n’a aucun effet sur les journaux du réseau CDN. SiadvancedNetworkingest défini et que le transfert du journal CDN est activé pour la même destination, la configuration est déployée avec un avertissement comme rappel. - Si votre destination de journalisation accepte uniquement le trafic provenant d’adresses IP spécifiques, ajoutez toutes les plages d’adresses IPv4 et IPv6 publiées par Fastly à sa liste autorisée, en plus de votre adresse IP sortante dédiée pour les journaux AEM. Une destination qui autorise uniquement votre adresse IP sortante dédiée ne reçoit aucun journal CDN.
- Les plages d’adresses IP de Fastly changent au fil du temps, parfois en quelques semaines. Consultez régulièrement la liste publiée et tenez vos listes autorisées à jour.
- Amazon S3 comporte des considérations supplémentaires pour les journaux CDN. Voir Journaux du réseau CDN Amazon S3.
Si la liste des adresses IP partagées est trop volumineuse pour la liste autorisée, pensez à envoyer les journaux du réseau CDN à un serveur https ou à un magasin d’objets blob Azure (autre qu’Adobe) où une logique peut être écrite pour envoyer les journaux d’une adresse IP connue vers leur destination finale.
Authentification TLS mutuelle (mTLS) (version bêta) mtls
Les destinations Splunk, Elasticsearch/OpenSearch et HTTPS prennent en charge le protocole mTLS (Mutuel TLS). Avec mTLS, AEM as a Cloud Service présente un certificat client lorsqu’il se connecte à votre destination de journalisation, de sorte que la destination puisse vérifier que les journaux proviennent de votre environnement. mTLS s’applique aux journaux AEM (y compris Apache/Dispatcher) et aux journaux CDN.
mTLS fonctionne avec l’authentification existante de la destination. Conservez les propriétés d’authentification existantes de la destination, telles que token (Splunk) ou user et password (Elasticsearch/OpenSearch). Pour les destinations HTTPS qui transfèrent les journaux du réseau CDN, les authHeaderName et authHeaderValue sont obligatoires.
Configuration mtls-configuration
Ajoutez un bloc mtls avec les autres propriétés de la destination :
cert- obligatoire. Certificat client au format PEM. Elle peut être suivie de certificats d’autorité de certification intermédiaires, avec le certificat client en premier.key- obligatoire. Clé privée du certificat client, au format PEM. Les clés RSA et EC sont prises en charge, non chiffrées ou chiffrées. Voir Formats de clés pris en charge.ca- facultatif. Certificat de l’autorité de certification, au format PEM, utilisé pour vérifier le certificat du serveur de destination. Il peut contenir plusieurs certificats, par exemple une chaîne de certificats. Définissez-le lorsque le certificat du serveur est émis par une autorité de certification privée.keyPasswd- facultatif. Mot de passe de la clé privée. Définissez-le uniquement si la clé est chiffrée.
L’exemple suivant transfère les journaux AEM et CDN vers Splunk à l’aide de mTLS :
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}}"
Les règles suivantes s’appliquent :
certetkeydoivent être fournis ensemble. Un bloc demtlscontenant uniquement descaou deskeyPasswdest rejeté.- Chaque propriété
mtlsdoit être une référence secrète, telle que${{SPLUNK_MTLS_CERT}}, et rien d’autre. Le texte du certificat ou de la clé placé directement dans le fichier est rejeté. - Déclarez chaque secret en tant que Cloud Manager Variable d’environnement secrète, comme décrit dans Configuration. Collez le texte PEM complet, y compris les lignes
-----BEGINet-----END. Si les sauts de ligne sont supprimés lorsque vous collez la valeur dans Cloud Manager, ils sont automatiquement restaurés. Pour fournir plusieurs certificats, collez-les l’un après l’autre dans le même secret. - Le certificat client est vérifié lors du déploiement. Il doit être valide et dans sa période de validité. Si
certcontient plusieurs certificats, le certificat client doit être prioritaire et les certificats doivent former une chaîne valide. Si une vérification échoue, le déploiement échoue.
Formats de clés pris en charge mtls-key-formats
La première ligne du texte PEM de la clé affiche son format :
-----BEGIN RSA PRIVATE KEY----------BEGIN EC PRIVATE KEY----------BEGIN PRIVATE KEY----------BEGIN ENCRYPTED PRIVATE KEY-----DES-EDE3-CBC)-----BEGIN RSA PRIVATE KEY----- ou -----BEGIN EC PRIVATE KEY-----, suivis de lignes Proc-Type: 4,ENCRYPTED et DEK-InfoPour une clé chiffrée, définissez également keyPasswd sur son mot de passe.
PKCS#8 chiffré est recommandé pour les clés chiffrées. Pour convertir une clé dans l’ancien format, utilisez la commande suivante, qui demande le mot de passe actuel, puis le mot de passe de la nouvelle clé :
openssl pkcs8 -topk8 -v2 aes-256-cbc -in client.key -out client-pkcs8.key
Stockez le contenu de client-pkcs8.key dans le secret référencé par key et son mot de passe dans le secret référencé par keyPasswd.
Journaux CDN mtls-cdn
Comme les autres propriétés, un bloc mtls sous default s’applique à la fois aux journaux AEM et aux journaux CDN. Pour utiliser un certificat différent pour les journaux CDN, définissez les propriétés mtls dans un bloc cdn. Pour utiliser le protocole mTLS uniquement pour les journaux AEM ou uniquement pour les journaux CDN, placez le bloc mtls dans le bloc aem ou cdn au lieu de default.
Après le déploiement d’une configuration qui active le transfert des journaux CDN vers une destination, il peut s’écouler plusieurs minutes avant l’arrivée des premiers journaux CDN. Pour les destinations HTTPS, la diffusion des journaux du réseau CDN ne démarre également qu’une fois que votre serveur a terminé le défi unique décrit dans HTTPS. La demande de défi est envoyée avec le même certificat client, de sorte que votre serveur doit également accepter ce certificat sur le chemin du défi.
Rotation et expiration du certificat mtls-rotation
Pour faire pivoter un certificat, mettez à jour les variables d’environnement secrètes Cloud Manager qui contiennent le certificat (et la clé, si elle a été modifiée), puis réexécutez le pipeline de configuration. Si le fichier de configuration de transfert du journal lui-même est inchangé, apportez-y également une modification afin que la configuration soit à nouveau appliquée. Par exemple, stockez les nouvelles valeurs dans de nouvelles variables d’environnement secrètes et référencez ces noms dans le bloc mtls .
Vous pouvez également recevoir une notification proactive Centre d’actions environ 21 jours avant l’expiration d’un certificat client. Suivez vous-même les dates d’expiration des certificats plutôt que de vous fier à cette notification.
Consignation de la configuration de destination logging-destinations
Les configurations des destinations de journalisation prises en charge sont répertoriées ci-dessous, avec des considérations spécifiques.
Amazon S3 amazons3
Les journaux CDN pour Amazon S3 sont en version bêta. Pour demander l’accès, envoyez un courrier électronique à l’adresse 🔗 avec votre ID de programme. Consultez Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta) pour savoir comment les activer, et Journaux CDN Amazon S3 pour la disposition des fichiers et pour plus d’informations.
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}}"
Pour transférer les journaux AEM et les journaux CDN (journaux CDN en version bêta) :
kind: "LogForwarding"
version: "1"
data:
awsS3:
default:
enabled: true
region: "us-east-1"
bucket: "your-bucket-name"
accessKey: "${{AWS_S3_ACCESS_KEY}}"
secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
cdn:
enabled: true
Pour transférer uniquement les journaux CDN (en version bêta) :
kind: "LogForwarding"
version: "1"
data:
awsS3:
default:
enabled: true
region: "us-east-1"
bucket: "your-bucket-name"
accessKey: "${{AWS_S3_ACCESS_KEY}}"
secretAccessKey: "${{AWS_S3_SECRET_ACCESS_KEY}}"
aem:
enabled: false
cdn:
enabled: true
Pour utiliser le redirecteur de journal S3, vous devez préconfigurer un utilisateur AWS IAM avec la politique appropriée pour accéder à votre compartiment S3. Consultez la Documentation de l’utilisateur AWS IAM pour savoir comment créer des informations d’identification d’utilisateur IAM.
La politique IAM doit permettre à l’utilisateur d’utiliser s3:PutObject. Pour transférer les journaux CDN (en version bêta), autorisez également s3:AbortMultipartUpload. Aucune autre autorisation n’est nécessaire : l’utilisateur n’a pas besoin de lire ou de répertorier le compartiment. Par exemple :
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:AbortMultipartUpload"
],
"Resource": "arn:aws:s3:::your-bucket-name/*"
}]
}
Si le compartiment ne reçoit que des journaux CDN, vous pouvez limiter le Resource à arn:aws:s3:::your-bucket-name/aemcdn/*.
Consultez la documentation de la politique de compartiment pour plus d’informations sur la mise en œuvre.
Journaux du réseau CDN Amazon S3 (version bêta) amazons3-cdn
Les journaux CDN pour Amazon S3 sont en version bêta. Ils ont besoin d’un accès à votre programme et à vos cdn.enabled: true. Voir Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta).
Les journaux CDN sont écrits sous le dossier aemcdn/ de votre compartiment. Le format du nom de fichier est YYYY-MM-DDThh:mm:ss.000-<uniqueid>.log.gz. Par exemple :
aemcdn/
2026-03-04T10:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.gz
2026-03-04T10:00:00.000-0pX8ub2yQcAmLs7rT1kd.log.gz
2026-03-04T10:05:00.000-h3JkVv9ZqN2wE5sXyR0a.log.gz
- Les fichiers sont compressés au format GZIP. Chaque fichier contient plusieurs entrées de journal, un objet JSON par ligne. Les entrées ont les mêmes propriétés que les journaux CDN écrits dans le stockage Blob d’Azure. Le format des entrées de journal est décrit sous Journalisation pour AEM as a Cloud Service et chaque entrée inclut également les propriétés supplémentaires mentionnées dans la section Formats des entrées de journal ci-dessous.
- Un nouveau jeu de fichiers est écrit toutes les 5 minutes. Le réseau CDN comporte de nombreux serveurs et chaque serveur qui a géré votre trafic écrit son propre fichier. Attendez-vous donc à ce qu’il y ait de nombreux fichiers pour chaque période de 5 minutes, même avec peu de trafic. Par exemple, un environnement de test à faible trafic générait environ 50 fichiers toutes les 5 minutes.
- Les entrées de journal apparaissent généralement dans le compartiment 1 à 6 minutes après la requête.
- L’heure du nom de fichier n’est pas une fenêtre temporelle exacte et les fichiers se chevauchent. Par exemple, un fichier nommé
…T16:00:00.000-….log.gzpeut contenir des entrées comprises entre 15:55 et 16:04. Utilisez la propriététimestampde chaque entrée pour déterminer à quel moment une demande s’est produite. - Les fichiers ne sont pas modifiés après leur écriture.
Les clients sont chargés du traitement et de la gestion de ces fichiers, par exemple avec une règle de cycle de vie S3 sur le préfixe aemcdn/.
Considérations relatives aux journaux CDN (version bêta) :
-
L’authentification utilise la clé d’accès d’un utilisateur IAM. Les rôles IAM ne sont pas pris en charge.
-
L’utilisateur IAM n’a besoin que de
s3:PutObjectet des3:AbortMultipartUpload. Il n’a pas besoin d’autorisation pour lire ou répertorier le compartiment. -
Le chiffrement du compartiment par défaut avec les clés gérées par Amazon S3 (SSE-S3) est pris en charge, et les fichiers journaux du réseau CDN sont ensuite chiffrés au repos.
-
Seuls les compartiments des régions commerciales AWS standard sont pris en charge. Les régions AWS GovCloud (États-Unis) et AWS Chine ne sont pas prises en charge. La propriété
regiondoit être la région de l’intervalle. -
Les chargements rejetés ne sont pas repris. Si la politique de compartiment ou les autorisations de l’utilisateur IAM rejettent le chargement de journaux CDN, les entrées de journal dans ce chargement sont perdues sans avertissement. Cette méthode est différente de celle des journaux AEM, où les chargements ayant échoué sont relancés. Assurez-vous que les modifications apportées à votre stratégie de compartiment ou à l’utilisateur IAM ne bloquent pas les chargements à partir du réseau CDN.
-
Nous recommandons un utilisateur IAM qui n’est autorisé que
s3:PutObjectets3:AbortMultipartUploadsur le compartiment (ou uniquement sur le préfixeaemcdn/, si le compartiment ne reçoit que des journaux CDN) et une politique de compartiment sans conditions d’adresse IP. -
Si votre stratégie de compartiment limite l’accès par adresse IP, ajoutez toutes les plages IPv4 et IPv6 publiées de Fastly à la condition
aws:SourceIpet tenez-les à jour. Voir Journaux CDN et listes autorisées IP. -
Les compartiments qui acceptent uniquement les requêtes via un point d’entrée VPC (par exemple, une politique de compartiment avec une condition
aws:SourceVpce) ne peuvent pas recevoir de journaux CDN. -
Pour détecter les journaux CDN perdus, tenez compte des points suivants :
- Événements de données AWS CloudTrail ou journaux d’accès au serveur S3. Ils enregistrent les requêtes
PutObjectrejetées (statut HTTP 403) à partir des adresses IP de Fastly. - Une alarme qui se déclenche lorsqu’aucun nouvel objet n’est arrivé sous
aemcdn/plus longtemps que prévu. Les fichiers sont écrits toutes les 5 minutes.
- Événements de données AWS CloudTrail ou journaux d’accès au serveur S3. Ils enregistrent les requêtes
Stockage d’objets blob Azure azureblob
kind: "LogForwarding"
version: "1"
data:
azureBlob:
default:
enabled: true
storageAccountName: "example_acc"
container: "aem_logs"
sasToken: "${{AZURE_BLOB_SAS_TOKEN}}
Un jeton SAS doit être utilisé pour l’authentification. Il doit être créé à partir de la page de signature d’accès partagé, plutôt que sur la page Jeton d’accès partagé , et doit être configuré avec les paramètres suivants :
- Services autorisés : l’objet Blob doit être sélectionné.
- Ressources autorisées : l’objet et le conteneur doivent être sélectionnés.
- Les autorisations autorisées : lecture, écriture, ajout, liste, création doivent être sélectionnées.
- Une date/heure de début et d’expiration valide. L’expiration doit intervenir dans un délai d’au moins trois mois au moment du déploiement de la configuration.
Voici une capture d’écran d’un exemple de configuration de jeton SAS :
Si la diffusion des journaux a cessé après un fonctionnement correct, vérifiez si le jeton SAS que vous avez configuré est toujours valide, car il a peut-être expiré.
Journaux du réseau CDN de stockage Blob Azure azureblob-cdn
Chacun des serveurs de journalisation distribués globalement produira un nouveau fichier toutes les quelques secondes, sous le dossier aemcdn. Une fois créé, le fichier n’est plus ajouté à . Le format du nom de fichier est AAAA-MM-JJThhss.sss-uniqueid.log. Par ex., 2024-03-:00:00.000-WnFWYN9BpOUs2aOVn4ee.log.
Par exemple, à un moment donné :
aemcdn/
2024-03-04T10:00:00.000-abc.log
2024-03-04T10:00:00.000-def.log
Et puis 30 secondes plus tard :
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
Chaque fichier contient plusieurs entrées de journal json, chacune sur une ligne distincte. Les formats d’entrée de journal sont décrits à la section Journalisation pour AEM as a Cloud Service et chaque entrée de journal inclut également les propriétés supplémentaires mentionnées dans la section Formats d’entrée de journal ci-dessous.
Journaux AEM du stockage Blob Azure azureblob-aem
Les journaux AEM (y compris Apache/Dispatcher) s’affichent sous un dossier avec la convention de nommage suivante :
- aemaccess
- aemerror
- aemrequest
- aemdispatcher
- aemhttpdaccess
- aemhttpderror
Sous chaque dossier, un seul fichier est créé et ajouté. Les clients sont chargés de traiter et de gérer ce fichier afin qu’il ne s’étende pas trop.
Consultez les formats d’entrée de journal sous Journalisation pour AEM as a Cloud Service . Les entrées de journal incluent également les propriétés supplémentaires mentionnées dans la section Formats d’entrée de journal ci-dessous.
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
Considérations
- Créez une clé API, sans intégration à un fournisseur de cloud spécifique.
- La propriété des balises est facultative
- Pour les journaux AEM, la balise source Datadog est définie sur
aemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccessouaemhttpderror - Pour les journaux CDN, la balise source Datadog est définie sur
aemcdn - La balise de service Datadog est définie sur
adobeaemcloud, mais vous pouvez la remplacer dans la section des balises - Si votre pipeline d’ingestion utilise des balises Datadog pour déterminer l’index approprié pour les journaux de transfert, vérifiez que ces balises sont correctement configurées dans le fichier YAML de transfert de journal. Les balises manquantes peuvent empêcher l’ingestion réussie du journal si le pipeline en dépend.
Elasticsearch et OpenSearch elastic
kind: "LogForwarding"
version: "1"
data:
elasticsearch:
default:
enabled: true
host: "example.com"
user: "${{ELASTICSEARCH_USER}}"
password: "${{ELASTICSEARCH_PASSWORD}}"
pipeline: "ingest pipeline name"
Considérations
- par défaut, le port est 443. Il peut éventuellement être remplacé par une propriété nommée
port - Pour les informations d’identification, veillez à utiliser les informations d’identification de déploiement plutôt que les informations d’identification de compte. Voici les informations d’identification générées dans un écran qui peut ressembler à cette image :
- Pour les journaux AEM,
indexest défini suraemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccessouaemhttpderror - La propriété de pipeline facultative doit être définie sur le nom du pipeline d’ingestion Elasticsearch ou OpenSearch, qui peut être configuré pour acheminer l’entrée du journal vers l’index approprié. Le type de processeur du pipeline doit être défini sur script et le langage de script doit être défini sur sans douleur. Voici un exemple de fragment de script permettant d’acheminer les entrées de journal vers un index tel que 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}}"
Considérations
- La chaîne d’URL doit inclure sinon la validation échouera.
- L’URL peut inclure un port. Par exemple,
https://example.com:8443/aem_logs/aem. Si aucun port n’est inclus dans la chaîne d’URL, le port 443 (port HTTPS par défaut) est supposé.
Journaux de réseau CDN HTTPS https-cdn
Les requêtes web (POST) seront envoyées en continu, avec une payload json qui est un tableau d’entrées de journal, avec le format d’entrée de journal décrit sous Journalisation pour AEM as a Cloud Service. Des propriétés supplémentaires sont mentionnées dans la section Formats d’entrée de journal ci-dessous.
Il existe également une propriété nommée sourcetype, qui est définie sur la valeur aemcdn.
/.well-known/fastly/logging/challenge doit répondre avec un astérisque * dans le corps et le code d’état 200.Journaux HTTPS AEM https-aem
Pour les journaux AEM (y compris Apache/Dispatcher), les requêtes web (POST) sont envoyées en continu, avec une payload json qui est un tableau d’entrées de journal, avec les différents formats d’entrée de journal comme décrit dans Journalisation pour AEM as a Cloud Service. Des propriétés supplémentaires sont mentionnées dans la section Formats d’entrée de journal ci-dessous.
Il existe également une propriété nommée Source-Type, qui est définie sur l’une des valeurs suivantes :
- aemaccess
- aemerror
- aemrequest
- aemdispatcher
- aemhttpdaccess
- aemhttpderror
API du journal New Relic newrelic-https
Le transfert de journal vers New Relic utilise l’API de journal HTTPS New Relic pour l’ingestion. Les journaux CDN vers New Relic sont en version bêta. Pour demander l’accès, envoyez un courrier électronique à l’adresse 🔗 avec votre ID de programme. Consultez Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta) pour savoir comment les activer.
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
Pour transférer les journaux AEM et les journaux CDN (journaux CDN en version bêta) :
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
cdn:
enabled: true
Pour transférer uniquement les journaux CDN (en version bêta) :
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
aem:
enabled: false
cdn:
enabled: true
Considérations
- New Relic fournit des points d’entrée spécifiques à une région en fonction de l’emplacement où votre compte New Relic est configuré. Définissez
uripoint d’entrée de l’API Log pour la région de votre compte, par exemplehttps://log-api.newrelic.com/log/v1pour les comptes de la région des États-Unis. Pour plus d’informations, consultez la documentation de New Relic 🔗. - Par
apiKey, utilisez une clé de licence New Relic (type de clé INGEST - LICENSE) provenant du compte qui reçoit les journaux. La même clé est utilisée pour les journaux AEM et les journaux CDN. - Pour les journaux AEM, l’attribut
sourceest défini sur l’une des valeursaemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccessouaemhttpderror. Pour les journaux CDN (version Beta),sourceest défini suraemcdnet chaque enregistrement transfère toutes les propriétés de journal CDN. Par exemple, pour interroger les journaux CDN :FROM Log SELECT * WHERE source = 'aemcdn' SINCE 1 hour ago. - Dans les entrées du journal CDN (version bêta) envoyées à New Relic,
timestampest un nombre : l’heure de début de la requête en millisecondes depuis l’époque Unix. D’autres destinations de journalisation reçoiventtimestampsous la forme d’une chaîne ISO 8601. - Les journaux CDN (version bêta) peuvent ajouter un volume significatif à votre ingestion New Relic. Voir Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta).
API du journal Dynatrace dynatrace-https
Le transfert du journal vers Dynatrace utilise l’API HTTPS Dynatrace pour l’ingestion. Les journaux CDN vers Dynatrace sont en version bêta. Pour demander l’accès, envoyez un courrier électronique à l’adresse 🔗 avec votre ID de programme. Consultez Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta) pour savoir comment les activer.
Le jeton nécessite la portée Journaux d’ingestion (logs.ingest). Le même jeton est utilisé pour les journaux AEM et les journaux CDN.
kind: "LogForwarding"
version: "1"
data:
dynatrace:
default:
enabled: true
environmentId: "${{DYNATRACE_ENVID}}"
token: "${{DYNATRACE_TOKEN}}"
Pour transférer les journaux AEM et les journaux CDN (journaux CDN en version bêta) :
kind: "LogForwarding"
version: "1"
data:
dynatrace:
default:
enabled: true
environmentId: "${{DYNATRACE_ENVID}}"
token: "${{DYNATRACE_TOKEN}}"
cdn:
enabled: true
Pour transférer uniquement les journaux CDN (en version bêta) :
kind: "LogForwarding"
version: "1"
data:
dynatrace:
default:
enabled: true
environmentId: "${{DYNATRACE_ENVID}}"
token: "${{DYNATRACE_TOKEN}}"
aem:
enabled: false
cdn:
enabled: true
Considérations
- Seuls les environnements SaaS Dynatrace sont pris en charge.
environmentIdest l’identifiant dans l’URL de votre environnement,https://<environmentId>.live.dynatrace.com. Utilisez uniquement l’identifiant, et non une URL ou un nom d’hôte : pour les journaux CDN, il ne peut pas contenir de points. Les points d’entrée Dynatrace Managed et ActiveGate ne sont pas pris en charge. - Chaque entrée de journal comprend une propriété
source. Pour les journaux AEM, il s’agit deaemaccess,aemerror,aemrequest,aemdispatcher,aemhttpdaccessouaemhttpderror. Pour les journaux CDN (version bêta), il estaemcdn. - Les journaux CDN (version bêta) peuvent ajouter un volume significatif à votre ingestion Dynatrace. Voir Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta).
Recherche de journaux CDN dans Dynatrace (version bêta) dynatrace-cdn
Dynatrace stocke chaque entrée de journal CDN, sous forme de texte JSON, dans le content d’un enregistrement de journal et utilise la timestamp de l’entrée comme heure d’enregistrement. Les propriétés du journal CDN, telles que source, url et status, ne sont pas des attributs de journal distincts. Il en va de même pour les journaux AEM transférés vers Dynatrace. Par conséquent :
- Les filtres dans le mode simple de la visionneuse de journal classique ne fonctionnent pas sur ces propriétés. Un filtre sur un attribut qui n’existe pas est ignoré. Tous les journaux sont donc renvoyés.
- Le
statusde journal de ces enregistrements afficheNONE, car la propriétéstatusdu réseau CDN est le code d’état HTTP, et non un niveau de journal.
Utilisez plutôt le mode avancé (DQL). Pour rechercher les journaux CDN de la dernière heure :
fetch logs, from: now() - 1h
| filter matchesPhrase(content, "aemcdn")
Pour analyser les propriétés du journal du réseau CDN et en afficher certaines :
fetch logs, from: now() - 1h
| parse content, "JSON:cdn"
| filter cdn[source] == "aemcdn"
| fields timestamp, cdn[url], cdn[status], cdn[pop], cdn[cache], cdn[aem_tier]
Splunk splunk
kind: "LogForwarding"
version: "1"
data:
splunk:
default:
enabled: true
host: "splunk-host.example.com"
token: "${{SPLUNK_TOKEN}}"
index: "aemaacs"
Considérations
- Par défaut, le port est 443. Il peut éventuellement être remplacé par une propriété nommée
port. - Le champ sourcetype possède l’une des valeurs suivantes, en fonction du journal spécifique : aemaccess, aemerror,
aemrequest, aemdispatcher, aemhttpdaccess, aemhttpderror, aemcdn - Si les adresses IP requises ont été réduites et que les journaux ne sont toujours pas diffusés, vérifiez qu’il n’existe aucune règle de pare-feu appliquant la validation du jeton Splunk. Fastly effectue une étape de validation initiale dans laquelle un jeton Splunk non valide est délibérément envoyé. Si votre pare-feu est défini pour arrêter les connexions avec des jetons Splunk non valides, le processus de validation échoue, empêchant Fastly de diffuser des journaux vers votre instance Splunk.
sourcetype envoyées à votre index Splunk peuvent avoir changé. Ajustez-les en conséquence.Logique Sumo sumologic
Lors de la configuration de la logique Sumo pour l’ingestion de données, une « adresse HTTP Source » s’affiche, qui fournit l’hôte, l’URI du destinataire et la clé privée dans une seule chaîne. Par exemple :
https://collectors.de.sumologic.com/receiver/v1/http/ZaVnC...
Vous devez copier la dernière section de l’URL (sans la / précédente) et l’ajouter en tant que Variable d’environnement secrète Cloud Manager comme décrit dans la section Configuration ci-dessus, puis référencer cette variable dans votre configuration. Un exemple est fourni ci-dessous.
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"
index dépend du type de journal :- Journaux AEM (y compris Apache/Dispatcher) : acheminés vers la partition spécifiée par
index, à condition que vous ayez un abonnement Sumo Logic Enterprise. Les abonnements qui ne sont pas des abonnements aux entreprises redirigent plutôt vers la partitionsumologic_default. - Journaux CDN : le champ
indexest ignoré, car l’indexation n’est pas prise en charge techniquement pour les journaux CDN transférés à Sumo Logic. Les journaux CDN sont toujours acheminés vers la partitionsumologic_default.
Journaux CDN pour Amazon S3, Dynatrace et New Relic (version bêta) cdn-opt-in
Le transfert des journaux CDN vers Amazon S3, Dynatrace et New Relic est en version bêta. Le transfert des journaux AEM (y compris Apache/Dispatcher) vers ces destinations n’est pas affecté et n’a pas besoin de requête.
Pour transférer les journaux CDN vers l’une de ces destinations, effectuez les deux étapes :
- Demander l’accès à votre programme. Envoyez 🔗 par e-mail avec votre ID de programme et les destinations que vous souhaitez utiliser. Adobe répond lorsque l’accès est activé pour votre programme.
- Activez les journaux CDN pour chaque destination. Une fois l’accès activé, définissez
enabled: truedans le bloccdnde la destination dans votre configuration de transfert de journal, puis exécutez le pipeline de configuration. Voir l’exemple ci-dessous.
Les deux étapes sont nécessaires :
- L’accès seul ne transfère aucun journal CDN. Pour la plupart des destinations de journalisation, un bloc
defaultactivé transfère les journaux AEM et les journaux CDN. Pour Amazon S3 (awsS3), Dynatrace (dynatrace) et New Relic (newRelic), les journaux CDN sont transférés uniquement lorsque le bloccdndéfinit explicitementenabled: true. - Si vous définissez
cdn.enabled: trueavant l’activation de l’accès pour votre programme, la configuration se déploie sans erreur, mais aucun journal CDN n’est transféré vers ces destinations.
Le bloc cdn hérite de toutes les autres propriétés du bloc default, y compris les informations d’identification. enabled: true est donc la seule propriété que vous devez ajouter :
kind: "LogForwarding"
version: "1"
data:
newRelic:
default:
enabled: true
uri: "https://log-api.newrelic.com/log/v1"
apiKey: "${{NR_API_KEY}}"
cdn:
enabled: true
Pour un programme disposant d’un accès, le paramétrage est le suivant :
default.enabled: true uniquementdefault.enabled: true et cdn.enabled: truedefault.enabled: true et cdn.enabled: falsedefault.enabled: true, aem.enabled: false et cdn.enabled: trueComme pour les autres destinations, les propriétés définies dans le bloc cdn remplacent les valeurs de default. Pour transférer uniquement les journaux CDN, définissez aem.enabled: false, comme dans la dernière ligne.
Pour arrêter le transfert des journaux CDN, définissez cdn.enabled: false et exécutez le pipeline de configuration. Le transfert du journal CDN vers cette destination s’arrête lorsque la configuration est déployée. Les journaux AEM ne sont pas affectés.
cdn.enabled: true pour l’instant signifie que les configurations existantes ne transfèrent que les journaux AEM, sans coûts d’ingestion ou trafic inattendus, et vous donne le temps de décider.default activé transfère également les journaux CDN. Pour continuer à transférer uniquement les journaux AEM vers l’une de ces destinations, définissez cdn.enabled: false. Vous pouvez le définir maintenant ; il a le même effet avant et après cette date.Avant d’activer les journaux du réseau CDN, évaluez le volume supplémentaire. Les fournisseurs de services de journalisation qui facturent en fonction du volume ingéré, tels que Dynatrace et New Relic, facturent les journaux CDN de la même manière que pour les journaux AEM.
Pour envoyer vos commentaires sur la version bêta, envoyez un e-mail à l’adresse 🔗.
Formats d’entrée de journal log-formats
Voir Journalisation pour AEM as a Cloud Service pour le format de chaque type de journal respectif (journaux CDN et journaux AEM, y compris Apache/Dispatcher). Certaines destinations de journalisation ajoutent ou modifient des propriétés dans les entrées de journal du réseau CDN, par exemple le format de timestamp pour New Relic. Voir Entrées du journal CDN en consignant la destination.
Étant donné que les journaux de plusieurs programmes et environnements peuvent être transférés vers la même destination de journalisation, en plus de la sortie décrite dans l’article de journalisation, les propriétés suivantes seront incluses dans chaque entrée de journal :
- aem_env_id
- aem_env_type
- aem_program_id
- aem_tier
Par exemple, les propriétés peuvent avoir les valeurs suivantes :
aem_env_id: 1242
aem_env_type: dev
aem_program_id: 12314
aem_tier: author
Migration à partir du transfert de journal hérité legacy-migration
Avant que la configuration du transfert du journal ne soit réalisée via un modèle en libre-service, il était demandé aux clients d’ouvrir des tickets d’assistance, où Adobe lancerait l’intégration.
Les clients qui ont été configurés de cette manière par Adobe sont invités à s’adapter au modèle en libre-service à leur convenance. Il existe plusieurs raisons d’effectuer cette transition :
- Un nouvel environnement (par exemple, un nouvel environnement de développement ou un nouvel outil RDE) a été configuré.
- Modifications de votre point d’entrée Splunk existant ou de vos informations d’identification.
- Adobe avait configuré le transfert de vos journaux avant que les journaux CDN ne soient disponibles et que vous souhaitiez recevoir les journaux CDN.
- Une décision consciente de s’adapter de manière proactive au modèle en libre-service afin que votre entreprise dispose des connaissances nécessaires avant même qu’un changement sensible au facteur temps ne soit nécessaire.
Une fois prêt à migrer, configurez simplement le fichier YAML comme décrit dans les sections précédentes. Utilisez le pipeline de configuration Cloud Manager pour effectuer un déploiement dans chacun des environnements où la configuration doit être appliquée.
Il est recommandé, mais pas obligatoire, de déployer une configuration sur tous les environnements afin qu’ils soient tous en libre-service. Dans le cas contraire, vous pouvez oublier les environnements qui ont été configurés par Adobe par rapport à ceux qui ont été configurés en libre-service.
sourcetype envoyées à votre index Splunk peuvent avoir changé, ajustez-les en conséquence.