GrafanaをBIツールのように使ってMySQLのデータを可視化する
1. Grafanaとは
Grafanaとは
オープンソースでリッチな分析とモニタリングプラットフォーム
です。また、Elastic SearchやPrometheusなどあらゆるデータベースでもデータを運用することができます。
typescript
とgolang
で書かれており、OSSなのでもちろんコントリビュートすることができます。
Playgroundが公式サイトにはあって、使ってみることができます。
1.1 機能
以下のような機能があります。
- 可視化
- 通知
- 統合
また機能に入るかはわかりませんが、とても綺麗なUIを提供しています。
1.2 ホストする方法
ホストする方法は以下の二つがあります。
- 自分でやる
- GrafanaCloudでホストをする
1.3 コミュニティ
プラットフォームなので、プラグインをはじめとする機能が豊富です。
もちろん
- MySQL
- Promethus
- Druid
- Kubernetes
- ...
などがあります。
特にコミュニティがあついだけ、今後に期待できると思います。
1.4 UI的なコンセプト
1.4.1 ヘッダー
常に表示されているヘッダーです。
番号のそれぞれは
番号 | 名前 | 概要 |
---|---|---|
1 | サイドメニューバートグル | サイドメニューを表示する。ユーザー、オーガニゼーション、データソースなどのダッシュボードと直接関係ない項目がある。 |
2 | ダッシュボードドロップダウン | 表示されているダッシュボードがどれか示して、他のダッシュボードへスイッチできる。 |
3 | パネル追加ボタン | パネルを追加する |
4 | ダッシュボタンお気に入りボタン | スターをつけたダッシュボードがデフォルトで表示される。 |
5 | ダッシュボードシェア | 表示されているダッシュボードのリンクを作成したり、スナップショットを取れる。 |
6 | ダッシュボードを保存する | 保存 |
7 | 設定 | 設定そのまま |
を行えます。
1.4.2 ダッシュボードとパネル
ダッシュボードはパネルの集合である。
基本的なダッシュボードは以下の通りです。
それぞれの番号は
番号 | 名前 |
---|---|
1 | 表示する範囲を変える |
2 | 現在と相対的な時間を指定できる |
3 | 手動更新 |
4 | ダッシュボードパネルそのもの |
5 | 凡例 |
です。
1.5 システム的なコンセプト
1.5.1 データソース
データソースは時系列データが入ったいろんな種類のバックエンドのことです。
1.5.2 オーガニゼーション
一つのインスタンスでいくつものオーガニゼーションをサポートしていて、すべてのダッシュボードは何かしらのオーガニゼーションに所属します。
1.5.3 ユーザー
Grafanaアカウントによって管理されているユーザーである。
1.5.4 ロー
パネルをダッシュボード内でまとめる役割を持つ。
1.5.5 パネル
可視化するブロック単位のことである。
1.5.6 クエリエディタ
メトリックスをクエリにかけることができる。
2. ローカルから接続する
2.1 MacにHomebrewでインストールする
以下のコマンドでインストールする。
$ brew install grafana
また、以下のように起動方法も親切に教えてもらえるので便利です。
$ brew install grafana ... To have launchd start grafana now and restart at login: brew services start grafana Or, if you don't want/need a background service you can just run: grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins ...
2.2 Grafanaをローカルで起動する
まず、Grafanaで起動させます。
brew services start grafana
起動したら0.0.0.0:3000にアクセスすると以下の画面にみえます。
ポートなど変更したい人のために追記すると、設定ファイルは以下のパスにあります。
/usr/local/etc/grafana/grafana.ini.
ここでは以下のユーザー名とパスワードで入ります。
項目 | 設定値 |
---|---|
username | admin |
password | admin |
ログインすると以下のように表示されます。
2.3 MySQLを接続する
まず、プラグインが必要なのでInstalled App
を押して、Grafana.comで探します。
見つけてクリックすると、以下のようなページに遷移します。
Installation
タブを押すと...
This plugin is included with Grafana and does not require installation. Woo.
すでに入っているみたいですね。
先ほどのページに戻って、Add datasource
をクリックします。
そしてMySQLの設定をします。
以下のように設定をします。
Save&Test
を押すと接続できます。
正しく接続できると以下のようになります。
元にもどると以下のようになっています。
2.4 ダッシュボードを作る
New dashboard
を押すと以下の画面になります。
まず、最初のパネルを作ることになります。
特定のグラフを使って見ると以下のようにダッシュボードが作成されます。
Panel Title
をクリックしてEdit
を押すと設定できます。
以下のようにクエリがあります。
ここでダッシュボードを保存します。
ダッシュボードもディレクトリを分けれるので、便利ですね。
2.5 パネルを作る
ここはSQLを書いていきます。
また、以下に便利なマクロが定義されています。
パネルをもっと追加したいときはAdd new panel
をクリックしてください。
SQL文を書くと以下のように可視化することができます。
3. ダッシュボードの共有
Share Dashboard
ボタンを押してください。
すると以下のような方法で共有することができます。
まとめ
- MySQLをGrafanaを使ってBIツールのように可視化できた
次はアプリケーションのメトリックスを探っていこうと思います。