1Tools That Work With Graphite
2=============================
3
4
5Collection
6----------
7
8`Brubeck`_
9  A statsd-compatible stats aggregator written in C.
10
11`Bucky`_
12  A small service implemented in Python for collecting and translating metrics for Graphite. It can currently collect metric data from CollectD daemons and from StatsD clients.
13
14`Carbonator Windows Service <https://github.com/CryptonZylog/carbonator>`_
15  Simple lightweight Windows Service that collects Performance Counter metrics and sends them over to the Graphite server. Configured via .NET xml application configuration.
16
17`collectd`_
18  A daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, including RRD. To send collectd metrics into carbon/graphite, use collectd's write-graphite_ plugin (available as of 5.1). Other options include:
19
20  - Jordan Sissel's node collectd-to-graphite_ proxy
21  - Joe Miller's perl collectd-graphite_ plugin
22  - Gregory Szorc's python collectd-carbon_ plugin
23  - Paul J. Davis's `Bucky`_ service
24
25  Graphite can also read directly from `collectd`_'s RRD files. RRD files can simply be added to ``STORAGE_DIR/rrd`` (as long as directory names and files do not contain any ``.`` characters). For example, collectd's ``host.name/load/load.rrd`` can be symlinked to ``rrd/collectd/host_name/load/load.rrd`` to graph ``collectd.host_name.load.load.{short,mid,long}term``.
26
27`Collectl`_
28  A collection tool for system metrics that can be run both interactively and as a daemon and has support for collecting from a broad set of subsystems. Collectl includes a Graphite interface which allows data to easily be fed to Graphite for storage.
29
30`Diamond`_
31  a Python daemon that collects system metrics and publishes them to Graphite. It is capable of collecting cpu, memory, network, I/O, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.
32
33`Ganglia`_
34  A scalable distributed monitoring system for high-performance computing systems such as clusters and Grids. It collects system performance metrics and stores them in RRD, but now there is an `add-on <https://github.com/ganglia/ganglia_contrib/tree/master/graphite_integration/>`_ that allows Ganglia to send metrics directly to Graphite. Further integration work is underway.
35
36`graphite-pollers <https://github.com/phreakocious/graphite-pollers>`_
37  A collection of scripts that shovel data into Graphite including a multi-threaded SNMP poller for network interface IF-MIB statistics and another which pulls linux network stack data from files in /proc/net. Add to cron and go.
38
39`Graphite PowerShell Functions <https://github.com/MattHodge/Graphite-PowerShell-Functions>`_
40  A group of functions that can be used to collect Windows Performance Counters and send them over to the Graphite server. The main function can be run as a Windows service, and everything is configurable via an XML file.
41
42`HoardD`_
43  A Node.js app written in CoffeeScript to send data from servers to Graphite, much like collectd does, but aimed at being easier to expand and with less footprint. It comes by default with basic collectors plus Redis and MySQL metrics, and can be expanded with Javascript or CoffeeScript.
44
45`Host sFlow`_
46  An open source implementation of the sFlow protocol (http://www.sflow.org), exporting a standard set of host cpu, memory, disk and network I/O metrics. The sflow2graphite utility converts sFlow to Graphite's plaintext protocol, allowing Graphite to receive sFlow metrics.
47
48`jmx2graphite`_
49  The easiest way to poll JMX metrics and write them to Graphite. This tool runs as a Docker container, polling your JMX every X seconds and writing the metrics to Graphite. Requires a minimum of configuration to get started.
50
51`jmxtrans`_
52  A powerful tool that performs JMX queries to collect metrics from Java applications. It is requires very little configuration and is capable of sending metric data to several backend applications, including Graphite.
53
54`Logster`_
55  A utility for reading log files and generating metrics in Graphite or Ganglia. It is ideal for visualizing trends of events that are occurring in your application/system/error logs. For example, you might use logster to graph the number of occurrences of HTTP response code that appears in your web server logs.
56
57`metrics-sampler`_
58  A java program which regularly queries metrics from a configured set of inputs, selects and renames them using regular expressions and sends them to a configured set of outputs. It supports JMX and JDBC as inputs and Graphite as output out of the box.
59
60`netdata`_
61  A fast and efficient monitoring agent that supports graphite backends. It has collection, forwarding, visualization and monitoring features. Netdata collects common system metrics and a variety of other sources through plugins.
62
63`Promitor`_
64  Bringing Azure Monitor metrics where you need them, allowing you to push Azure Monitor metrics to a variety of metric sinks such as a StatsD server.
65
66`Sensu`_
67  A monitoring framework that can route metrics to Graphite. Servers subscribe to sets of checks, so getting metrics from a new server to Graphite is as simple as installing the Sensu client and subscribing.
68
69`snort2graphite`_
70  Snort IDS/IPS can be configured to generate a rich set of metrics about network traffic. Presently there are more than 130 metrics available. Snort2graphite will pick up the most recent data from your snort.stats file and send all the metrics into Graphite.
71
72`SqlToGraphite`_
73  An agent for windows written in .net to collect metrics using plugins (WMI, SQL Server, Oracle) by polling an endpoint with a SQL query and pushing the results into graphite. It uses either a local or a centralised configuration over HTTP.
74
75`SSC Serv`_
76  A Windows service (agent) which periodically publishes system metrics, for example CPU, memory and disk usage. It can store data in Graphite using a naming schema that's identical to that used by collectd.
77
78`telegraf`_
79  Telegraf is an agent written in Go for collecting, processing, aggregating, and writing metrics. It also supports metric output to Graphite.
80
81Forwarding
82----------
83
84`Backstop`_
85  A simple endpoint for submitting metrics to Graphite. It accepts JSON data via HTTP POST and proxies the data to one or more Carbon/Graphite listeners.
86
87`carbon-c-relay`_
88  Enhanced C implementation of Carbon relay, aggregator and rewriter.
89
90`carbon-proxy`_
91  Relay metrics to a carbon daemon, using kafka as middleware. Payload windowing, transformation, duplication, or other custom functions.
92
93`carbon-relay-ng`_
94  Fast carbon relay+aggregator with admin interfaces for making changes online - production ready.
95
96`Evenflow`_
97  A simple service for submitting sFlow datagrams to Graphite. It accepts sFlow datagrams from multiple network devices and proxies the data to a Carbon listener. Currently only Generic Interface Counters are supported. All other message types are discarded.
98
99`Grafsy`_
100  Very light caching proxy for graphite metrics with additional features:
101
102  - Caching metrics in case of outage and sending them later
103  - Validation of metrics
104  - Aggregating of metrics, including SUM and AVG functions
105  - Much more
106
107`Graphite-Newrelic`_
108  Get your graphite data into `New Relic`_ via a New Relic Platform plugin.
109
110`Graphite-relay`_
111  A fast Graphite relay written in Scala with the Netty framework.
112
113`Graphios`_
114  A small Python daemon to send Nagios performance data (perfdata) to Graphite.
115
116`Graphout`_
117  A Node.js application that lets you forward Graphite based queries (using the render API) out to different external services. There are built in modules for Zabbix and CloudWatch. Custom modules are very easy to write.
118
119`Grockets`_
120  A node.js application which provides streaming JSON data over HTTP from Graphite.
121
122`Gruffalo`_
123  An asynchronous Netty based graphite proxy, for large scale installations. It protects Graphite from the herds of clients by minimizing context switches and interrupts; by batching and aggregating metrics. Gruffalo also allows you to replicate metrics between Graphite installations for DR scenarios, for example.
124
125`Ledbetter`_
126  A simple script for gathering Nagios problem statistics and submitting them to Graphite. It focuses on summary (overall, servicegroup and hostgroup) statistics and writes them to the nagios.problems metrics namespace within Graphite.
127
128`pipe-to-graphite`_
129  A small shell script that makes it easy to report the output of any other cli program to Graphite.
130
131`Polymur`_
132  A fast relay and HTTPS forwarder toolset written in Go.
133
134`statsd`_
135  A simple daemon for easy stats aggregation, developed by the folks at Etsy. A list of forks and alternative implementations can be found at <http://joemiller.me/2011/09/21/list-of-statsd-server-implementations/>
136
137`Statusengine`_
138  A daemon written in PHP to store Nagios and Naemon performance data to Graphite.
139
140Visualization
141-------------
142
143`Charcoal`_
144  A simple Sinatra dashboarding frontend for Graphite or any other system status service which can generate images directly from a URL. Charcoal configuration is driven by a YAML config file.
145
146`Descartes`_
147  A Sinatra-based dashboard that allows users to correlate multiple metrics in a single chart, review long-term trends across one or more charts, and to collaborate with other users through a combination of shared dashboards and rich layouts.
148
149`Dusk`_
150  A simple dashboard for isolating "hotspots" across a fleet of systems. It incorporates horizon charts using Cubism.js to maximize data visualization in a constrained space.
151
152`Firefly`_
153  A web application aimed at powerful, flexible time series graphing for web developers.
154
155`Gdash`_
156  A simple Graphite dashboard built using Twitters Bootstrap driven by a small DSL.
157
158`Giraffe`_
159  A Graphite real-time dashboard based on `Rickshaw`_ and requires no server backend. Inspired by `Gdash`_, `Tasseo`_ and `Graphene`_ it mixes features from all three into a slightly different animal.
160
161`Grafana`_
162  A general purpose graphite dashboard replacement with feature rich graph editing and dashboard creation interface. It contains a unique Graphite target parser that enables easy metric and function editing. Fast client side rendering (even over large time ranges) using Flot with a multitude of display options (Multiple Y-axis, Bars, Lines, Points, smart Y-axis formats and much more). Click and drag selection rectangle to zoom in on any graph.
163
164`Graphene`_
165  A Graphite dashboard toolkit based on `D3.js`_ and `Backbone.js`_ which was made to offer a very aesthetic realtime dashboard. Graphene provides a solution capable of displaying thousands upon thousands of datapoints all updated in realtime.
166
167`graphite-dashboardcli`_
168  A tool for manage graphite dashboards from command line:
169
170  - import\Export dashboards from\to Graphite servers
171  - synchronize dashboards between multiple Graphite servers
172  - keep dashboards in YAML format
173
174`Graphite-Tattle`_
175  A self-service dashboard frontend for Graphite and `Ganglia`_.
176
177`Graphiti`_
178  A powerful dashboard front end with a focus on ease of access, ease of recovery and ease of tweaking and manipulation.
179
180`Graphitoid`_
181  An Android app which allows one to browse and display Graphite graphs on an Android device.
182
183`graphitus`_
184  A client side dashboard for graphite built using bootstrap and underscore.js.
185
186`Graphsky`_
187  A flexible and easy to configure PHP based dashboard. It uses JSON template files to build graphs and specify which graphs need to be displayed when, similar to Ganglia-web. Just like Ganglia, it uses a hierarchial structure: Environment/Cluster/Host/Metric to be able to display overview graphs and host-specific metrics. It communicates directly to the Graphite API to determine which Environments, Clusters, Hosts and Metrics are currently stored in Graphite.
188
189`Graph-Explorer`_
190  A graphite dashboard which uses plugins to add tags and metadata to metrics and a query language with lets you filter through them and compose/manipulate graphs on the fly. Also aims for high interactivity using `TimeseriesWidget`_ and minimal hassle to set up and get running.
191
192`Graph-Index`_
193  An index of graphs for `Diamond`_.
194
195`Hubot`_
196  A Campfire bot written in Node.js and CoffeeScript. The related `hubot-scripts`_ project includes a Graphite script which supports searching and displaying saved graphs from the Composer directory in your Campfire rooms.
197
198`Leonardo`_
199  A Graphite dashboard inspired by Gdash. It's written in Python using the Flask framework. The interface is built with Bootstrap. The graphs and dashboards are configured through the YAML files.
200
201`Orion`_
202  A powerful tool to create, view and manage dashboards for your Graphite data. It allows easy implementation of custom authentication to manage access to the dashboard.
203
204`Pencil`_
205  A monitoring frontend for graphite. It runs a webserver that dishes out pretty Graphite URLs in interesting and intuitive layouts.
206
207`Targets-io`_
208  A dashboard application for organizing, analyzing, benchmarking and reporting of performance test results. All performance test metrics are stored in Graphite and can be benchmarked between test runs, providing automated feedback on the performance of an application.
209
210`Tasseo`_
211  A lightweight, easily configurable, real-time dashboard for Graphite metrics.
212
213`Terphite`_
214  Terminal tool for displaying Graphite metrics.
215
216`Tessera`_
217  A flexible front-end for creating dashboards with a wide variety of data presentations.
218
219`TimeseriesWidget`_
220  Adds timeseries graphs to your webpages/dashboards using a simple api, focuses on high interactivity and modern features (realtime zooming, datapoint inspection, annotated events, etc). Supports Graphite, flot, rickshaw and anthracite.
221
222
223Monitoring
224----------
225
226`Cabot`_
227  A self-hosted monitoring and alerting server that watches Graphite metrics and can alert on them by phone, SMS, Hipchat or email. It is designed to be deployed to cloud or physical hardware in minutes and configured via web interface.
228
229`graphite-beacon`_
230  A simple alerting application for Graphite. It asynchronous and sends notification alerts based on Graphite metrics.
231  It hasn't any dependencies except `Tornado` package. Very light and really very easy deployed.
232
233`graphite-to-zabbix`_
234  A tool to make zabbix alerts based on Graphite data.
235
236`Icinga`_
237  Icinga 2 will directly write metrics to the defined Graphite Carbon daemon tcp socket if the graphite feature is enabled. This feature is a more simple integration compared to Icinga 1.x and Graphios.
238
239`Moira`_
240  An alerting system based on Graphite data. Moira is a real-time alerting tool, independent from graphite storage, custom expressions and extendable notification channels.
241
242`rearview`_
243  A real-time monitoring framework that sits on top of Graphite's time series data. This allows users to create monitors that both visualize and alert on data as it streams from Graphite. The monitors themselves are simple Ruby scripts which run in a sandbox to provide additional security. Monitors are also configured with a crontab compatible time specification used by the scheduler. Alerts can be sent via email, pagerduty, or campfire.
244
245`Rocksteady`_
246  A system that ties together Graphite, `RabbitMQ`_, and `Esper`_. Developed by AdMob (who was then bought by Google), this was released by Google as open source (http://google-opensource.blogspot.com/2010/09/get-ready-to-rocksteady.html).
247
248`Seyren`_
249  An alerting dashboard for Graphite.
250
251`Shinken`_
252  A system monitoring solution compatible with Nagios which emphasizes scalability, flexibility, and ease of setup. Shinken provides complete integration with Graphite for processing and display of performance data.
253
254`Skyline`_
255  An anomaly detection/deflection system that receives all Graphite metrics data in real time via a carbon-relay pickle and analyses each time series to detect anomalies, drops off cliffs, user defined thresholds, handles multiple seasonality, records all anomalies and cross correlates all metrics to anomalies for the purpose of root cause analysis.  Skyline can also be trained on what is not anomalous and thereafter it can independently learn what is not anomalous using a time series similarities comparison method.  It can alert via smtp, hipchat and pagerduty.
256
257Storage Backend Alternates
258--------------------------
259If you wish to use a backend to graphite other than Whisper, there are some options available to you.
260
261`BigGraphite`_
262  A time-series database written in Python on top of Cassandra. It integrates with Graphite as a plugin.
263
264`carbon-clickhouse`_
265  Graphite metrics receiver with `ClickHouse`_ as storage. You will also need `graphite-clickhouse`_ as backend for Graphite-web.
266
267`cassabon`_
268  Carbon daemon using Cassandra as the backend, implemented in Go. It also acts as an API for Graphite (using the `Cyanite`_ reader) to retrieve the stats to display.
269
270`Ceres`_
271  An alternate storage backend provided by the Graphite Project.  It it intended to be a distributable time-series database.  It is currently in a pre-release status.
272
273`Cyanite`_
274  A highly available, elastic, and low-latency time-series storage wirtten on top of Cassandra
275
276`hisser`_
277  Time series database, backend for graphite, fast alternative to carbon + whisper.
278
279`graphite-clickhouse`_
280  Graphite-web backend with `ClickHouse`_ support. Please also see `carbon-clickhouse`_.
281
282`Graphouse`_
283  Graphouse allows you to use `ClickHouse`_ as a Graphite storage.
284
285`go-carbon`_
286  Golang implementation of Graphite/Carbon server with classic architecture: Agent -> Cache -> Persister.
287
288`influxgraph`_
289  Graphite `InfluxDB`_ backend. `InfluxDB`_ storage finder / plugin for Graphite API.
290
291`Kenshin`_
292  A time-series database alternative to Graphite Whisper with 40x improvement in IOPS. It integrates with Graphite as a plugin.
293
294`metrictank`_
295  Cassandra-backed, metrics2.0 based, multi-tenant timeseries database for Graphite and friends.
296
297Other
298-----
299`bosun`_
300  Time Series Alerting Framework. Can use Graphite as time series source.
301
302`carbonapi`_
303  3rd party reimplementation of graphite-web in Go, which supports a significant subset of graphite functions. In some testing it has shown to be 5x-10x faster than requesting data from graphite-web.
304
305`Bryans-Graphite-Tools`_
306  A collection of miscellaneous scripts for pulling data from various devices, F5, Infoblox, Nutanix, etc.
307
308`buckytools`_
309  Go implementation of useful tools for dealing with Graphite's Whisper DBs and Carbon hashing.
310
311`carbonate`_
312  Utilities for managing graphite clusters.
313
314`go-graphite buckytools`_
315  Fork of `buckytools`_, with more features.
316
317`graphite-dl4j`_
318  Experimental: Train a model for predictions. Machine learning using data from graphite.
319
320`graphite-remote-adapter`_
321  Fully featured graphite remote adapter for `Prometheus`_.
322
323`riemann`_
324  A network event stream processing system, in Clojure. Can use Graphite as source of event stream.
325
326`Therry`_
327  A simple web service that caches Graphite metrics and exposes an endpoint for dumping or searching against them by substring.
328
329
330.. _Backbone.js: http://documentcloud.github.com/backbone
331.. _Backstop: https://github.com/obfuscurity/backstop
332.. _BigGraphite: https://github.com/criteo/biggraphite
333.. _bosun: http://bosun.org
334.. _Brubeck: https://github.com/github/brubeck
335.. _Bryans-Graphite-Tools: https://github.com/linkslice/graphite-tools
336.. _Bucky: http://pypi.python.org/pypi/bucky
337.. _buckytools: https://github.com/jjneely/buckytools
338.. _Cabot: https://github.com/arachnys/cabot
339.. _carbon-c-relay: https://github.com/grobian/carbon-c-relay
340.. _carbon-clickhouse: https://github.com/lomik/carbon-clickhouse
341.. _carbon-relay-ng: https://github.com/graphite-ng/carbon-relay-ng
342.. _carbon-proxy: https://github.com/savantly-net/carbon-proxy
343.. _carbonapi: https://github.com/go-graphite/carbonapi
344.. _carbonate: https://github.com/graphite-project/carbonate
345.. _cassabon: https://github.com/jeffpierce/cassabon
346.. _Ceres: https://github.com/graphite-project/ceres
347.. _ClickHouse: https://clickhouse.yandex
348.. _Charcoal: https://github.com/cebailey59/charcoal
349.. _collectd: http://collectd.org
350.. _collectd-carbon: https://github.com/indygreg/collectd-carbon
351.. _collectd-graphite: https://github.com/joemiller/collectd-graphite
352.. _collectd-to-graphite: https://github.com/loggly/collectd-to-graphite
353.. _Collectl: http://collectl.sourceforge.net
354.. _Cyanite: http://cyanite.io/
355.. _D3.js: http://mbostock.github.com/d3
356.. _Descartes: https://github.com/obfuscurity/descartes
357.. _Diamond: https://diamond.readthedocs.io/en/latest/
358.. _Dusk: https://github.com/obfuscurity/dusk
359.. _Esper: http://esper.codehaus.org
360.. _Evenflow: https://github.com/github/evenflow
361.. _Firefly: https://github.com/Yelp/firefly
362.. _Ganglia: http://ganglia.info
363.. _Gdash: https://github.com/ripienaar/gdash.git
364.. _Giraffe: http://kenhub.github.com/giraffe
365.. _go-carbon: https://github.com/lomik/go-carbon
366.. _go-graphite buckytools: https://github.com/go-graphite/buckytools
367.. _Grafana: http://grafana.org
368.. _Grafsy: https://github.com/leoleovich/grafsy
369.. _Graphene: http://jondot.github.com/graphene
370.. _Graphios: https://github.com/shawn-sterling/graphios
371.. _graphite-beacon: https://github.com/klen/graphite-beacon
372.. _graphite-clickhouse: https://github.com/lomik/graphite-clickhouse
373.. _graphite-dashboardcli: https://github.com/blacked/graphite-dashboardcli
374.. _graphite-dl4j: https://github.com/savantly-net/graphite-dl4j
375.. _Graphite-Newrelic: https://github.com/gingerlime/graphite-newrelic
376.. _Graphite-relay: https://github.com/markchadwick/graphite-relay
377.. _graphite-remote-adapter: https://github.com/criteo/graphite-remote-adapter
378.. _Graphite-Tattle: https://github.com/wayfair/Graphite-Tattle
379.. _graphite-to-zabbix: https://github.com/blacked/graphite-to-zabbix
380.. _Graphiti: https://github.com/paperlesspost/graphiti
381.. _Graphitoid: https://market.android.com/details?id=com.tnc.android.graphite
382.. _graphitus: https://github.com/ezbz/graphitus
383.. _Graphouse: https://github.com/yandex/graphouse
384.. _Graphout: http://shamil.github.io/graphout
385.. _Graphsky: https://github.com/hyves-org/graphsky
386.. _Graph-Explorer: http://vimeo.github.io/graph-explorer
387.. _Graph-Index: https://github.com/douban/graph-index
388.. _Grockets: https://github.com/disqus/grockets
389.. _Gruffalo: https://github.com/outbrain/gruffalo
390.. _HoardD: https://github.com/coredump/hoardd
391.. _hisser: https://github.com/baverman/hisser
392.. _Host sFlow: http://host-sflow.sourceforge.net
393.. _Hubot: https://github.com/github/hubot
394.. _hubot-scripts: https://github.com/github/hubot-scripts
395.. _InfluxDB: https://influxdb.com/
396.. _influxgraph: https://github.com/InfluxGraph/influxgraph
397.. _Icinga: http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/icinga2-features#graphite-carbon-cache-writer
398.. _jmx2graphite: https://github.com/logzio/jmx2graphite
399.. _jmxtrans: https://github.com/jmxtrans/jmxtrans
400.. _Kenshin: https://github.com/douban/Kenshin
401.. _Ledbetter: https://github.com/github/ledbetter
402.. _Leonardo: https://github.com/PrFalken/leonardo
403.. _Logster: https://github.com/etsy/logster
404.. _OpenTSDB: http://opentsdb.net/
405.. _Orion: https://github.com/gree/Orion
406.. _metrics-sampler: https://github.com/dimovelev/metrics-sampler
407.. _metrictank: https://github.com/grafana/metrictank
408.. _Moira: http://moira.readthedocs.io
409.. _netdata: https://github.com/netdata/netdata
410.. _New Relic: https://newrelic.com/platform
411.. _Pencil: https://github.com/fetep/pencil
412.. _pipe-to-graphite: https://github.com/iFixit/pipe-to-graphite
413.. _Polymur: https://github.com/jamiealquiza/polymur
414.. _Prometheus: https://github.com/prometheus/prometheus
415.. _Promitor: https://promitor.io/
416.. _RabbitMQ: http://www.rabbitmq.com
417.. _rearview: http://github.com/livingsocial/rearview
418.. _Rickshaw: http://code.shutterstock.com/rickshaw
419.. _riemann: http://riemann.io
420.. _Rocksteady: http://code.google.com/p/rocksteady
421.. _Sensu: http://sensuapp.org
422.. _Seyren: https://github.com/scobal/seyren
423.. _Shinken: http://www.shinken-monitoring.org
424.. _Skyline: https://github.com/earthgecko/skyline
425.. _snort2graphite: https://github.com/gregvolk/snort2graphite
426.. _SqlToGraphite: https://github.com/perryofpeek/SqlToGraphite
427.. _SSC Serv: https://ssc-serv.com
428.. _statsd: https://github.com/etsy/statsd
429.. _Statusengine: https://github.com/statusengine/worker
430.. _Tasseo: https://github.com/obfuscurity/tasseo
431.. _Targets-io: https://github.com/dmoll1974/targets-io
432.. _telegraf: https://github.com/influxdata/telegraf
433.. _Terphite: https://github.com/benwtr/terphite
434.. _Tessera: https://github.com/urbanairship/tessera
435.. _Therry: https://github.com/obfuscurity/therry
436.. _TimeseriesWidget: https://github.com/Dieterbe/timeserieswidget
437.. _write-graphite: http://collectd.org/wiki/index.php/Plugin:Write_Graphite
438