2016年7月27日水曜日

まだ、Zabbixの見づらいグラフで消耗しているの!? 「Zabbix plugin for Grafana」でグラフを見やすくする方法


「Yeah!めっちゃ Grafana」 な、なのまるです!

Zabbix(2.4)のグラフがあまりにも見る気にならなかったので、
便利なGrafanaを使ってZabbixのメトリクスをきれいに可視化して、テンション上げました!
※タイトルは、こういうの書いてみたかったので、深い意味はありません!


もくじ



「Zabbix plugin for Grafana dashboard」とは

「Zabbix plugin for Grafana dashboard」は、
視覚化ツールの「Grafana」で、Zabbixのデータを見られるようにする。
とっても便利なプラグインです!

デモが公開されているので、紹介しておきます!
Grafana

Zabbix グラフ vs 「Zabbix plugin for Grafana dashboard」

ざっくりとした、比較表(もしかしたら正しくないかも!)
Zabbix グラフ「Zabbix plugin for Grafana dashboard」
グラフ画像JavaScript(Canvas?)
自動更新ありデフォルトではなし?
レスポンシブ再読み込みすれば、フィット対応
描画速度少し間がある早い気がする
サーバーへの負荷それなりに低い
(ほとんどがキャッシュされて居て、描画もブラウザ側なので)
※ ちゃんと調べていないので、あくまで主観です!

「Zabbix plugin for Grafana dashboard」のセットアップ


前提条件

今回は以下の環境でセットアップしました!
  • Amazon Linux
  • Zabbix 2.4(インストール、設定済み)
  • Zabbix Serverと同居
  • Grafana 3.1.0(rpm)
  • Zabbix plugin for Grafana 3.0.0-beta

手順

  • Grafana インストール
  • Zabbix plugin for Grafana インストール
  • Zabbixに監視用アカウント設定
  • Grafana WebUIから、Zabbix datastoreの設定

Grafana インストール

Grafanaはyumを使ってインストールです!

実際はAnsibleでやったんだけど、なーんとなく手順

/etc/yum.repos.d/grafana.repoを作成
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

AamzonLinuxだけどこのままで。
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch

yumインストール
sudo yum install -y grafana



  • Grafanaの設定について
今回はデフォルトのままとしました!
参考:

Installing on RPM-based Linux - Grafana Documentation

Zabbix plugin for Grafana インストール

Grafanaが入ったところで、今度はZabbixのプラグインを入れます。
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
参考:

alexanderzobnin/grafana-zabbix: Zabbix plugin for Grafana dashboard

GrafanaとApache httpdの連携について

今回は、Grafanaのデフォルト設定で使用することにしました。
本来であれば、PATHを変えるだけでGrafanaのグラフが見られるようにしたかったのですが。

機会があれば後日

以下、希望イメージ
  • Zabbix ・・・ http://zabbix-server/zabbix/
  • Grafana ・・・ http://zabbix-server/grafana/

現実
  • Zabbix ・・・ http://zabbix-server/zabbix/
  • Grafana ・・・ http://zabbix-server:3000/


Zabbixに監視用アカウント設定

ZabbixのAPIアクセスを行うユーザーを作成です。
個人の方は「管理者アカウント」とかでもいいかも??

さすがにそういうわけにもいかないので、
  • ID : monitor
  • Password : grafanapw
みたいにして作成しました!

権限
全てのデータが、「読み取り」出来るように設定しました!

Grafana WebUIから、Zabbix datastoreの設定

GrafanaのWebUIにアクセスします!
http://[zabbix-serverのFQDN,IP]:3000/

  • ID:admin
  • Password:admin
の、デフォルトでまずはログイン
「Zabbix Plugin」を有効化します。
また、ここでも「Enable」ボタンを押します!
次はメニューの「DataSources」から、「Add data source」
  • Typeを「zabbix」
にすると、以下の画面が表示されます。

参考設定値
  • Type: zabbix
  • Name: zabbix(任意)
  • Url: http://127.0.0.1/zabbix/api_jsonrpc.php
  • Access: proxy
  • Username: monitor(さっきZabbixで設定した情報)
  • Password: grafanapw(さっきZabbixで設定した情報)

「Save & Test」で「Success」になれば、設定がうまくいっています!

サンプルのダッシュボード

サンプルのダッシュボードが入っているので、それを流用して以下のようなダッシュボードが作れます!

つくり方は、また別途。

まとめ

  • Grafanaを入れて、Zabbix Datasource plugin入れるだけ!
  • 結構きれいなグラフが、表示されます!
  • Zabbixを下手に日本語化しない方がいいかもよ!?(dashboardの関係)

Zenback