blueflood

Blueflood DB

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.

Build Status Coveralls Release License

What is Blueflood?

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.

Written in Java, Blueflood exists as a cluster of distributed services. The services are:

  • Ingestion
  • Query
  • Rollup

You send metrics to the ingestion service. You query your metrics from the Query service. And in the background, rollups are batch-processed offline so that queries for large time-periods are returned quickly.

Blueflood was created by the Rackspace Monitoring team at Rackspace to manage raw metrics generated from the Rackspace Monitoring system. Blueflood is now largely promoted by the Rackspace Metrics team which provides Blueflood-as-a-Service as a free service (yes, really – just talk to us). Since making the product open source, several other large companies have begun using the tool.

Blueflood is an open source under the Apache 2.0 license.

Quickstart

There are a couple different ways that you can get started with Blueflood:

Method 1: Docker

Assuming git and docker installed:

git clone -b goru97/docker --single-branch https://github.com/rackerlabs/blueflood.git
cd blueflood/contrib/blueflood-docker/
docker-compose up &
  • note: this will be in the master branch as soon as PR 558 gets merged

Method 2: Vagrant

Assuming Vagrant and VirtualBox installed:

mkdir blueflood_demo; cd blueflood_demo
vagrant init blueflood/blueflood; vagrant up

Media

  • Metrics Meetup, December 2014 - Blueflood: Multi-tenanted Time-series Datastore:
  • Berlin Buzzwords, May 2014 - Blueflood 2.0 and beyond: Distributed open source metrics processing:
  • Metrics Meetup, February 2014 - Introduction to Blueflood:
  • Cassandra EU, October 2013 - Blueflood: Simple Metrics Processing:

Contributing

Let’s just get this straight: we love anybody who submits bug reports, fixes documentation, joins our IRC channel, submits PR’s… whatever you got, we’ll gladly accept.

If you want to get involved at any level, check out our Contributing page on the wiki!

Questions or need help?

Check out the Talk to us page on our wiki.

Copyright 2013-2015 Rackspace

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.