Apache Log live replicator
Project description
Apache Replay is a command line tool that reads Apache log files and replays it on a remote server in real time. It’s goal it’s to load test HTTP/HTTPS servers with the same traffic that is received on another server.
This tool is written in Python and it uses apache-log-parser, requests and gevent libraries.
Main Features
Real time replay load testing
Accept any Apache log format
Support Basic Authentication
URL match and ignore filters
Installation
On Linux, first install python development and libevent packages using system package manager:
# Debian-based distributions (eg Ubuntu, ...):
$ sudo apt-get install python-dev libevent-dev
# RPM-based distributions:
$ yum install python-devel libevent-*
Then it can be installed from PyPi using pip :
$ pip install areplay
Basic usage
$ areplay http://test.example.com /var/log/apache2/access.log
Synopsis:
$ areplay --help
usage: areplay [-h] [-v] [-a AUTH] [-w WORKERS] [-m MATCH] [-i IGNORE]
[-d] [-f FORMAT] [-sv] [-iu IGNORE_URL]
server log_file
positional arguments:
server Remote Server
log_file Apache log file path
optional arguments:
-h, --help Show this help message and exit
-v, --version Show program's version number and exit
-a AUTH, --auth AUTH Basic authentication user:password
-w NUM, --workers NUM Workers pool size
-d, --dry-run Only prints URLs
-f FORMAT, --format FORMAT Apache log format
-i IGNORE, --ignore IGNORE Ignore matching requests
-iu URL, --ignore-url URL URL to hit when URL from log is ignored
-m MATCH, --match MATCH Only process matching requests
-sv, --skip-verify Skip SSL certificate verify
Examples
Basic auth:
$ areplay -a username:password http://test.example.com access.log
URL filtering - ignore js and css - use | (pipe) to separate keywords:
$ areplay -i '.css|.js' http://test.example.com access.log
URL filtering - process only js and css - use | (pipe) to separate keywords:
$ areplay -m '.css|.js' http://test.example.com access.log
Custom Apache Log format - get LogFormat for Apache configuration file:
$ cat /etc/apache2/apache2.conf | grep LogFormat | grep combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
$ areplay -f "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" http://test.example.com access.log
Change Log
Please see CHANGELOG.
Licence
Please see LICENSE.
Acknowledgments
Thank you to the people from Boom! for inspiration and Dinko Korunic for snippet (GeventTail).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file areplay-0.6.tar.gz
.
File metadata
- Download URL: areplay-0.6.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbaa0ea0e4540848bd6de2c0c280fb3fc48bbc5fb2d1ae7aec5ef3e09a378822 |
|
MD5 | 51b22bb8791bb00294d4698c9dd6aaba |
|
BLAKE2b-256 | b7174524c6da58f98736f5a7564da47a67a5a34a89e95e105eec5674c4af08d2 |