こんにちは、今回はAzure上のCentOS7にZabbixとGrafanaを導入し、監視情報からグラフィカルなダッシュボードを描写したいと思います。
Grafanaとは
ZabbixやInfluxDBなどをバックエンドとして情報を可視化するツールです。
公式サイトを見ていただくと、そのデザインが想像つくかと思います。
また提供されている拡張プラグインを導入することで、表示形式や取得情報を簡単に増やすことが出来ます。では早速、構築を始めてみましょう。
前提
今回はZabbixを構築したサーバにGrafanaを構築します。
まだ、Zabbixを構築されていない方は、以下記事をご参考ください。
Grafana構築
構築するバージョンは 4.2.0 となります。
以降はroot権限で操作し、SELinuxは無効化にしています。
Grafanaインストール
Grafanaのインストール及び初期設定を実施します。
# wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm # yum localinstall grafana-4.2.0-1.x86_64.rpm設定に関しては後述で一部変更しますが、一旦はデフォルトとします。
Zabbix plugin for Grafana インストール
公式サイトを参考に Zabbix plugin for Grafana のインストールを実施します。
# grafana-cli plugins install alexanderzobnin-zabbix-app installing alexanderzobnin-zabbix-app @ 3.3.0 from url: https://grafana.net/api/plugins/alexanderzobnin-zabbix-app/versions/3.3.0/download into: /var/lib/grafana/plugins ? Installed alexanderzobnin-zabbix-app successfully Restart grafana after installing plugins . # systemctl restart grafana-serverGrafana連携用のZabbixユーザ作成
ZabbixのWebUIにアクセスし、Grafana連携用のZabbixユーザ(grafana)を作成します。
今回は全ホストグループに対しての読み取り権限のみを与えました。
[管理] > [ユーザ] > [ユーザの作成]Zabbixとの連携設定
WebブラウザからGrafanaのWebUIにアクセスします。
https://[ZabbixサーバのFQDNもしくはIPアドレス]:3000
初期ログインIDとパスワードは「admin」です。
「Enable now」をクリックします。
「Enable」をクリックします。
上部のアイコンをクリックし、プルダウンから「Data Sources」をクリックします。
「Add data source」をクリックします。
以下情報を入力します。
・Name:Zabbix (任意)
・Type:Zabbix
・Default:チェック■Http settings
・Url:https://[ZabbixサーバIPアドレス or FQDN]/zabbix/api_jsonrpc.php
・Access:direct■Zabbix API details
・Username:grafana (Grafana連携用のZabbixユーザ)
・Password:*******
・Trends:Enable「Save & Test」をクリックします。
以下の様に表示されると成功です。上部のアイコンをクリックし、プルダウンから「Dashboard」をクリックします。
Zabbix plugin for Grafana の標準Dashboard「Zabbix Sever Dashboard」を見ると情報が表示されていることがわかります。あとは自由にダッシュボードを作成してみてください。
WebUIのURL変更
いまのURLだとWebUIにアクセスしづらいので、
Apacheに設定を追加し、WebUIのURLを以下の様に変更します。【変更前】
https://[ZabbixサーバIPアドレス or FQDN]:3000【変更後】
https://[ZabbixサーバIPアドレス or FQDN]/grafana# vi /etc/httpsd/conf.d/grafana.confLoadModule proxy_module modules/mod_proxy.so LoadModule proxy_https_module modules/mod_proxy_https.so ProxyRequests Off ProxyPass /grafana https://127.0.0.1:3000 ProxyPassReverse /grafana https://127.0.0.1:3000# systemctl restart httpsdGrafanaの設定を変更します。
# vi /etc/grafana/grafana.ini[server] root_url = https://localhost:3000/grafana ※追加# systemctl restart grafana-serverもし、Nginxを利用されている場合は、公式サイトに手順がありますのでご参考ください。
最後に
今回はGrafanaを導入し、グラフィカルなダッシュボードを描写しました。
Grafanaでは、Zabbixでよくある線グラフや積算グラフだけではなく、円グラフや数値表示なども自由なサイズで描写することが可能ですので、システム毎に適した構成に組むことが出来ます。もしかすると障害の予兆をより早く気づけるかもしれません。
また既にご紹介したように、GrafanaはZabbixだけではなく、様々な情報ソースを可視化することができるので、是非利用しては如何でしょうか。サイオステクノロジー株式会社 山田
よろしければ、以下記事もご覧ください。
https://tech-lab.sios.jp/archives/5217