https://github.com/douban/graphite-kenshin
A plugin for using graphite-web with the kenshin-based storage backend.
https://github.com/douban/graphite-kenshin
graphite-api metrics
Last synced: 8 months ago
JSON representation
A plugin for using graphite-web with the kenshin-based storage backend.
- Host: GitHub
- URL: https://github.com/douban/graphite-kenshin
- Owner: douban
- License: other
- Created: 2016-12-19T02:08:25.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-06-14T03:56:23.000Z (over 7 years ago)
- Last Synced: 2025-03-20T14:40:43.320Z (8 months ago)
- Topics: graphite-api, metrics
- Language: Python
- Homepage:
- Size: 87.9 KB
- Stars: 16
- Watchers: 16
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Graphite-Kenshin
==================
Graphite-Kenshin is a plugin for using graphtie-api with [Kenshin](https://github.com/douban/Kenshin) storage backend.
Graphite Cluster
===================
Overview
-----------
Our graphite consists of three major components:
- [Graphite-API](https://graphite-api.readthedocs.io/en/latest/), Graphite-API is an alternative to Graphite-web, without any built-in dashboard. Its role is solely to fetch metrics from a time-series database (whisper, cyanite, etc.) and rendering graphs or JSON data out of these time series. It is meant to be consumed by any of the numerous Graphite dashboard applications.
- [Kenshin](https://github.com/douban/Kenshin.git), A time-series database alternative to Graphite Whisper with 40x improvement in IOPS.
- Rurouni-cache, Metric processing daemon.
- Kenshin, Time-series database library.
- [carbon-c-realy](https://github.com/douban/carbon-c-relay.git), Enhanced C implementation of Carbon relay, aggregator and rewriter.

Install a demo cluster
===================
Kenshin
------------
Refer [here](https://github.com/douban/Kenshin#quick-start) to install kenshin and start two `Rurouni-cache` instances.
Graphite-Kenshin & Graphite-API
------------------
Install
$ git clone https://github.com/douban/graphite-kenshin.git
$ cd graphite-kenshin
$ GraphiteKenshinVenv= make install
Start Graphite-API
$ export GRAPHITE_API_CONFIG=/conf/graphite-api.yaml
$ # update graphite-api.yaml
$ gunicorn -w2 graphite_api.app:app -b 127.0.0.1:8888
carbon-c-relay
-----------------
Build carbon-c-relay:
$ git clone https://github.com/douban/carbon-c-relay.git
$ cd carbon-c-relay
$ make
Start carbon-c-realy:
$ cd graphite-kenshin
$ /path/to/relay -p 2001 -f ./conf/relay.conf -S 1 -H relay_0
Send & Query metrics
======================
Send metrics to carbon-c-relay
$ cd
$ python examples/metric_stresser.py -a 127.0.0.1:2001 -f line -p 10 -m 100 -i 10
Query metrics through Graphite-API
http://127.0.0.1:8888/render?target=metric_stresser.process_*.metric_id.0&width=1200&height=600&from=-10min
Contributors
===================
- [@zzl0](https://github.com/zzl0)
- [@camper42](https://github.com/camper42)
- [@windreamer](https://github.com/windreamer)