Welcome to GottWall's documentation!
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
You can try free demo charts on demo.gottwall.com. Login opened for all users.
Custom graph type and title
Simple chart charing
To use gottwall use pip or easy_install:
pip 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.
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).
Starting web dashboard
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 time complexity O(N) for data range select)
- TODO: mongodb (We need your help).
- TODO: SQL
Available transport backends with clients
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:
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.