Lead is will be a Graphite replacement (or enhancement!). Acting as a Graphite client or server, it can integrate all your sources of time-series data.
Graphite provides a rich set of functions to apply to time series, but couples this to a primitive user interface and storage engine. Lead aims to replace all three.
If you're already invested in Graphite, you can use lead-graphite-server to expose any time-series data to Graphite. For example, you could apply Graphite function to Amazon CloudWatch data, or incorporate a new data store, like OpenTSDB.
If you're happy with Graphite's Carbon data storage, you can use Lead's implementation of the Graphite functions, while using one of the many existing Graphite UI alternatives, including lead.js, a console for exploring Graphite data.
Lead can fetch data from these sources:
- Graphite, using lead.graphite.connector
- Amazon CloudWatch, using lead-cloudwatch
- Anything that implements the Lead HTTP API, using lead.connector.remote
Lead is a written in Clojure, and uses Leiningen to build. After installing Leiningen, make a copy of the Lead example project. Inside the project directory, run the command
lein run 3000 config.clj
This runs the server on port 3000 using the config.clj
configuration file.
See Configuration for a list of options.
; TODO
Extend Connector. See GraphiteConnector for an example.
Lead is still experimental, but it can already fetch data from several sources. Soon, it will be expanded to directly support:
- OpenTSDB
- ElasticSearch