dockerでzabbixをデータソースにして自分好みのグラフを作るgrafanaを入れてみた話

  • 17
    いいね
  • 0
    コメント

grafanaとは

↓実際使ってみるとこんな感じ
image

今回想定している環境

「zabbixはあるけどグラフがちょっとイケてない…なんとかして!」みたいな意見をなんとかする

データソースについて

2016/07/12現在、公式で対応しているデータソースは下記の通り

  • Graphite
  • Elasticsearch
  • CloudWatch
  • InfluxDB
  • OpenTSDB
  • KairosDB
  • Prometheus

zabbixからデータ取れないじゃん!

救世主登場 「grafana-zabbix」

ということでzabbixをデータソースにして出来そう。

さくっと準備

適当なフォルダ作って、docker-compose.ymlを作る

$ cd ~/docker/grafana
$ vi docker-compose.yml
docker-compose.yml
grafana-zabbix:
  image: grafana/grafana:latest
  volumes:
    - /mnt/sda1/docker/grafana/libdata:/var/lib/grafana #tmpfsでないディレクトリへ
  ports:
    - 3000:3000
  environment:
    - GF_SERVER_ROOT_URL=http://{ホストPCのIPやPC名}:3000
    - GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,alexanderzobnin-zabbix-app
  restart: always
$ docker-compose up -d

※ volumesは例にならってMac/Windowsの場合はVirtualBoxの共有フォルダの使用でダメそうなので、docker-machine内にする
※ DockerToolbox使っていてネットワーク外に公開したい場合は過去記事参照

初期設定

  1. ログイン。admin/adminで入れる
  2. ユーザーを作成する
    • 左上のgrafanaのアイコン→admin→usersでとりあえず自分のアカウントを作っておく
  3. grafana-zabbixでデータソースとするzabbixを設定する
    • 左上のgrafanaアイコン→Zabbix→plugin config→configタブ→enable
    • 左上のgrafanaアイコン→Data Sources→Add Data Source
    • 下記のような感じで登録する
    • image
    • Save & Testで疎通が確認できればOK

ダッシュボードを作成する

  1. 自分のID・PASSでログイン
  2. 左上のgrafanaアイコンの右にあるタイル(Windowsのロゴみたいな)を押す
  3. +Newを押す
  4. 新しいダッシュボードが作成されます
  5. 画面左端の黄緑のバーからGraphを指定
    • image
  6. enjoy! :)
  7. ダッシュボード作ったら、保存するのを忘れずに!

Google検索すると詳しい記事出てくるのでここでは言及しません

使ってみてわかったこと

  • これまではMuninのグラフがお気に入りだったが乗り換えられるレベルで見やすい
  • 自分の思い通りに作りたいグラフが作れて◎◎◎
  • Muninはグラフが丸められたりしてアレだったけど、grafanaはそんなことはない
  • 異なるサーバーのグラフを重ねて表示することももちろん可能(他の開発者からの要望があった)
  • スナップショット機能で、「数日前に負荷が上がった時のグラフを他人に共有する」といったことも可能

結論:docker最高

  • 会社で監視ツールとしてzabbix入れていたけど、グラフがイマイチであんまり見てなかった
  • 自分のPCに入れて自分だけのグラフなんて素敵すぎる
  • zabbixをデータソースにしてしまう、こんな使い方があったとは・・・