La fonctionnalité Instant Logs permet de consulter les journaux d'accès en temps réel dans la console ESA, sans configuration supplémentaire. Utilisez-la pour identifier des attaques, résoudre des pannes et déboguer la connectivité de votre site.
Pourquoi utiliser les journaux instantanés
Les produits CDN traditionnels s'appuient sur des journaux hors ligne pour identifier et résoudre les problèmes, mais ces derniers présentent des limites importantes :
Diagnostic des pannes interrégionales : Les journaux provenant d'un seul nœud ou présentant une latence élevée à l'échelle du réseau rendent difficile l'identification précise des problèmes d'accès régionaux.
Vérification des déploiements progressifs : Les journaux hors ligne ne permettent pas de filtrer rapidement les requêtes spécifiques à un déploiement progressif.
Analyse des attaques en temps réel : La latence des journaux retarde la création de politiques d'atténuation face à de nouveaux schémas d'attaque.
Surveillance métier en temps réel : Une latence de l'ordre de la minute est insuffisante pour ajuster dynamiquement les politiques lors d'événements promotionnels.
Validation de l'intégration de nouveaux services : Le délai de disponibilité des journaux retarde la confirmation que le chemin de diffusion d'un nouveau site est correct.
La fonctionnalité Instant Logs d'ESA offre une consultation des journaux en temps réel directement dans la console, similaire à la commande tail -f sous Linux/Unix.
Limites
Un site ne peut avoir qu'une seule session de surveillance active à la fois, avec une durée maximale de 60 minutes.
Les journaux instantanés stockent jusqu'à 40 enregistrements par session, classés par ordre chronologique. Les nouveaux enregistrements écrasent les plus anciens.
-
Les actions suivantes mettent fin à votre session de surveillance. Pour reprendre, cliquez à nouveau sur Start Monitoring.
La session se termine si vous développez un enregistrement de journal, cliquez sur Stop Monitoring ou sur le bouton Export

. Les enregistrements historiques restent affichés sur la page.L'ajout d'un filtre, le changement de page ou l'actualisation de la page met fin à la session et efface tous les enregistrements.
Démarrer la surveillance des journaux instantanés
Dans la console ESA, sélectionnez Websites, puis dans la colonne Websites, cliquez sur le site cible.
Dans le volet de navigation de gauche, choisissez .
-
Sur la page Analytics and Logs, cliquez sur Real-time Logs pour commencer à collecter les journaux.
Ajoutez un Instant Logs pour réduire la portée des journaux et identifier les anomalies.
Une fois la surveillance arrêtée, développez un enregistrement de journal pour afficher les champs, ou cliquez sur le bouton Export

pour télécharger les données au format JSON.


Champs des journaux instantanés
Champ | Type | Description |
BotTag | string | Le type de trafic de la requête client. Exemples :
|
ClientASN | string | Le numéro de système autonome (ASN) dérivé de l'adresse IP du client. |
ClientCountryCode | string | Le code pays ISO 3166-1 alpha-2 dérivé de l'adresse IP du client. |
ClientIP | string | L'adresse IP du client qui s'est connecté au nœud ESA. |
ClientISP | string | Le fournisseur d'accès Internet (FAI) dérivé de l'adresse IP du client. |
ClientRegionCode | string | Le code de région ISO 3166-2 dérivé de l'adresse IP du client. |
ClientRequestBytes | int | La taille de la requête client, en octets. |
ClientRequestHeaderRange | string | La valeur du champ |
ClientRequestHost | string | L'en-tête |
ClientRequestID | string | L'ID unique de la requête client. |
ClientRequestMethod | string | La |
ClientRequestPath | string | Le chemin de la requête client. |
ClientRequestProtocol | string | Le protocole de la requête client. |
ClientRequestQuery | string | La chaîne de |
ClientRequestReferer | string | L'en-tête |
ClientRequestURI | string | L' |
ClientRequestUserAgent | string | L'en-tête |
ClientSrcPort | int | Le port source utilisé par le client pour se connecter au nœud ESA. |
ClientSSLCipher | string | La suite de chiffrement SSL utilisée par le client. |
ClientSSLProtocol | string | La version du protocole SSL utilisée par le client. Un tiret ( |
ClientXRequestedWith | string | L'en-tête |
EdgeCacheStatus | string | Le statut du cache de la requête client. |
EdgeEndTimestamp | Timestamp ISO8601 | L'horodatage auquel le nœud ESA a terminé l'envoi de la réponse au client. Exemple : |
EdgeRequestHost | string | L'en-tête |
EdgeResponseBodyBytes | int | La taille du |
EdgeResponseBytes | int | La taille totale de la réponse que le nœud ESA a renvoyée au client, en octets. |
EdgeResponseCompressionAlgo | string | L'algorithme de compression de la réponse du nœud ESA. |
EdgeResponseCompressionRatio | float | Le taux de compression de la réponse du nœud ESA. |
EdgeResponseContentType | string | L'en-tête |
EdgeResponseStatusCode | int | Le code d'état que le nœud ESA a renvoyé au client. |
EdgeResponseTime | int | Le temps de réponse total (ms) écoulé entre la réception d'une requête par le nœud ESA et la fin de la réception de la réponse par le client. |
EdgeServerID | string | L'ID unique du nœud ESA auquel le client a accédé. |
EdgeServerIP | string | L'adresse IP du nœud ESA auquel le client a accédé. |
EdgeStartTimestamp | Timestamp ISO8601 | L'horodatage auquel le nœud ESA a reçu la requête du client. Exemple : |
JA3Hash | string | La valeur de hachage de l'empreinte JA3 du client. |
JA4Hash | string | La valeur de hachage de l'empreinte JA4 du client. |
EdgeTimeToFirstByteMs | int | Le temps jusqu'au premier octet (TTFB) en millisecondes (ms), écoulé entre la réception d'une requête par le nœud ESA et l'envoi du premier octet de réponse par le nœud ESA. |
OriginDNSResponseTimeMs | int | Le temps de résolution DNS du serveur d'origine, en millisecondes (ms). Si aucune requête de retour à l'origine n'est effectuée, la valeur est |
OriginIP | string | L'adresse IP du serveur d'origine accédé lors de la requête de retour à l'origine. Si aucune requête de retour à l'origine n'est effectuée, la valeur est un tiret ( |
OriginResponseDurationMs | int | Le temps jusqu'au premier octet (TTFB) du serveur d'origine, en millisecondes (ms). Si aucune requête de retour à l'origine n'est effectuée, la valeur est |
OriginResponseHeaderRange | string | La valeur de l'en-tête Range dans la réponse du serveur d'origine. Si aucune requête de retour à l'origine n'est effectuée, la valeur est un tiret ( |
OriginResponseHTTPExpires | string | La valeur de l'en-tête Expires dans la réponse du serveur d'origine. Si aucune requête de retour à l'origine n'est effectuée, la valeur est un tiret ( |
OriginResponseHTTPLastModified | string | La valeur de l'en-tête Last-Modified dans la réponse du serveur d'origine. Si aucune requête de retour à l'origine n'est effectuée, la valeur est un tiret ( |
OriginResponseStatusCode | int | Le code d'état de la réponse du serveur d'origine. Si aucune requête de retour à l'origine n'est effectuée, la valeur est |
OriginSSLProtocol | string | La version du protocole SSL utilisée pour la requête de retour à l'origine. Si aucune requête de retour à l'origine n'est effectuée, la valeur est un tiret ( |
OriginTCPHandshakeDurationMs | int | Le temps nécessaire pour effectuer la poignée de main TCP pour la connexion de retour à l'origine, en millisecondes (ms). Si aucune requête de retour à l'origine n'est effectuée, la valeur est |
OriginTLSHandshakeDurationMs | int | Le temps nécessaire pour effectuer la poignée de main TLS pour la connexion de retour à l'origine, en millisecondes (ms). Si aucune requête de retour à l'origine n'est effectuée, la valeur est |
SecAction | string | L'action d'atténuation finale appliquée à cette requête. |
SecActions | string | Toutes les actions d'atténuation appliquées à cette requête. |
SecRuleID | string | L'ID de la règle d'atténuation finale déclenchée pour cette requête. |
SecRuleIDs | string | Les ID de toutes les règles d'atténuation déclenchées pour cette requête. |
SecSource | string | Le module de sécurité qui a déclenché l'action d'atténuation finale. |
SecSources | string | La liste de tous les modules de sécurité qui ont déclenché des actions d'atténuation pour cette requête. |
SiteName | string | Le nom du site. |
SmartRoutingStatus | string | Indique si le routage intelligent a été utilisé. Une valeur de |
TlsHash | string | La valeur de hachage MD5 représentant l'empreinte SSL/TLS du client. |
SampleInterval | float | Le taux d'échantillonnage pour cet enregistrement de journal. |
Champs d'en-tête de requête personnalisés
Par défaut, les journaux instantanés n'enregistrent que les champs intégrés répertoriés dans le tableau précédent. Pour enregistrer également des champs d'en-tête de requête spécifiques (par exemple, User-Agent ou Referer), appelez l'opération CreateSiteCustomLog et utilisez le paramètre RequestHeaders afin de configurer des champs d'en-tête de requête personnalisés pour les journaux du site. Après configuration, les champs personnalisés apparaissent à la fois dans les journaux instantanés et les journaux hors ligne.
Pour configurer des champs d'en-tête de requête personnalisés, appelez l'opération CreateSiteCustomLog et spécifiez les champs à enregistrer dans RequestHeaders :
aliyun esa CreateSiteCustomLog \
--SiteId <site ID> \
--RequestHeaders '["User-Agent", "Referer"]'
Pour vérifier les champs d'en-tête de requête personnalisés actuellement configurés, appelez l'opération GetSiteCustomLog :
aliyun esa GetSiteCustomLog --SiteId <site ID>
Exemple de réponse :
{
"ConfigId": 507209232529408,
"IsExist": true,
"LogCustomField": {
"RequestHeaders": ["User-Agent"]
}
}
Disponibilité de la fonctionnalité par édition
|
Advanced |
Enterprise |
Entrance |
Pro |
|
|
|
|
|