Transfert de journal : autre (chargement manuel) log-forwarding-other
La méthode d’approvisionnement Autre BYOCDN est une option générique pour les clientes et clients qui souhaitent transmettre des journaux CDN à LLM Optimizer dans les cas suivants :
- Les chargements manuels sont recommandés : par exemple, les équipes opérationnelles exportent les journaux et les chargent régulièrement.
- Les processus automatisés ad hoc sont utilisés : scripts ponctuels, exportations planifiées, tâches sans serveur.
- Le client ou la cliente utilise un réseau CDN qui n’est pas pris en charge nativement par les intégrations de transfert de journaux.
Cette méthode imite le modèle de « transfert continu » : les journaux sont générés et chargés à l’emplacement S3 prévu et sont ensuite traités automatiquement par les pipelines d’ingestion.
Étape 1 : intégrer dans LLM Optimizer step-1
Dans LLM Optimizer :
-
Accédez à Configuration.
-
Cliquez sur l’onglet Configuration du CDN.
-
Cliquez sur Prise en main.
-
À côté de Activer les informations sur le trafic généré par l’IA, cliquez sur Configurer.
-
Sélectionnez Autre.
-
Cliquez sur Intégration.
Étape 2 : préparation et chargement des journaux step-2
Format de journal obligatoire (lignes JSON) log-format
Les journaux doivent être chargés au format JSON délimité par des retours à la ligne (un objet JSON par ligne). Chaque ligne de journal doit inclure les champs suivants, écrits avec la même orthographe que celle ci-dessous.
Schéma champ par champ schema
"2025-02-01T23:00:05Z""www.example.com""/home?utm_source=google""GET""Mozilla/5.0 (compatible; GPTBot/1.0""https://chatgpt.com"200"text/html; charset=utf-8"42Exemple de lignes de journal example
L’exemple suivant illustre trois lignes de journal :
{"timestamp":"2025-02-01T23:06:14Z","host":"www.example.com","url":"/products/llm-optimizer?utm_source=google","request_method":"GET","request_user_agent":"Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)","response_status":200,"request_referer":"","response_content_type":"text/html; charset=utf-8","time_to_first_byte":198}
{"timestamp":"2025-02-01T23:19:32Z","host":"www.example.com","url":"/services/ai-consulting/overview","request_method":"GET","request_user_agent":"PerplexityBot/1.0 (+https://www.perplexity.ai/perplexitybot)","response_status":200,"request_referer":"","response_content_type":"text/html; charset=utf-8","time_to_first_byte":255}
{"timestamp":"2025-02-01T23:44:05Z","host":"www.example.com","url":"/products/pricing/enterprise?utm_medium=social","request_method":"GET","request_user_agent":"ClaudeBot/1.0 (+https://www.anthropic.com)","response_status":200,"request_referer":"","response_content_type":"application/pdf","time_to_first_byte":312}
Avertissement important (orthographe et types) disclaimer
Les pipelines d’ingestion et d’agrégation sont stricts concernant les noms de champ et les types de données.
-
Les noms des champs doivent correspondre exactement (casse et orthographe).
-
Les types de données doivent être corrects comme suit :
- timestamp doit être une chaîne au format ISO 8601. Les formats de date UNIX peuvent ne pas fonctionner.
- response_status doit être un nombre entier.
- time_to_first_byte doit être un nombre entier exprimé en millisecondes.
- Les chaînes doivent être des chaînes JSON valides.
-
Si le JSON est mal structuré ou que des champs sont incorrects ou manquants, des journaux peuvent être ignorés et leur analyse peut échouer, auquel cas il manquera des données dans les rapports.
Emplacement de chargement et cadence de traitement upload-location
Règle de chemin path-rule
Chargez les journaux dans le chemin d’accès au dossier approprié en utilisant le format yyyy/mm/dd/ (avec des barres obliques).
Exemple de journal du 1er février 2025 UTC : ABC123AdobeOrg/raw/byocdn-other/2025/02/01/
Règle de traitement processing-rule
- Les journaux chargés au cours d’un jour UTC sont traités par les pipelines vers la fin de ce jour UTC (exécution quotidienne).
- Les journaux chargés dans les dossiers des jours précédents (renvoi) sont détectés et traités dans les 24 heures.
Scénarios scenarios
Scénario 1 : journaux dans Splunk/Elasticsearch, exportation et chargement vers S3 scenario-splunk
Objectif : récupérer les journaux des plateformes d’observabilité existantes et les transférer vers l’emplacement S3.
- Extrayez les champs requis des événements de recherche Splunk/Elastic.
- Transformez chaque événement en un objet JSON en suivant le schéma ci-dessus (lignes JSON).
- Chargez le(s) fichier(s) obtenu(s) dans le compartiment S3 désigné et le chemin du jour UTC actuel :
…/byocdn-other/yyyy/mm/dd/ - Les journaux seront traités automatiquement à la fin de la journée UTC.
Scénario 2 : fonction Lambda/Azure, format et chargement vers S3 scenario-serverless
Objectif : utilisez le calcul sans serveur pour récupérer/recevoir les journaux CDN, les normaliser et les transférer vers l’emplacement S3.
- La fonction récupère les journaux à partir de la source du client (banque de journaux, file d’attente, stockage d’objets blob, etc.).
- La fonction mappe les champs dans le schéma attendu et émet des lignes JSON.
- La fonction charge la sortie vers
…/byocdn-other/yyyy/mm/dd/. - Les journaux seront traités automatiquement à la fin de la journée UTC.
Liste de contrôle rapide checklist
- Un objet JSON par ligne (lignes JSON)
- Orthographe exacte des champs telle que spécifiée
- Types de données corrects
- time_to_first_byte en millisecondes (nombre entier)
- Chargez le fichier dans le dossier UTC approprié : aaaa/mm/jj/ sous byocdn-other.