Skip to main content
This integration uses Amazon Kinesis Data Firehose and CloudFront Logging v2 to forward CloudFront logs to the Promptwatch ingestion endpoint.

Prerequisites

  • You have a CloudFront distribution with Standard Logging v2 enabled or available
  • You have access to the AWS Console with permissions to create Kinesis Firehose delivery streams

Step 1: Create an API Key

Create an API key in Promptwatch. Go to Settings → API Keys in your Promptwatch dashboard.

Step 2: Create Firehose Delivery Stream

In the AWS Console, navigate to Amazon Data Firehose and create a new delivery stream. Navigate to Kinesis Firehose
  • Go to Firehose in the AWS Console
  • Click Create Firehose stream

Step 3: Configure Delivery Stream

Configure the delivery stream to send logs to Promptwatch via HTTP endpoint. Create delivery stream
  • Set Source to Direct PUT
  • Set Destination to HTTP endpoint delivery
  • Optional: Name the stream something descriptive
Within Destination settings: Enter the following HTTP endpoint URL:
https://logs.promptwatch.com/event/cloudfront
  • Set the access key: Enter your API key from Step 1
We recommend storing your API key in AWS Secrets Manager.
  • Set Content Encoding to GZIP
Configure HTTP endpoint delivery

Step 4: Create S3 Bucket for Failed Logs

  • Create or select an S3 bucket to store failed delivery logs (required by AWS)
Configure CloudFront logging

Step 5: Attach Firehose to CloudFront

Now attach the Firehose delivery stream to your distribution.
  • Navigate to your CloudFront distribution → Logging tab → AddAmazon Kinesis Data Firehose
CloudFront add Firehose

Step 6: Select Delivery Stream

Select the Firehose delivery stream you created in Step 2. Select Firehose stream

Step 7: Configure Log Format

Configure the log format and field selection in CloudFront.
  • Select Additional settings
  • For Field selection, select exactly these 10 fields:
  1. timestamp
  2. c-ip
  3. sc-status
  4. cs-method
  5. cs-uri-stem
  6. cs-uri-query
  7. cs(Host)
  8. cs(User-Agent)
  9. cs(Referer)
  10. sc-content-type
Promptwatch requires these specific fields to parse crawler logs. Omitting any of them will cause logs to be rejected.

Step 8: Finish

Set Output format to JSON. Setup is now complete. CloudFront will stream access logs to your Firehose delivery stream, which delivers them to Promptwatch. Crawler logs will usually appear within a few minutes.