Grafana + GraphiteでAnnotationsを使ってイベントを可視化する
GrafanaにはAnnotations
という、イベントをグラフ上へ表示する機能があります。
Annotationsの取得元はいくつか利用可能ですが、データソースとしてGraphiteのEvent
を使う方法について解説します。
Event
GraphiteにはEvent
と言う情報を保存する仕組みがあります。
しかし探してみても、データを格納する方法については公式ドキュメントで見つからない。
ただ、データの取り出し方については書かれています。
http://graphite.readthedocs.org/en/stable/functions.html?highlight=event#graphite.render.functions.events
こちらのブログで登録方法が書かれているので、そちらを参考に進めます。
Eventの登録
最低限のデータで登録する場合は、以下の様にデータをPostしてあげればいいです。
curl -X POST "http://graphitehost.com/events/" -d '{"what": "fugafuga", "tags": "hoge"}'
Eventの情報が格納されるテーブルはevents_event
で、このテーブルの構造を見ると以下のように定義されてます。
CREATE TABLE "events_event" (
"id" integer NOT NULL PRIMARY KEY,
"when" datetime NOT NULL,
"what" varchar(255) NOT NULL,
"data" text NOT NULL,
"tags" varchar(255) NOT NULL
);
テーブル構造から分かるように、さらにwhen
とdata
を指定することが可能です。
-
when
は、デフォルトでシステム日付が設定されます -
data
は、デフォルトでからが設定されます
例えばこんな感じで
curl -X POST "http://graphitehost.com/events/" -d '{"what": "Deploy apps 5", "tags": "deploy", "data": "ここには長い文章が指定できます。"}'
Grafanaの設定
Graphiteに登録されているEventをグラフ上に表示するには、Dashboardの設定から登録します。
Dashboardで設定するように、グラフ単位では指定できないみたいです。
- Name: Annotationの名称
- Datasource: Graphiteのデータソース
- Graphite event tags: イベントを登録した時のtag名
先ほどのdata
に指定した場合は、以下のように表示されます。
Dashboardには複数のAnnotationが登録でき、チェックボックスのON/OFFで表示非表示の切り替えができるので、デプロイ、サーバ追加と言った複数のイベントを登録して表示することで、どのような出来事がきっかけでリソースに変化があったかが一目瞭然となります。
このエントリーは私のブログで公開した情報のクローンです
Author And Source
この問題について(Grafana + GraphiteでAnnotationsを使ってイベントを可視化する), 我々は、より多くの情報をここで見つけました https://qiita.com/sparkgene/items/9612af5c19c6391c2af2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .