Flumotion Smart Multi CDN can provide extensive traffic analytics even if you still manage the domain directly on Cloudflare. To enable this, add Logpush to your domain to deliver sampled traffic data to the platform.
Prefer automation? See Automate with Script.
Process #
In the Cloudflare Dashboard, open your domain and navigate to Investigate > Log Push, then click Create a Logpush Job.
Select Destination #
- Select HTTP Destination.
Enter Destination Details #
- Set the HTTP endpoint to:
https://traffic-reporting.ioriver.io/public/cloudflare/unified/:account_provider_id
- Replace
:account_provider_idwith the value for your CDN provider. Contact your Flumotion support representative for details. - Click Continue.
Select Dataset #
- Select HTTP Requests.
Configure Logpush Job #
- Enter a Job name, such as
Send sample logs to Flumotion Smart Multi CDN. - Set If logs match to Filtered logs.
- Configure the following criteria:
- Field:
ClientRequestSource - Operator:
equals - Value:
eyeball
- Field:
Under Send the following fields, select:
- General:
RayID - Cache:
CacheCacheStatus - Request:
ClientASN,ClientCountry,ClientIP,ClientRequestHost,ClientRequestMethod,ClientRequestPath,ClientRequestProtocol,ClientRequestURI - Performance:
EdgeEndTimestamp,EdgeStartTimestamp - Response:
EdgeResponseBytes,EdgeResponseStatus
Open Advanced Options:
- Set Timestamp format to
unixnano. - Enable Push a randomly-sampled percentage of logs.
- Set the sampling rate to 1%.
- Set Log delivery method to Core.
- Click Submit.
Automate with Script #
You can automate this setup (creating a Logpush job) by downloading and running the script below:
Script URL: create_cloudflare_logpush.py
Current script location:
https://providers-ioriver.s3.eu-central-1.amazonaws.com/create_cloudflare_logpush.py
Example #
# Option 1 (recommended): Cloudflare API token
python3 create_cloudflare_logpush.py <your_domain> \
--account-provider-id <your_account_provider_id> \
--api-token <your_cloudflare_api_token>
# Option 2: Cloudflare Global API key + account email
python3 create_cloudflare_logpush.py <your_domain> \
--account-provider-id <your_account_provider_id> \
--api-email <your_cloudflare_email> \
--api-key <your_cloudflare_global_api_key>
# Option 3: credentials from environment variables
export CLOUDFLARE_API_TOKEN=<your_cloudflare_api_token>
python3 create_cloudflare_logpush.py <your_domain> \
--account-provider-id <your_account_provider_id>
Notes #
<your_domain>is the Cloudflare zone name (for example,example.com).- Required Cloudflare permissions:
Logs Writeand zone access for the target domain. - Add
--dry-runto print the payload without creating a Logpush job.