A distributed system designed to ingest and process time series data
598
stars
2,141
commits
Java
primary language
Aug 19, 2024
updated
Blueflood is a multi-tenant, distributed metric processing system. Blueflood is capable of ingesting, rolling up and serving metrics at a massive scale.
The latest code will always be here on Github.
git clone https://github.com/rax-maas/blueflood.git
cd blueflood
Blueflood builds and runs on Java 8. Ensure you're using an appropriate JDK before proceeding.
Blueflood builds with Maven. Use typical Maven lifecycle phases:
mvn clean removes build artifacts.mvn test runs unit tests.mvn verify runs all tests.mvn package builds a Blueflood package for release.Important build profiles to know about:
skip-unit-tests skips unit tests in all modules.skip-integration-tests skips the integration tests.Blueflood's main artifact is an 'uber jar', produced
by the blueflood-all module.
After compiling, you can also build a Docker image with mvn docker:build. See
blueflood-docker for the Docker-related files.
You can easily build a ready-to-run Blueflood jar from source:
mvn package -P skip-unit-tests,skip-integration-tests
However, it requires Cassandra to start and Elasticsearch for all its features to work. The best place to start is the 10 minute guide.
The Blueflood team maintains a number of tools that are related to the project, but not essential components of it. These tools are kept in various other repos:
Performance Tests: Scripts for load testing a blueflood installation using The Grinder. https://github.com/rackerlabs/raxmetrics-perf-test-scripts
Carbon Forwarder: a process that receives data from carbon (one of the components of Graphite) and sends it to a Blueflood instance. https://github.com/rackerlabs/blueflood-carbon-forwarder
Blueflood-Finder: a plugin for graphite-web and graphite-api that allows them to using a Blueflood instance as a data backend. https://github.com/rackerlabs/blueflood-graphite-finder
StatsD plugin: a statsD backend that sends metrics a Blueflood instance. https://github.com/rackerlabs/blueflood-statsd-backend
First, we welcome bug reports and contributions. If you would like to contribute code, just fork this project and send us a pull request. If you would like to contribute documentation, you should get familiar with our wiki
Also, we have set up a Google Group to answer questions.
Copyright 2013-2017 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.
Java
96.4%
Shell
1.4%
A distributed system designed to ingest and process time series data
598
stars
2,141
commits
Java
primary language
Aug 19, 2024
updated
Blueflood is a multi-tenant, distributed metric processing system. Blueflood is capable of ingesting, rolling up and serving metrics at a massive scale.
The latest code will always be here on Github.
git clone https://github.com/rax-maas/blueflood.git
cd blueflood
Blueflood builds and runs on Java 8. Ensure you're using an appropriate JDK before proceeding.
Blueflood builds with Maven. Use typical Maven lifecycle phases:
mvn clean removes build artifacts.mvn test runs unit tests.mvn verify runs all tests.mvn package builds a Blueflood package for release.Important build profiles to know about:
skip-unit-tests skips unit tests in all modules.skip-integration-tests skips the integration tests.Blueflood's main artifact is an 'uber jar', produced
by the blueflood-all module.
After compiling, you can also build a Docker image with mvn docker:build. See
blueflood-docker for the Docker-related files.
You can easily build a ready-to-run Blueflood jar from source:
mvn package -P skip-unit-tests,skip-integration-tests
However, it requires Cassandra to start and Elasticsearch for all its features to work. The best place to start is the 10 minute guide.
The Blueflood team maintains a number of tools that are related to the project, but not essential components of it. These tools are kept in various other repos:
Performance Tests: Scripts for load testing a blueflood installation using The Grinder. https://github.com/rackerlabs/raxmetrics-perf-test-scripts
Carbon Forwarder: a process that receives data from carbon (one of the components of Graphite) and sends it to a Blueflood instance. https://github.com/rackerlabs/blueflood-carbon-forwarder
Blueflood-Finder: a plugin for graphite-web and graphite-api that allows them to using a Blueflood instance as a data backend. https://github.com/rackerlabs/blueflood-graphite-finder
StatsD plugin: a statsD backend that sends metrics a Blueflood instance. https://github.com/rackerlabs/blueflood-statsd-backend
First, we welcome bug reports and contributions. If you would like to contribute code, just fork this project and send us a pull request. If you would like to contribute documentation, you should get familiar with our wiki
Also, we have set up a Google Group to answer questions.
Copyright 2013-2017 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.
Java
96.4%
Shell
1.4%