1500 万人の Graphite ファンの皆さん、おはようございます。かっぱです。
はじめに
ドキュメント
基本的なこと
/render へアクセスすることから始める
The graphite webapp provides a /render endpoint for generating graphs and retreiving raw data. This endpoint accepts various arguments via query string parameters. These parameters are separated by an ampersand (&) and are supplied in the format:
上記のように Graphite ホストの /render というエンドポイント対してアクセスするとグラフやグラフの元になるデータを生成してくれる。このエンドポイントに以下のような & で括られたパラメータを渡せる。
&name=value
尚、素の http://GRAPHITE_HOST:GRAPHITE_PORT/render にブラウザでアクセスすると以下のような表示となる。

いとさみし。
for example
せっかくなのでエンドポイントを叩きながら例。
http://172.17.0.2/render?target=carbon.agents.17ad4c40d35a-a.cpuUsage&from=-1hours&lineMode=connected&height=400&width=600
にアクセスすると...

target には carbon によって収集されたメトリクス carbon.agents.17ad4c40d35a-a.cpuUsage を指定して from で「過去一時間分」のデータを指定、さらに lineMode では connected を指定、そして縦 400 ピクセル、横 600 ピクセルのグラフが生成されている。尚、デフォルトでは png 形式の画像が表示される。
http://172.17.0.2/render?target=carbon.agents.17ad4c40d35a-a.*&from=-1hours&lineMode=connected&height=400&width=600
にアクセスすると...

target には上記と同じく carbon で収集したメトリクス carbon.agents.17ad4c40d35a-a.* を指定する。末尾の * を指定するとその名の通り、全てのメトリクスが対象となる。
少し突っ込んで
Graphing Metrics
ドキュメント的にはこちら。キモになるのが以下のパラメータ。
target
target の指定の方法については Graphite のドットで区切られたパスを指定することになるが、パス内で * の指定も可能。以下、例。
carbon.agents.17ad4c40d35a-a.cpuUsage carbon.agents.17ad4c40d35a-a.*
また、* 以外にも簡単なパターンマッチでの指定や target=xxxx&target=yyyyy のように target を複数指定することも可能。更にこちらのように標準で用意された関数でパスを囲んで target として指定することで計算させたり、ひと手間加えた結果をグラフで表示することも可能となる。以下、例。
http://172.17.0.2/render?target=averageSeries(*.file.buffer_total_queued_size)&from=-24hours&lineMode=connected&format=png&height=400&width=600
子供のお絵かきみたいで恐縮だが...

複数ホストの td-agent で動いている monitor_agent から収集したメトリクスの中で、プラグインタイプ file の buffer_total_queued_size の平均値をグラフで表示した。
最後に
Render APIは手軽にHTTPから呼べるので色々と応用出来そうな気がする- ちなみにこれのメトリクスグラフは
Render APIを呼んでいる