スマートスタイル TECH BLOG

MySQLのデータをGrafanaでグラフィカルに表示してみた

MySQLに格納されているデータを気軽に見える化できれば嬉しいと思った事は無いでしょうか。
色々なグラフで表示できれば、眠っているデータも活用できるかもしれませんね。
今回、Grafanaを使用して、様々なグラフで表示するという検証を行いました。

環境情報

説明
仮想化ソフト KVM
VCPU 2 core
MEMORY 2G
OS CentOS7

GrafanaはデフォルトでPort 3000番でListenしますので、ブラウザでアクセスできるように設定を行います。
また同じVM上にMariaDBもインストールします。

参考ドキュメント

Grafana公式ドキュメント
http://docs.grafana.org/

MariaDB公式ドキュメント
https://mariadb.com/kb/ja/mariadb/

GrafanaのデータソースにMySQLを登録
http://docs.grafana.org/features/datasources/mysql/#using-mysql-in-grafana

MariaDBのインストール

以下のようにMariaDBをインストールし、起動します。

今回、簡単なベンチマーク結果をグラフ化したいと思いますので、sysbenchもインストールしておきます。

ベンチマーク格納用のテーブルも作成しておきます。
時系列データをGrafanaで表示するためには、クエリで以下の列が取得できる必要があります。

カラム名 説明
time_sec Unixエポック時を格納する列でなければなりません。
value 値を格納する列でなければなりません。
metric グラフ表示名を格納する列でなければなりません。

Grafanaからクエリを実行する際に上記の列名で値を取得する必要がありますが、
SELECT文のAS句を使用すればよいため、実際のカラム名が上記である必要はありません。

以下のように作成しました。

Grafanaからアクセスするためのユーザーを作成します。

データ作成

sysbenchのベンチマーク結果をCSVにしてmysqlに流し込みます。

bench_innodb.cnfは以下の内容です。

採取が完了したら、LOADします。

※LOAD DATA INFILEを使用するためにはsecure_file_privシステム変数で/tmpを指定する必要があります。

以上でデータの準備は完了です。

Grafanaのインストール

公式の手順に従い、Yumリポジトリを登録しインストールを行います。

http://docs.grafana.org/installation/rpm/

次にgrafanaを起動します。
自動起動も有効化しておきます。

Grafanaの初期画面が表示されるか確認してみましょう。

http://exsample.com:3000

初期ログインユーザー/パスワードはadmin/adminです。

次にデータソースを登録します。
ここではlocalhostのMariaDBを登録します。

そして、ダッシュボードを作成しましょう。

ダッシュボードにグラフを追加します。

以下の通りSQLを書き換えます。

最後にグラフのタイトルを変更しましょう。

表示されましたが、時間幅が広すぎますので、表示間隔を変更しましょう。

最終的にこのようなグラフが出来上がりました。

これで、sysbenchを実行した結果どのようにQPSが推移していたか一目瞭然ですね。

使い慣れたMySQLにデータを入れ、簡単なSQLで多種多様なグラフを作成できる仕組みは
色々と役立つのではないかと思います。

Let’s Enjoy Grafana & MariaDB !


MariaDB

 

Return Top