-
Notifications
You must be signed in to change notification settings - Fork 4
Configuration: Graphene Reader
This is a "dual" project to disthene. Though the data written by disthene can still be read and plotted by combination of cyanite & graphite-api, this schema introduces quite some overhead at least caused by serializing/deserializing to/from json. In cases when rendering a graph involves 10s of millions of data points this overhead is quite noticable. Besides that graphite-api as well as original graphite rendering could really be a bit faster. All in all, this project is about read and rendering performance exactly like disthene is about write performance.
The following APIs are supported:
- /paths API for backward compatibility with graphite-api and cyanite
- /metrics/find for Grafana
- /metrics
- /render mostly as per Graphite specification version 0.10.0
Please check this document for the graphene-reader configuration
This is a standard Java Gradle project.
gradle jar
will most probably do the trick.
There are a couple of things you will need in runtime
- Cassandra 2.x
- Elasticsearch 2.x
- Grafana using graphite as the datasource
You can run the disthene-reader app by using the default setup value as shown below.
$ export GRAPHENE_HOME=$GRAPHENE_INSTALLED_DIR
$ cd $GRAPHENE_HOME
$ docker-compose up -d
$ docker exec -it cassandra cqlsh
# create the keyspace and table using $GRAPHENE_HOME/infra/cassandra/2.x/metric.cql
$ -c $GRAPHENE_HOME/graphene-reader/graphene-reader-sample.yaml -l $GRAPHENE_HOME/config/graphene-reader-log4j-sample.xml -t $GRAPHENE_HOME/config/throttling-sample.yaml