Database Reference
In-Depth Information
define new dashboards, you will need to install and run an Elasticsearch instance as well.
Grafana is available at http://grafana.org/ .
Another option for nicer dashboards with Open TSDB is Metrilyx, a package recently open
sourced by Ticketmaster. Installing Metrilyx is a bit more involved than installing Grafana
because there are additional dependencies (on nginx, Elasticsearch, Mongo and, optionally,
Postgres), but there are some benefits such as the use of websockets in order to improve the
responsiveness of the display. Keep in mind that while Metrilyx has been in use inside Tick-
etmaster for some time, it has only recently been released as open source. There may be
some teething issues as a result due to the change in environment. Metrilyx is available at ht-
tps://github.com/Ticketmaster/metrilyx-2.0 .
Possible Future Extensions to Open TSDB
The bulk API extension to Open TSDB's REST interface assumes that data can be buffered
in memory by the TSD. This violates the design assumptions of Open TSDB by making the
TSD keep significant amounts of state information in memory. This has several negative ef-
fects, the most notable being that a failure of the TSD will likely cause data loss. Even just
restarting a TSD process means that there is a short moment in time when there is no process
to handle incoming data.
In the original Open TSDB design, this was never a problem because TSD processes are
stateless by design. This means that you can run several such processes simultaneously and
simply pick one at random to handle each API request. Each request that delivers data to the
TSD will cause an immediate update of the storage tier, and all requests that ask the TSD are
satisfied by reference to the database.
With in-memory buffering, the TSD is no longer stateless, and we therefore lose the benefits
of that design. These issues do not affect the use of the bulk API for loading historical or test
data because we can simply dedicate a TSD for bulk loading, restarting loading if the TSD
fails or needs to be restarted. Similarly, the direct bulk loader is not affected by these consid-
erations.
At this time, the in-memory caching that has been implemented in association with the bulk
API has no provisions to allow restarts or multiple TSD processes. The next section de-
scribes one design that will support these capabilities safely.
Search WWH ::




Custom Search