Push logs to S3
Project description
Get files from directory by mask and push them to S3
Install
pip install s3logs
Usage
s3logs config.conf
Where config.conf can use that structure:
[S3]
access_key = <S3_KEY>
secret_key = <S3_SECRET_KEY>
host = <s3.example.com>
bucket = <bucket_name>
chunk_size = <bytes, default=52428800>
[logs]
suffix = .gz
key_suffix = .gz
directory = /var/log/nginx/
[map]
example.com-access.log = example/access
example.com-error.log = example/error
mysite.me.access.log = mysite/access
When it used with that config, script takes all files in directory /var/log/nginx/, filter only those, which ends with .gz and send it to S3, according to map.
For example, /var/log/nginx now consists of:
example.com-access.log
example.com-access.log.0.gz
example.com-access.log.1.gz
example.com-error.log
example.com-error.log.0.gz
example.com-error.log.1.gz
mysite.me.access.log
mysite.me.access.log.0.gz
mysite.me.error.log
mysite.me.error.log.0.gz
So, if today is 9 December 2015, and your hostname is node1, on your S3 <bucket_name> would be those keys:
node1/example/access/2015-12-09.gz
node1/example/access/2015-12-08.gz
node1/example/error/2015-12-09.gz
node1/example/error/2015-12-08.gz
node1/mysite/access/2015-12-09.gz
Because we have not explain how maps mysite.me.error.log.0.gz - it would be skipped.
Script also checks whether file exists in S3 and push only those, which are not.
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
s3logs-1.5.tar.gz
(3.3 kB
view hashes)
Built Distribution
Close
Hashes for s3logs-1.5.macosx-10.11-x86_64.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a8d4876707b748bab24f97853abb4eeda52fb2a22a74a6c9661c39afbcdbb94 |
|
MD5 | 203476c1943e83dabb539f77a1923907 |
|
BLAKE2b-256 | f94a72535159cd598a2ab9cc344c95dac8477ec78c9baa030778d83fc6bbb7fb |