Grafanaを使ってZabbixの監視画面を作成する
最近業務でGrafanaを使った監視画面の作成を行っているのですが、現場で貸与されているPCがロースペックで作業する度にイラついて仕方ないので、自宅で快適に試す環境があったらいいな~と思い作ってみました。
手順
※VagrantとCentOSは既に準備済みとして進めます。
1.Zabbixサーバーの準備
Zabbixの導入手順は、下記のリンクに沿って進めていけば問題なく設定完了します。
www.zabbix.com
Zabbixで監視するサーバーにもZabbix-agentを導入するのを忘れずに行います。
今回は監視するサーバーはCentOS6なので下記手順でやりました。
qiita.com
監視可能になっているかどうかは、ZabbixサーバーのGUI画面で確認します。
Configuration⇒Hosts⇒対象ホストのAvailabilityがグリーンであればOKです。
監視ホストや監視アイテムは、公式ドキュメントを見て登録しデータを取得しておきます。
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で入ることができます。ログインするとパスワード変更画面が表示されるので安全なものに変更しましょう。
パスワード変更すると下記のようなホーム画面に遷移します。
3.Zabbixプラグインの追加
GrafanaはデフォルトのままだとZabbixをデータソースとして使えないので、Zabbixプラグインを追加する必要があります。
Zabbixサーバーで下記のコマンドを実行。
#zabbixプラグインのインストール grafana-cli plugins install alexanderzobnin-zabbix-app #grafanaの再起動 systemctl restart grafana-server
Grafanaの再起動後GUI画面を開きなおしzabbixプラグインがインストールされていることを確認します。
ホーム画面に追加されたと表示されていることを確認し、右側の「Enable now」をクリック。
4.データソースの追加
ダッシュボードのConfigurationからDatasourceをクリックし、Zabbixをデータソースとして登録します。
Name、HTTPのURL、Zabbix API detailsのUsername、Password、ZabbixVersionは最低限入力しましょう。
入力が完了したら、画面下の「Save&Test」をクリックしてデータソースとして認識されたかどうか確認してください。
テストが失敗した場合、URLが正しいかユーザー名・パスワードが間違っていないか見直します。
ダッシュボード&グラフ作成
ここまできたら後は、ダッシュボード追加してグラフを作成するだけです。
Create⇒Dashboardでダッシュボードを新規追加し、AddPanelで好きな表示形式を選択しグラフを作成しましょう。
とりあえず、Ping疎通に問題ないか確認する画面をSinglestatパネルで、CPU使用率の変動をグラフパネルで作成してみました。数値を文字にマッピングしたり、閾値を設けて現在の状態を分かりやすくすることも可能なので、結構便利だと思います。
後はZabbixの監視項目を色々追加してみるとサーバーの状態を分かりやすく表示できますよ。(今回は適当なので)
どういう風に可視化できるかはGrafanaが例をたくさん示しているので参考にしてみると良いかと!
play.grafana.org
Grafana-zabbixの公式ドキュメントもあるのでこちらも見てみると良いです。
alexanderzobnin.github.io
所感
Grafanaを使うとZabbix以外にもElasticsearchやMySQLなど様々なデータを可視化できて面白いです。
結構簡単に導入することができるのでぜひ試してみてください。