Uploads results of Celery tasks to AWS CloudWatch.
Project description
This is a simple monitoring tool that intercepts the results of Celery tasks and uploads the result to AWS CloudWatch.
Installation
Install from PyPi:
pip install celery-cloudwatch-logs
Configuration
Configuration is done through environment variables. The following environment variables must be set in order for celery-cloudwatch to work:
AWS_CLOUDWATCH_ACCESS_KEY
AWS_CLOUDWATCH_SECRET_KEY
AWS_CLOUDWATCH_GROUP_NAME
Optionally, the following environment variables may be set:
REDIS_URL="redis://"
AWS_CLOUDWATCH_REGION="eu-west-1"
The CloudWatch log group does not have to exist. If it doesn’t exists, it will be created.
Running
$ celery cloudwatch
This requires you to have ran setup.py or installed this package through pip. Alternatively, run:
$ python -m celery_cloudwatch
How it works
Celery CloudWatch connects to your broker and monitors tasks in real time. When a task succeeded, failed was rejected or revoked, it uploads all available information about that task into a log stream on AWS CloudWatch Logs.
Based on the specified log group name in the AWS_CLOUDWATCH_GROUP_NAME, a log group will be created. For each possible result, a separate log stream is created. For each task result, an entry is added to the log stream associated with the result.
Known issues
--broker on celery cloudwatch is ignored.
No descriptive way to specify other brokers than Redis.
All brokers supported by Celery will work, simply specify the broker URL through the REDIS_URL environment variable.
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
Hashes for celery-cloudwatch-logs-1.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42b1f699b5357c0349863e37775da02f236d3d324e67b0965d10bcc7557632f9 |
|
MD5 | ed9663168eb4607f59bba220fd9601a5 |
|
BLAKE2b-256 | 3bd4530294520fb171609c21f16f43daea4b07a10a44cc68876c149b92479d75 |