背景
EC2(ubuntu)上でZabbixを起動してサーバ監視を行っていたが、Zabbixのダッシュボードの見た目がダサかったので、かっこいいダッシュボードを作りたかった
GrafanaにはZabbixと連携することが(プラグイン)で可能なため、採用した
前提
- EC2(ubuntu)にてZabbixサーバが起動している(Zabbixのインストールはこちらを参考)
- ZabbixではWeb監視、ElasticBeansTalkを使ったリソース監視、CoudeWatchでのログ監視、RDSのリソース監視、Zabbixサーバ自体の監視を行っている
手順
Grafanaのインストール
Grafanaの公式を参考にした
以下のコマンドを実行してインストールを行う
(Grafanaのバージョンは適宜変更が必要)
sudo wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.4_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_5.1.4_amd64.deb
Grafanaを起動
sudo service grafana-server start
Zabbix plugin for Grafanaをインストール
以下のコマンドを実行してインストール
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
apacheにリバースプロキシを設定
Grafanaが3000番ポート、EC2への接続は80番ポートとなっているため、リバースプロキシの設定が必要となる
proxyモジュールを有効にする
sudo a2enmod proxy
sudo a2enmod proxy_http
リバースプロキシの設定ファイルを作成する
sudo vim /etc/apache2/conf-available/node.conf
# リバースプロキシとしての用途だけなのでProxyRequestsはOff
ProxyRequests Off
# Zabbixへの接続パスをプロキシ設定から除外する
ProxyPass /zabbix !
# localhostの3000番ポートにリクエストを投げる
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
configファイルの設定を有効にする
(conf-enabledフォルダにシンボリックリンクを作成することで設定が読み込まれる)
cd /etc/apache2/conf-enabled/
sudo ln -s ../conf-available/node.conf node.conf
apacheを再起動する
sudo service apache2 restart
ZabbixにGrafana連携用のユーザを作成する
Grafana → Zabbixの連携で使用するユーザを新規作成する
Zabbixの画面にて『管理』 → 『ユーザー』 → 『ユーザーの作成』と選択する
- ユーザ名とパスワードは任意の値を設定
- 権限は「すべてのグループに対して、読み取り可能」
![]() |
---|
![]() |
---|
GrafanaとZabbixを連携させる
Grafanaにログインする
初期設定はID:admin、PW:adminとなっている(※要変更)
![]() |
---|
Zabbixプラグインを有効にする
「Enable now」をクリックする
![]() |
---|
「Enable」をクリックする
![]() |
---|
Data Sourceを追加する
左端のメニューから「Configuration → Data Sources」を選択する
![]() |
---|
「Add data source」をクリックする
![]() |
---|
以下の情報を入力し、「Save & Test」ボタンを押下する
- Name:grafana(任意)
- Type:zabbix
- HTTP
- URL:
http://{ZabbixサーバのURL or ホスト名}/zabbix/api_jsonrpc.php
- Access:Server(Default)
- URL:
- Zabbix API details
- Username:grafana(Zabbixにて作成したユーザ)
- Password:*******(Zabbixにて作成したパスワード)
- Trends:True(チェックあり)
![]() |
---|
テストが成功すればData Sourceの登録は完了する
ダッシュボードの作成
メニュー右端の「Create → Dashborad」からダッシュボードを好きなように作成する
こんな感じのダッシュボードが出来上がる
![]() |
---|
最後に
Zabbixの画面と比べてかなりかっこいいデザインになった!
ZabbixとGrafanaを同じEC2インスタンス上で起動させる時のリバースプロキシの設定でハマってしまった
Zabbixへの接続パスをプロキシ設定から除外しないとGrafanaの表示が狂う、Zabbixにログインできない。という状態になってしまった
Grafanaのインストール、Zabbixとの連携はかなりスムーズに行えたので、Grafana + Zabbixのハードルは低いと考えて良さそう
Zabbixのインストール + Grafana連携というのをこれからのデフォルトにしていいと思う