> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qwairy.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflare Logpush

> Configurez un job Cloudflare Logpush HTTP borné pour Analytics des crawlers.

Utilisez Cloudflare Logpush pour envoyer un jeu de données HTTP Requests filtré à Analytics des crawlers.

## Avant de commencer

Il vous faut :

* une zone Cloudflare Enterprise avec accès à Logpush ;
* l’autorisation de créer le job Logpush ;
* un jeton d’API Cloudflare avec l’autorisation `Logs Write` pour appliquer les limites d’envoi requises ;
* un accès à **Measure > Analytics des crawlers > Paramètres** ;
* un endroit sûr pour conserver le secret du connecteur, affiché une seule fois.

## Créer et protéger la clé

1. Dans les paramètres d’Analytics des crawlers, sélectionnez **Cloudflare Logpush**.
2. Sélectionnez **Créer une clé**.
3. Saisissez un nom et le fuseau horaire IANA utilisé pour les instantanés quotidiens.
4. Copiez le secret lorsqu’il apparaît. Qwairy n’en affiche ensuite que le préfixe.
5. Conservez-le dans la configuration d’en-tête de la destination Logpush. Ne le placez ni dans un paramètre de requête ordinaire, ni dans un gestionnaire de code source, ni dans du code côté client.

Pour renouveler la clé, créez une clé de remplacement, mettez à jour la destination Logpush, validez la livraison, puis supprimez l’ancienne clé. Une intégration peut avoir jusqu’à cinq clés actives.

## Créer le job Logpush

1. Dans Cloudflare, ouvrez **Analytics & Logs > Logs > Add Logpush job** pour la zone cible.

2. Sélectionnez le jeu de données HTTP Requests et une **HTTP destination**.

3. Utilisez cette configuration de destination, en remplaçant l’espace réservé par le secret Qwairy affiché une seule fois :

   ```text theme={null}
   https://www.qwairy.co/api/v1/logs/cloudflare?header_Authorization=Bearer%20YOUR_CRAWLER_KEY
   ```

   Cloudflare convertit `header_Authorization` en en-tête HTTP. L’espace après `Bearer` doit rester encodé en `%20`.

4. Sélectionnez uniquement ces champs :

   ```text theme={null}
   ClientRequestHost
   ClientRequestMethod
   ClientRequestPath
   ClientRequestUserAgent
   EdgeResponseStatus
   EdgeStartTimestamp
   ```

5. Conservez le format d’horodatage RFC 3339.

6. Avant d’activer le job, utilisez l’API Cloudflare Logpush pour définir :

   ```json theme={null}
   {
     "max_upload_bytes": 5000000,
     "max_upload_records": 10000
   }
   ```

   La taille d’envoi par défaut sort du contrat borné de la route Qwairy.

7. Ajoutez ce filtre au job. Il couvre volontairement plus large que plusieurs familles de crawlers ; le registre de Qwairy effectue la classification finale.

   ```json theme={null}
   {"where":{"or":[{"key":"ClientRequestUserAgent","operator":"contains","value":"Bot"},{"key":"ClientRequestUserAgent","operator":"contains","value":"bot"},{"key":"ClientRequestUserAgent","operator":"contains","value":"User"},{"key":"ClientRequestUserAgent","operator":"contains","value":"MistralAI"},{"key":"ClientRequestUserAgent","operator":"contains","value":"Notebook"},{"key":"ClientRequestUserAgent","operator":"contains","value":"Google-Agent"},{"key":"ClientRequestUserAgent","operator":"contains","value":"meta-"},{"key":"ClientRequestUserAgent","operator":"contains","value":"Meta-"},{"key":"ClientRequestUserAgent","operator":"contains","value":"spider"},{"key":"ClientRequestUserAgent","operator":"contains","value":"omgili"},{"key":"ClientRequestUserAgent","operator":"contains","value":"Extended"}]}}
   ```

8. Gardez l’échantillonnage à 100 % pour le jeu de données filtré, puis activez le job.

Consultez le [guide des destinations HTTP de Cloudflare](https://developers.cloudflare.com/logs/logpush/logpush-job/enable-destinations/http/) pour les réglages actuels du tableau de bord et de l’API.

## Tester la livraison

Cloudflare valide la destination avec un payload `{"content":"tests"}` compressé en gzip. La route Qwairy accepte ce test, mais il ne crée aucun agrégat de crawler.

Après la validation, demandez un chemin sans risque sur la zone suivie avec un User-Agent de crawler reconnu :

```bash theme={null}
curl --head --user-agent "GPTBot/1.0" "https://www.example.com/docs/crawler-check"
```

Vérifiez que le job Logpush indique un envoi réussi. Qwairy fait quitter l’état en attente au connecteur dès qu’une ligne de crawler acceptée atteint le pipeline d’agrégation.

## Limites, échantillonnage et coût

* Chaque envoi Logpush est limité à 5 000 000 octets non compressés et 10 000 enregistrements.
* Le préfiltre réduit le volume livré mais inclut volontairement des lignes que Qwairy écarte ensuite.
* Un taux d’échantillonnage Cloudflare inférieur à 100 % produit des comptes partiels dans Qwairy.
* La livraison Logpush et les logs conservés chez le fournisseur peuvent être facturés par Cloudflare. Consultez les tarifs actuels pour la zone cible.
* Les plafonds d’ingestion quotidienne partagés s’appliquent aussi.

## Dépannage

* **La validation de la destination échoue** : vérifiez l’encodage `%20`, le secret actuel, le point de terminaison HTTPS et les limites d’envoi requises.
* **401** : vérifiez que la destination envoie toujours `Authorization: Bearer YOUR_CRAWLER_KEY` et que la clé appartient à Cloudflare Logpush.
* **400 avec trop de logs** : définissez `max_upload_records` sur `10000` avant d’activer le job.
* **413** : définissez `max_upload_bytes` sur `5000000` et vérifiez la compression ou la taille du payload décodé.
* **Qwairy reste en attente** : vérifiez les six champs sélectionnés, le filtre de User-Agent, l’échantillonnage à 100 % et une requête récente vers le nom d’hôte configuré.
* **Les comptes sont inférieurs aux logs Cloudflare** : comparez le même filtre et le même périmètre d’échantillonnage, puis vérifiez les exclusions de Qwairy et les alertes de continuité de livraison.

## Page associée

* [Analytics des crawlers](/fr/documentation/measure/crawler-analytics)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.