ということで、前回からの続きです。
"Installed Apps" のところに、おなじみのアイコンと Zabbix と表示されていれば、プラグインのインストールも無事に完了しています。
[From Zabbix のダッシュボード代わりに grafana を使えるようにしてみる(その1) - Soukaku's HENA-CHOKO Blog]
とりあえず、インストールして Zabbix プラグインまでのインストールまで完了した状態になったわけですが、ここからもう少し設定をいじっていきます。
バックエンドのデータベースを MariaDB に変更
インストールした素のままだと、バックエンドに使っているデータベースは sqlite3 が使われるようになっているのですが、ここを MariaDB (or MySQL) に変更してみます。もちろん、必須ではないですけどね。
まず、 MariaDB に grafana 用の grafana というデータベースを作成。そこに、 session という名前のテーブルをひとつだけ作成します。
soukaku@vpsdb:~$ mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 731303
Server version: 10.0.28-MariaDB-2 Debian unstable
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database grafana character set utf8;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on grafana.* to grafana identified by '**********';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> use grafana
Database changed
MariaDB [grafana]> create table `session` ( `key` char(16) not null, `data` blob, `expiry` int(11) unsigned not null, primary key (`key`) ) ENGINE=MyISAM default charset=utf8;
Query OK, 0 rows affected (0.01 sec)
MariaDB [grafana]> show tables;
+-------------------+
| Tables_in_grafana |
+-------------------+
| session |
+-------------------+
1 row in set (0.01 sec)
MariaDB [grafana]> quit
Bye
session テーブルを作る必要がある点は、ドキュメントに記載されてますので、それも参考に。データベースへのアクセス権の設定は、各自調べてください。
今回のうちの環境では、grafanaが稼働するサーバと、DB サーバを別にしているので、そのあたりにも注意。
次に、grafana 側の設定で MairaDB を使うように設定を変更します。
/etc/grafana/grafana.ini
の 73 行目辺りに、MySQL を使う時の設定のサンプルがあるので、それに従って作成した DB 名やアクセス権を持つユーザの情報を記述することで、 sqlite3 から MariaDB にバックエンドが切り替わります。
root@vps2:~# diff -u /usr/share/grafana/conf/sample.ini /etc/grafana/grafana.ini
--- /usr/share/grafana/conf/sample.ini 2016-12-08 22:26:18.000000000 +0900
+++ /etc/grafana/grafana.ini 2016-12-13 21:33:24.620193899 +0900
@@ -73,7 +73,7 @@
# Use either URL or the previous fields to configure the database
# Example: mysql://user:secret@host:port/database
-;url =
+url = mysql://grafana:**********@192.168.0.2:3306/grafana
修正が終わったら、 grafana を起動(もしくは再起動)すると、自動的に MariaDB にある データベース grafana の初期化が行われ、必要なテーブルが作成されます。
DB サーバ側で生成されたテーブルを表示してみると、以下の通り。
root@vpsdb:~# mysql -ugrafana -p********** grafana
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 731931
Server version: 10.0.28-MariaDB-2 Debian unstable
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [grafana]> show tables;
+--------------------+
| Tables_in_grafana |
+--------------------+
| alert |
| alert_notification |
| annotation |
| api_key |
| dashboard |
| dashboard_snapshot |
| dashboard_tag |
| data_source |
| migration_log |
| org |
| org_user |
| playlist |
| playlist_item |
| plugin_setting |
| preferences |
| quota |
| session |
| star |
| temp_user |
| user |
+--------------------+
20 rows in set (0.00 sec)
MariaDB [grafana]> quit
Bye
これで、ダッシュボードにログインできれば、完了です。
データソースに Zabbix を指定する
さて、ここから grafana に Zabbix をデータソースとして利用するための設定をしていきます。
ログインしたら、 Plugins メニューから Plugins 画面を表示して、 Apps タブをクリックすると、Zabbix App が表示されるので、その部分をクリックします。
クリックすると Zabbix App の詳細が表示されますが、有効化をしないとプラグインとして機能しないので、 Enable のボタンをクリックして有効化しましょう。
これは、Zabbix App の追加後にバックエンドの DB を MariaDB に変更した関係で無効化状態になっているだけで、通常であれば下の画像のように Update と Disable のボタンが表示された状態になっています。
次に、Data Sources メニューから Data Sources 画面を表示します。ここで、画面右上の Add Data Souces ボタンをクリックして、データストアとして Zabbix が利用できるように設定します。
設定例は、以下の通り。
上から、必要な項目に入力またはプルダウンから選択していきます。
- Name → 任意の名前で入力
- Type → プルダウンから Zabbix を選択
- Http Settings
- Url → データソースにしたい Zabbix の api_jsonrpc.php へのURLを記述(例: http://example.jp/zabbix/api_jsonrpc.php )
- Access → プルダウンから Direct を選択
- Zabbi API details
- Username → Zabbix API にアクセスする際のユーザ名。既存のGUIへのログインユーザでも可
- Passward → 上記ユーザのパスワード
必要項目の入力が終わったら、 Add ボタンをクリック。ここで入力ミスなどがなければ、指定の Zabbix サーバの api_jsonrpc.php にgrafana からアクセスが行われ、動作中の Zabbix のバージョンが表示されます。
と、ここまで終われば、grafana を Zabbix のダッシュボードとして利用する準備が完了です。他の Zabbix サーバを追加したければ、追加したい Zabbix サーバの api_jsonrpc.php へアクセスするようにデータソースに追加すれば、OK。
あとは、grafana のダッシュボードに表示させたいデータを登録する作業をやっていくわけですが、Zabbix App をインストールすると、合わせてダッシュボードのテンプレートデータがインストールされるので、それをベースにやってみるのがとっかかりとしては良いかもしれませんね。
とりあえず、こんな感じで使えるようになる、というお話でした。
コメントする