Foxtrot is a data store abstraction service for storing event data for real-time systems. It combines the power of fast row get/put by HBase and powerful indexing and aggregation features provided by Elasticsearch. Foxtrot provides:
- REST api's for event ingestion with batched input, simple analytics and other functionality
- SQL subset (FQL) for querying and running analytics on ingested events
- Reconfigurable console builder to build useful consoles that can be shared among people
- Intelligent caching of queries to load-balance on console heavy query loads
- A very extensible design that needs three annotated classes to be added to the source for adding a new kind of analytics operation
Web console and console builder
Foxtrot has built in support for building, saving and managing your own custom consoles. Foxtrot container itself will host and render your console for you. The backend is optimized for serving aggregated views to large number of open monitoring consoles, without bringing the ES cluster to it's knees.
There are several customizable widgets including donuts, bars and trend views with support for filtering and visualizing the data that you need to see.
Foxtrot query language
Besides the console, foxtrot supports a SQL compatible query language for querying as well as running aggregations on the ingested events. FQL commands can be run on the foxtrot web console or (for the unix nerd in us) from the command line.
Check the Wiki for detailed documentation.
Foxtrot uses a number of open source projects to work properly:
- Elasticsearch - awesome distributed search query store based on lucene
- HBase - distributed, scalable big data-store
- Hazelcast - distributed data grid
- Dropwizard - REST web services framework
- Twitter Bootstrap 3 - great UI boilerplate for modern web apps
- Bootstrap validator - a form validation plugin for bootstrap
- Bootstrap select - A ui selection widget for bootstrap
- D3 - data visualization library
- Handlebars - templating library
- jQuery - backend API calls and DOM access
- jQuery UI - extensible ui framework
Contribution, Bugs and Feedback
For bugs, questions and discussions please use the Github Issues.
Please follow the contribution guidelines when submitting pull requests.
Copyright 2014 Flipkart Internet Pvt. Ltd.
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
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.