LoginSignup
517
494

More than 5 years have passed since last update.

10分で理解するGrafana

Last updated at Posted at 2018-07-09

Grafana とは

Grafana は Grafana Labs が公開しているログ・データ可視化のためのツールです
可視化ツールとしては kibana とほぼ同じようなものです

grafana_top.png

Grafana も kibana も、DB に保存されたログに対してリアルタイムにクエリを投げてデータを表示することができ、
表示する期間の長さや時間帯を変えたり、パーツ毎に特定のノードだけのデータを表示したりインタラクティブに可視化を操作することができます

Grafana は複数のデータベースに対応しており現時点では以下に対応しています
- Graphite
- Prometheus
- Elasticsearch
- InfluxDB
- OpenTSDB
- MySQL
- AWS Cloudwatch

kibana は elasticsearch のみ対応しています
UI の機能は kibana の方が高機能な気がしますが、Grafana でもプラグインで様々な機能・UIが公開されていますし自分で開発することもできます
https://grafana.com/plugins

ただ、リソース監視やアプリケーションのスタッツ監視という観点で考えれば、そこまでリッチな可視化は必要ない場合がほとんどだと思うので、どちらを使っても大きな違いはないはずです

Prometheus で取得したデータをカッコよく可視化するためにも Grafana を使うことができます

Grafana インストール

公式ドキュメント に沿ってインストールしてもらえばOKですが、Docker を利用するのが一番簡単です

データの保存を考えずにとりあえず動かすならこれだけ!

DockerでGrafanaを起動
$ docker run -d -p 3000:3000 grafana/grafana

Grafana で可視化する

Dashboard というのを作成し Dashboard ごとに可視化パーツを設定していくことになります

可視化の手順は基本的に以下だけです
1. Dashboard を作成
1. UIパーツを追加
1. データ取得のクエリをセット

クエリを考えるのに多少頭を使う必要があるくらいで、あとはサクサク試しながら追加していくことができます
一度セットアップした Dashboard は保存できますし、設定を Json 形式で export できるのでコードとしてバックアップを取っておくことも可能です

利用できる UIパーツ

デフォルトでは以下のパーツが用意されています
Graph と Singlestat があればとりあえず困ることはないでしょう
UI.png

Heatmap ってやつがなかなかイケてる見た目をしています
heatmap.png

Grafana のプラグインでいろいろな UI パーツが公開されているので、
込み入った表示がしたければそういうものを利用するのもありです

github のコミットの履歴のグラフみたいなプラグインとかもありました
https://github.com/NeoCat/grafana-cal-heatmap-panel
commit.png

クエリの設定 (Prometheus の場合)

利用するバックエンドによってクエリの詳細は違いますが、Prometheus を利用した場合の例を少しだけ

10分で理解する Prometheus で紹介した node_exporter を利用するとマシンのCPU、メモリ、ディスクなどのリソース情報を取得できます

空きメモリを取得するには以下をセットします

空きメモリ取得
node_memory_MemAvailable

各マシンの CPU 使用率は以下のクエリで取得できます

CPU使用状況
100 - (avg by (instance) (irate(node_cpu{mode="idle"}[5m])) * 100)

ぶっちゃけクエリの意味はあんまりわかっていません
クエリの意味の解説はコチラへ!
https://www.robustperception.io/understanding-machine-cpu-usage/

これが Grafana で作ったダッシュボードだ!

色々と設定をするとこんな感じのダッシュボードが出来上がります
Prometheus で用意されているデフォルトのダッシュボードと比べると雲泥の差ですね

grafana_s.png

以上、快適なダッシュボードライフを!

517
494
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
517
494