あきろぐ

いろいろめもするよ

Grafanaを使ってZabbixの監視画面を作成する

f:id:akngo22:20190502195824p:plain
最近業務でGrafanaを使った監視画面の作成を行っているのですが、現場で貸与されているPCがロースペックで作業する度にイラついて仕方ないので、自宅で快適に試す環境があったらいいな~と思い作ってみました。

環境

  • Vagrant2.2.3
  • CentOS7.6 (Zabbix、Grafanaを入れるVM
  • CentOS6.10 (監視対象VM
  • Grafana6.1.6
  • Zabbix4.0

手順

VagrantCentOSは既に準備済みとして進めます。

1.Zabbixサーバーの準備

Zabbixの導入手順は、下記のリンクに沿って進めていけば問題なく設定完了します。
www.zabbix.com

Zabbixで監視するサーバーにもZabbix-agentを導入するのを忘れずに行います。
今回は監視するサーバーはCentOS6なので下記手順でやりました。
qiita.com

監視可能になっているかどうかは、ZabbixサーバーのGUI画面で確認します。
Configuration⇒Hosts⇒対象ホストのAvailabilityがグリーンであればOKです。
f:id:akngo22:20190502171542j:plain

監視ホストや監視アイテムは、公式ドキュメントを見て登録しデータを取得しておきます。
www.zabbix.com

2.Grafanaインストール

こちらも公式ドキュメントを見て導入しました。
grafana.com

 CentOS7はデフォルトでwgetコマンドが入っていないので、まずコマンドをインストールしてからレポジトリ追加していきます。

#wgetあるか確認
which wget 
#wgetのインストール
yum -y install wget 
#レポジトリ追加
wget https://dl.grafana.com/oss/release/grafana-6.1.6-1.x86_64.rpm 
#grafanaインストール
sudo yum localinstall grafana-6.1.6-1.x86_64.rpm 

Grafanaのインストールが完了したらGrafanaを起動させます。

sudo service grafana-server start

続いて「http://[Grafana_server_IP_address]:3000」にアクセスしGrafanaのGUI画面にログインします。デフォルトはのログインはユーザー名・パスワードともadminで入ることができます。ログインするとパスワード変更画面が表示されるので安全なものに変更しましょう。
パスワード変更すると下記のようなホーム画面に遷移します。
f:id:akngo22:20190502174802j:plain

3.Zabbixプラグインの追加

GrafanaはデフォルトのままだとZabbixをデータソースとして使えないので、Zabbixプラグインを追加する必要があります。
Zabbixサーバーで下記のコマンドを実行。

#zabbixプラグインのインストール
grafana-cli plugins install alexanderzobnin-zabbix-app
#grafanaの再起動
systemctl restart grafana-server

Grafanaの再起動後GUI画面を開きなおしzabbixプラグインがインストールされていることを確認します。
ホーム画面に追加されたと表示されていることを確認し、右側の「Enable now」をクリック。
f:id:akngo22:20190502175501j:plain

4.データソースの追加

ダッシュボードのConfigurationからDatasourceをクリックし、Zabbixをデータソースとして登録します。
Name、HTTPのURL、Zabbix API detailsのUsername、Password、ZabbixVersionは最低限入力しましょう。
入力が完了したら、画面下の「Save&Test」をクリックしてデータソースとして認識されたかどうか確認してください。
f:id:akngo22:20190502201451j:plain
テストが失敗した場合、URLが正しいかユーザー名・パスワードが間違っていないか見直します。

ダッシュボード&グラフ作成

ここまできたら後は、ダッシュボード追加してグラフを作成するだけです。
Create⇒Dashboardダッシュボードを新規追加し、AddPanelで好きな表示形式を選択しグラフを作成しましょう。
f:id:akngo22:20190502202548j:plain
とりあえず、Ping疎通に問題ないか確認する画面をSinglestatパネルで、CPU使用率の変動をグラフパネルで作成してみました。数値を文字にマッピングしたり、閾値を設けて現在の状態を分かりやすくすることも可能なので、結構便利だと思います。
後はZabbixの監視項目を色々追加してみるとサーバーの状態を分かりやすく表示できますよ。(今回は適当なので)
どういう風に可視化できるかはGrafanaが例をたくさん示しているので参考にしてみると良いかと!
play.grafana.org
Grafana-zabbixの公式ドキュメントもあるのでこちらも見てみると良いです。
alexanderzobnin.github.io

所感

Grafanaを使うとZabbix以外にもElasticsearchやMySQLなど様々なデータを可視化できて面白いです。
結構簡単に導入することができるのでぜひ試してみてください。