Public Repository

Last pushed: 2 years ago
Short Description
A distributed system designed to ingest and process time series data
Full Description

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.

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.

Variable Description default
CASSANDRA_HOST IP address of Cassandra seed. (Required) null
ELASTICSEARCH_HOST IP address of Elasticsearch node. (Required) null
CASSANDRA_DRIVER Driver 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_THREADS Maximum number of threads participating in rolling up the metrics 20
MAX_CASSANDRA_CONNECTIONS Maximum number of connections with each Cassandra node 70
INGEST_MODE Whether to start the Ingest service true
ROLLUP_MODE Whether to start the Rollup service true
QUERY_MODE Whether to start the Query service true
LOG_LEVEL BF services Logging Level. See here for detailed description: INFO
INITIAL_HEAP_SIZE Initial size of the heap to be allocated to BF process. 1G
MAX_HEAP_SIZE Maximum size of the heap to be allocated to BF process. 1G
GRAPHITE_HOST IP address of the Graphite host to monitor your container " "
GRAPHITE_PORT Line port of the Graphite host to monitor your container 2003
GRAPHITE_PREFIX Prefix 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:

Docker Pull Command