GottWall is a scalable realtime metrics collecting and aggregation platform and service. This package, at its core, is just a simple aggregation server and beautiful customizable web dashboard for visualizing metrics with charts.
It will handle authenticating clients (such as stati) and all of the logic behind storage and aggregation.
- Beautiful customizable dashboard for visualizing metrics with charts.
- Data aggregation
- Data collection
- Embedded charts (HTML, iframe, javascript, JSON)
You can try free demo charts on demo.gottwall.com. Login opened for all users.
To use gottwall use pip or easy_install:
pip install gottwall
or
easy_install gottwall
Also you need to install storage application(example):
pip install gottwall_storage_redis
or you can use official gottwall chef cookbook for automatic setup on system.
See gottwall/examples/config.py
or create default config by command:
gottwall init ./config.py
GottWall have 2 independent parts. Web interface application and aggregator application (application that process data).
To run web application execute command:
gottwall --config="examples/config.py" server start
To run aggregator application execute command:
gottwall --config="examples/config.py" aggregator start
Storages that store metrics:
- Memory storage (for tests only)
- Redis storage (fast for counters increment, but not effective for data range select)
- TODO: mongodb (We need your help).
- TODO: SQL
The following transport available:
- Redis transport backend with stati-python-redis client.
- TCP/IP transport backend (builtin) with stati.TCPIPClient client.
- UDP transport backend (builtin) with stati.UDPClient client.
- HTTP transport backend (builtin) with stati.HTTPClient client
The following clients are officially recognized as production-ready, and support the current GottWall protocol:
- Python:
- stati-python-net with json http transport.
- stati-python-redis with redis transport.
We need you help.
- Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug. There is a Contributor Friendly tag for issues that should be ideal for people who are not very familiar with the codebase yet.
- Fork the repository on Github to start making your changes to the develop branch (or branch off of it).
- Write a test which shows that the bug was fixed or that the feature works as expected.
- Send a pull request and bug the maintainer until it gets merged and published.