CentOS7でZabbixから美しいグラフをプロットするためにGrafanaをインストールおよび構成する方法
序章
Zabbixは、サーバー、仮想マシン、およびその他の種類のネットワークデバイスからデータを収集して、傾向や問題を分析できる優れた監視ツールです。 新たな問題に関する機能豊富な通知がありますが、データ分析と視覚化のための組み込みツールは使いやすいものではありません。 グラフをダッシュボードに組み合わせることができますが、最初にグラフを作成する必要があり、リアルタイムデータを表示するグラフを作成する簡単な方法は実際にはありません。 また、異なるホストから単一のグラフにデータを収集する方法はありません。 新しいリリースごとに状況は良くなっていますが、理想からはほど遠いです。
Grafanaは、Zabbixのダッシュボードの優れた代替手段です。 さまざまな監視システムからのデータに基づいてグラフやダッシュボードを作成でき、このデータの表示と分析に特化しています。 軽量で取り付けが簡単で、見た目も美しいです。
このチュートリアルでは、Grafanaをインストールし、Zabbixからのデータを表示するように構成し、CPUとファイルの使用状況を監視する独自のカスタムダッシュボードを作成する方法を学習します。
前提条件
このチュートリアルに従うには、次のものが必要です。
- sudo非rootユーザーで構成された2台のCentOS7サーバーで、一方のサーバーにZabbixがインストールされ、もう一方のサーバーにZabbixクライアントがインストールされています。 チュートリアルCentOS7 でリモートサーバーを安全に監視するためにZabbixをインストールおよび設定する方法と、これらのサーバーを設定するための前提条件に従ってください。
ステップ1—Grafanaのインストール
Grafanaを使用する前に、Grafanaをインストールする必要があります。 Zabbixサーバーに使用したのと同じサーバーを使用します。 root以外のユーザーでZabbixサーバーにログインします。
ssh sammy@your_zabbix_server_ip_address
Grafanaはデフォルトではパッケージマネージャーから利用できないため、リポジトリ構成ファイルを設定します。 まず、Grafanaの新しいリポジトリファイルを作成します。
sudo vi /etc/yum.repos.d/grafana.repo
次の構成データをファイルに貼り付けます。
/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
次に、テキストエディタを保存して終了し、次のコマンドを実行してGrafanaをインストールします。
sudo yum install grafana
インストールプロセス中に、GPGキーをインポートするように求められます。 インストールを続行できるように、このキーをインポートすることを確認してください。
インストールが完了したら、Grafanaサービスを開始します。
sudo systemctl daemon-reload sudo systemctl start grafana-server
次に、Grafanaサービスが正しく実行されているかどうかを確認します。
sudo systemctl status grafana-server
次のステータスが表示されます。
Output● grafana-server.service - Starts and stops a single grafana instance on this system Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2016-11-07 06:18:27 UTC; 1 day 4h ago Docs: http://docs.grafana.org Main PID: 16639 (grafana-server) ...
最後に、起動時にサービスを開始できるようにします。
sudo systemctl enable grafana-server
Grafanaが実行されているので、GrafanaがZabbixからデータをプルできるようにするコンポーネントをインストールしましょう。
ステップ2—Grafana用のZabbixプラグインをインストールする
プラグインをインストールすることで、Grafanaの機能を拡張できます。 利用可能なプラグインここを調べることができます。 プラグインには次の3つのタイプがあります。
- パネル:円グラフやヒストグラムなど、ダッシュボードで使用できる新しいブロック。
- データソース:時系列データ用の新しいストレージバックエンド。他のソースからデータをプルできます。
- Apps :データソースとパネルを単一のパッケージにバンドルする複雑なプラグイン。
Zabbix app プラグインを使用します。このプラグインには、Zabbixデータソース、トリガーパネル、Zabbixサーバーダッシュボード、およびデータを表示するためのテンプレートが含まれています。
プラグインをインストールする最も簡単な方法は、GrafanaにバンドルされているCLIツールgrafana-cli
を使用することです。 次のコマンドを実行して、Zabbixアプリプラグインをインストールします。
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
プラグインがインストールされたことを示す次の出力が表示されます。
Output✔ Installed alexanderzobnin-zabbix-app successfully
プラグインを追加または変更するときはいつでも、変更を有効にするためにgrafana-server
を再起動する必要があります。
sudo systemctl restart grafana-server
プラグインをインストールすると、Grafanaにログインして、Zabbixと通信するように設定できます。
ステップ3—Zabbixプラグインの設定
アドレスhttp://your_zabbix_server_ip_address:3000
に移動して、GrafanaWebインターフェイスにログインします。
注:Grafanaはポート3000
で着信接続をリッスンします。 ファイアウォールを構成している場合は、このポートを開く必要があります。 問題が発生した場合は、このチュートリアルを確認して、CentOSのファイアウォールについて学習してください。
デフォルトのログイン資格情報はadmin/admin
です。 ログイン後、プロフィールページでパスワードを変更できます。 ログインすると、ホームダッシュボードが表示されます。
ユーザーインターフェイスの左上隅にあるGrafanaロゴをクリックして、Grafanaのメインメニューにアクセスします。 次に、プラグインを選択します。次に、アプリタブを選択します。 次に、Zabbixアプリをクリックし、有効ボタンを押して有効にします。
これで、新しいデータソースを追加できます。 Grafanaロゴをもう一度選択し、データソースに移動します。次に、データソースの追加ボタンをクリックします。 データソースの構成ページが表示されます。
データソースを次のように構成します。
- この新しいデータソースの名前をNameフィールドに入力します。
- デフォルトオプションをオンにすると、作成する新しいパネルでこのデータソースが事前に選択されます。
- TypeドロップダウンリストからZabbixを選択します。
- URLフィールドにZabbixAPIへのフルパス(
http://your_zabbix_server_ip_address/zabbix/api_jsonrpc.php
)を入力します。 - ユーザー名フィールドとパスワードフィールドにZabbixのユーザー名とパスワードを入力します。 デフォルトのユーザー名は
admin
で、デフォルトのパスワードはzabbix
です。 - Trendsオプションを有効にします。 長期間表示する場合、Grafanaのパフォーマンスが向上します。
他のオプションはデフォルト値のままにしておくことができます。
追加ボタンをクリックして、構成をテストして保存します。 次のような成功メッセージが表示されます。
このメッセージが表示されない場合は、資格情報を確認して、もう一度テストしてください。
次に、プラグインに付属のZabbixダッシュボードを見てみましょう。 画面上部のドロップダウンリストからZabbixサーバーダッシュボードを選択します。 これを選択すると、ダッシュボードにZabbixサーバーに関する情報が表示されます。
このダッシュボードは非常に有益ですが、独自のカスタムダッシュボードを最初から作成できます。
ステップ4—カスタムZabbixダッシュボードを作成する
CPU使用率とファイルシステム情報をリアルタイムで表示するZabbixのダッシュボードを作成しましょう。
画面上部のドロップダウンリストを開き、新規作成ボタンをクリックします。 新しい空のダッシュボードが作成されます。
各ダッシュボードは、ブロックを含む行で構成されています。 新しいダッシュボードを作成すると、自動的に1つの行が取得されます。 行の左側にある緑色のメニューをクリックして、行のアクションメニューにアクセスします。 ここでは、新しいパネルの追加、行の高さの設定、移動、折りたたみ、または削除を行うことができます。
まず、ZabbixサーバーのCPU使用率を表示するグラフを作成します。 パネルの追加項目を選択し、グラフをクリックして新しいグラフを行に挿入します。
メトリクスタブが選択された、いくつかのタブがあるフォームが表示されます。 Zabbixデータソースをデフォルトとして設定したため、新しいクエリが追加されました。 次のオプションを指定する必要があります。
- ホストグループを
Zabbix servers
に設定します。 - Hostを
Zabbix server
に設定します。 - アプリケーションを
CPU
に設定します。 - Itemを
Processor load (1 min average per core)
に設定します。
グラフに現在のプロセッサ負荷が表示されます。
次に、 General タブに移動し、 TitleフィールドをProcessor load
に設定し、Spanオプションを6
に設定します。 1行には最大12ブロックを含めることができるため、この値を6に設定すると、パネルが画面の半分を占めるようになります。
これで、ダッシュボードに戻るをクリックして結果を確認できます。
注:データが表示されない場合は、ズームアウトしすぎている可能性があります。 インターフェイスの右上にある時計アイコンをクリックし、オプションのリストから*過去1時間を選択します。
別のグラフを追加しましょう。 これを行うには、前の手順を繰り返すか、既存のグラフを複製します。 既存のグラフを複製するには、パネルタイトルを選択し、複製をクリックします。 次に、新しいグラフのタイトルを選択し、編集オプションを選択します。 次に、次の設定を適用します。
- Titleを
CPU usage
に変更します。 - メトリクスタブを選択し、アイテムフィールドを
/CPU.*/
に変更します。
ホスト名またはメトリック名に正規表現パターンを使用できます。 パターンは必ずスラッシュ(/
)で囲んでください。
要約統計量を表示することもできます。 Legend タブを選択すると、選択できるいくつかのオプションと値が表示されます。
- オプションで、テーブルとしてと右側をチェックします。
- 値で、最小、最大、平均、および現在を選択します。
次に、ダッシュボードに戻るをクリックして、次のような結果を確認します。
次に、 Singlestat パネルを追加して、特定のメトリックの単一の値を表示します。 行の追加ボタンをクリックして新しい行を作成し、行のメニューを選択し、パネルの追加を選択して、シングルスタット項目を選択します。
メトリックオプションを次のように設定します。
- ホストグループを
Zabbix servers
に設定します。 - Hostを
Zabbix server
に設定します。 - アプリケーションを
Filesystems
に設定します。 - Itemを
Free disk space on / (percentage)
に設定します。
次に、 General タブに切り替え、TitleフィールドをFree disk space on /
に設定します。
次に、オプションタブに切り替えて、次のオプションを構成します。
- ゲージの
Show
オプションを有効にします。 - しきい値を
10,20
に設定します。 これにより、これらのしきい値がゲージに表示されます。 - 値ドロップダウンリストから
current
オプションを選択します。
ゲージは次のようになります。
ダッシュボードに戻り、CTRL+S
を押して保存します。
次に、このゲージがリアルタイムイベントにどのように応答するかをテストしてみましょう。 そのために、ディスクの空き領域を手動で減らし、ダッシュボードに何が表示されるかを確認します。
現在ログインしていない場合は、Zabbixサーバーにログインします。
ssh sammy@your_zabbix_server_ip_address
ログインしたら、ファイルシステムで使用可能な空き容量を確認します。 これは、df
コマンドで実行できます。
df -h
次の出力が表示されます。
OutputFilesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.5G 18G 8% / devtmpfs 236M 0 236M 0% /dev tmpfs 245M 0 245M 0% /dev/shm tmpfs 245M 8.3M 237M 4% /run tmpfs 245M 0 245M 0% /sys/fs/cgroup tmpfs 49M 0 49M 0% /run/user/0
この場合、18GBの空き容量があります。 サーバーの空き容量は異なります。 fallocate
コマンドを使用して1つの大きな一時ファイルを作成することにより、ルートパーティションの空き領域を20%のしきい値未満に減らします。
fallocate -l 15G /tmp/test.img
サーバーの空き容量に応じてファイルサイズを設定します。
次に、Zabbixにデータを更新するための数分を与えます。 ダッシュボードを更新すると、空き容量の問題を反映してゲージの色が変わったことがわかります。
最後に、ダッシュボードにアクティブなZabbixトリガーを表示しましょう。 新しい行を作成してから行のメニューを選択し、パネルの追加を選択して、 ZabbixTriggers項目を選択します。
サーバーの空き容量が不足していることを通知するアクティブなトリガーが表示されます。
ダッシュボードに戻るを選択し、ダッシュボードをCTRL+S
で保存します。 ダッシュボードは次のようになります。
これで、このシンプルなダッシュボードを使用して、サーバーの現在の状態をすばやく確認できます。
ディスクのスペースを解放するために作成した一時ファイルを削除することを忘れないでください。 Zabbixサーバーで、次のコマンドを発行します。
rm /tmp/test.img
これにより、test.img
ファイルが削除されます。 数分後、ダッシュボードが再び更新され、ファイルシステムの変更が反映されます。
結論
このチュートリアルでは、Grafanaのインストールと構成の方法を学び、Zabbixからのデータを表示するパネルを備えたカスタムダッシュボードを作成しました。 これらのダッシュボードをデスクトップまたは大画面に表示して、管理者がITインフラストラクチャの状態を確認できるようにすることができます。 ダッシュボードの各パネルには、異なるサーバーからのデータを表示できます。Grafanaを使用して、さまざまな便利な方法でデータをフィルタリングできます。 1つのチュートリアルでGrafanaのすべての機能を説明するのは難しいため、独自の美しいダッシュボードを探索、実験、構築してください。