npm i @mapbox/aws-log-replay
Transform and replay a stream of AWS CloudFront, ELB Classic, or ALB logs. You can use s3scan to easily stream logs into these tools.
This project uses the AWS JavaScript SDK: you will need to configure your own credentials.
Takes different types of logs as input and streams an object to stdout
. Format of the output:
{
"path": "/a.json?option=1",
"method": "GET", // can be GET or HEAD
"referer": "Referer" // for 'cloudfront' type only
}
Supported types include "cloudfront" for CloudFront logs and "lb" for ELB Classic or ALB logs.
Usage: generatepath <type>
Makes replay requests to the baseurl
. Expects paths to be piped to stdin
. (Optional) Control concurrency of replay requests with --concurrency
flag. Default is 100.
Usage: pathreplay <baseurl> [--concurrency=<n>]
Emits a repeatable set of input lines piped to stdin
at a given sampling rate. The number of lines emitted will approach the specific rate over sufficiently large samples, but may diverge for small sample sizes. Sampling rates should be specified as a decimal number between zero and one. Optionally accepts a filter
argument that restricts the sampled set to lines matching the specified regular expression.
Usage: sample --rate=<rate> [--filter=<filter>]