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.
Features
- Beautiful customizable dashboard for visualizing metrics with charts.
- Data aggregation
- Data collection
- Embedded charts (HTML, iframe, javascript, JSON)
Demo
You can try free demo charts on demo.gottwall.com. Login opened for all users.
Screenshots
Dashboard
Custom graph type and title
Simple chart charing
Installation
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.
Configuration
See gottwall/examples/config.py
or create default config by command:
gottwall init ./config.py
Usage
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
Starting aggregator
To run aggregator application execute command:
gottwall --config="examples/config.py" aggregator start
Available storages
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
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
Available clients
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.
CONTRIBUTE
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.