Sign inSign up

rackerlabs/blueflood

By rackerlabs

•Updated about 4 years ago

A distributed system designed to ingest and process time series data http://www.blueflood.io

Image
1

50K+

rackerlabs/blueflood repository overview

⁠What is Blueflood?

Blueflood is a multi-tenant distributed metric processing system created by engineers at Rackspace. It is used in production by the Rackspace Monitoring team to process metrics generated by their monitoring systems. Blueflood is capable of ingesting, rolling up and serving metrics at a massive scale.

alt tag

Simply put, Blueflood is a big, fast database for your metrics.
Data from Blueflood can be used to construct dashboards, generate reports, graphs or for any other use involving time-series data.
It focuses on near-realtime data, with data that is queryable mere milliseconds after ingestion. Data is stored using Cassandra to make Blueflood fault-tolerant and highly-available.
In contrast to forebearers such as CarbonDB⁠ or RRDTool⁠, your Blueflood cluster can expand as your metrics needs grow.
Simply add more Cassandra nodes.

⁠How to run this container?

This image comes with a set of default environment variables, which runs the Blueflood container decently. If you want to run it in production environment or with some other settings, you can always adjust to taste. Here's the list of ENV variables and their description.

VariableDescriptiondefault
CASSANDRA_HOSTIP address of Cassandra seed. (Required)null
ELASTICSEARCH_HOSTIP address of Elasticsearch node. (Required)null
CASSANDRA_DRIVERDriver type for connecting to C* - astyanax for thrift protocol (recommended for C* < 2.1) datastax for cql native protocol (recommended for C* > 1.2)astyanax
MAX_ROLLUP_THREADSMaximum number of threads participating in rolling up the metrics20
MAX_CASSANDRA_CONNECTIONSMaximum number of connections with each Cassandra node70
INGEST_MODEWhether to start the Ingest servicetrue
ROLLUP_MODEWhether to start the Rollup servicetrue
QUERY_MODEWhether to start the Query servicetrue
LOG_LEVELBF services Logging Level. See here for detailed description: https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html⁠INFO
INITIAL_HEAP_SIZEInitial size of the heap to be allocated to BF process.1G
MAX_HEAP_SIZEMaximum size of the heap to be allocated to BF process.1G
GRAPHITE_HOSTIP address of the Graphite host to monitor your container" "
GRAPHITE_PORTLine port of the Graphite host to monitor your container2003
GRAPHITE_PREFIXPrefix for graphite metrics.Host name of the container.

If you want to play with the these variables at PRO level, here's the list of all the properties that you can use as ENV variables: https://github.com/rackerlabs/blueflood/blob/master/blueflood-core/src/main/java/com/rackspacecloud/blueflood/service/CoreConfig.java⁠

Tag summary

Content type

Image

Digest

sha256:6bf4c4575…

Size

304.9 MB

Last updated

about 4 years ago

docker pull rackerlabs/blueflood