LoginSignup
1
4

More than 5 years have passed since last update.

EC2(ubuntu 16.04) + Zabbix + Grafanaでかっこいいダッシュボードを作る

Last updated at Posted at 2018-09-27

背景

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
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_user_1.png
grafana_user_2.png

GrafanaとZabbixを連携させる

Grafanaにログインする

初期設定はID:admin、PW:adminとなっている(※要変更)

grafana_login.png

Zabbixプラグインを有効にする

「Enable now」をクリックする

grafana_home_dashboard.png

「Enable」をクリックする

grafana_plugin_enable.png

Data Sourceを追加する

左端のメニューから「Configuration → Data Sources」を選択する

grafana_select_datasources.png

「Add data source」をクリックする

grafana_add_datasource_button.png

以下の情報を入力し、「Save & Test」ボタンを押下する

  • Name:grafana(任意)
  • Type:zabbix
  • HTTP
    • URL:http://{ZabbixサーバのURL or ホスト名}/zabbix/api_jsonrpc.php
    • Access:Server(Default)
  • Zabbix API details
    • Username:grafana(Zabbixにて作成したユーザ)
    • Password:*******(Zabbixにて作成したパスワード)
    • Trends:True(チェックあり)
grafana_datasources.png

テストが成功すればData Sourceの登録は完了する

ダッシュボードの作成

メニュー右端の「Create → Dashborad」からダッシュボードを好きなように作成する
こんな感じのダッシュボードが出来上がる

grafana_show_dashboard.png

最後に

Zabbixの画面と比べてかなりかっこいいデザインになった!
ZabbixとGrafanaを同じEC2インスタンス上で起動させる時のリバースプロキシの設定でハマってしまった
Zabbixへの接続パスをプロキシ設定から除外しないとGrafanaの表示が狂う、Zabbixにログインできない。という状態になってしまった
Grafanaのインストール、Zabbixとの連携はかなりスムーズに行えたので、Grafana + Zabbixのハードルは低いと考えて良さそう
Zabbixのインストール + Grafana連携というのをこれからのデフォルトにしていいと思う

1
4
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
1
4