Graph-explorer

A graphite dashboard that's different, from Vimeo

Screenshot

Structures your metrics

The Graphite tree model is hard to organize and query, it lacks information and can be inflexible when building graphs. GE uses a multi-dimensional metric database so that your metrics like

servers.dfvimeodfs1.diskspace._srv_node_dfs10.byte_used
become structured, self-describing, tagged metrics:
{
    server=dfvimeodfs1
    plugin=diskspace
    mountpoint=_srv_node_dfs10
    unit=B
    type=used
    target_type=gauge
}
This enables a bunch of features that are otherwise not possible.

Compose graphs on the fly

Using simple GEQL queries you retrieve metrics, process and organize them into graphs. Graphs are never predefined because there's no need to hardcode metric names or graphite function calls.

Screenshot query

Shown above: powerful pattern search with tag filtering, regexes, equality checks, negation, etc.

Units

Every metric gets a standardized unit tag, so:

Screenshot units

Online aggregation

Choose one or more tag keys to combine targets by, and represent them as one metric. For example: show network traffic per interface, averaged across all servers and summed by type (rx and tx).

Screenshot aggregation

Also shown here is averaging over any arbitrary timespan.

Group metrics into graphs

Group by arbitrary tag keys. For example: "group by server" show bytes used for all mountpoints on per-server graphs whereas "group by mountpoint" creates graphs per mountpoint, each showing the bytes used on each server by that mountpoint.

Screenshot group by

Correlate with events

Integrates with anthracite for displaying annotated events. More specifically, you can show events from ElasticSearch, and you can filter them with powerfull Lucene queries, which is great to look for specific deploys/fixes of specific tickets etc. Trivial example below.

Interactive graphs

realtime zooming, inspect datapoints, switch display mode, etc.

Screenshot zooming

More

  • Averaging over time & trending: Is the curve too jagged? Average it out over any timeframe
  • Dashboards, basically working with multiple queries at once
  • apply preferences by tag matching (for example use binary units for all graphs that show bytes related to memory and hard drives), or show GET and PUT requests always in a fitting color, irrespective of dashboard or plugin
  • Discover all about graph-explorer

    Introduction to metrics 2.0 & Graph-Explorer


    view on Vimeo

    On the roadmap