A dashboard for viewing OpenTSDB data
Please use Chrome while we work on performance :)
Developed and tested on OS X 10.6
Screenshot with some made-up data
opentsdb-dashboard depends on hbase and asynchbase for opentsdb, and on node and npm for opentsdb-dashboard
1 Get hbase-0.90.X - we've been using hbase-0.90.2
# From http://hbase.apache.org/book/quickstart.html. Pick a mirror at http://www.apache.org/dyn/closer.cgi/hbase/ and run:
curl -O http://link.to.mirror/.../hbase-0.90.X.tar.gz
tar -xzvf hbase-0.90.X.tar.gz
hbase-0.90.X/bin/start-hbase.sh
2 Get asyncbase
git clone https://github.com/stumbleupon/asynchbase.git
cd asynchbase
git checkout d1aff70c71d3
make
cd ..
3 Get and run OpenTSDB locally
# From http://opentsdb.net/getting-started.html
git clone git://github.com/stumbleupon/opentsdb.git
cd opentsdb
make || make MD5=md5sum
make staticroot
cp ../asynchbase/build/hbaseasync-1.0.jar ./third_party/hbase/hbaseasync-1.0.jar
env COMPRESSION=none HBASE_HOME=../hbase-0.90.X ./src/create_table.sh
./src/tsdb mkmetric http.hits sockets.simultaneous lolcats.viewed
./src/tsdb tsd --port=4242 --staticroot=build/staticroot --cachedir=/tmp/tsd
1 Get node:
curl -O http://nodejs.org/dist/node-v0.4.8.tar.gz
tar -xzvf node-v0.4.8.tar.gz
cd node-v0.4.8
./configure
make
sudo make install
cd ..
2 Get npm:
git clone http://github.com/isaacs/npm.git
cd npm
sudo make install
cd ..
3 Get opentsdb-dashboard:
git clone https://github.com/clover/opentsdb-dashboard.git
cd opentsdb-dashboard
sudo npm install .
cd ..
4 (optional) Create some fake time series data to play with
cd opentsdb-dashboard
echo "module.exports = ['http.hits', 'sockets.simultaneous', 'lolcats.viewed']" > src/shared/metrics.js
node run/fakeProducer.js
Run dashboard locally
node opentsdb-dashboard/run/dev.js
or, run dashboard locally but connect to a remote TSD on opentsdb.example.com:4242
node opentsdb-dashboard/run/dev.js opentsdb.example.com 4242
Build dashboard
node opentsdb-dashboard/run/build.js
Run production dashboard
node opentsdb-dashboard/run/prod.js opentsdb.example.com 4242