CentOS 7でZabbixから美しいグラフをプロットするようにGrafanaをインストールおよび構成する方法

前書き

Zabbixは、サーバー、仮想マシン、その他の種類のネットワークデバイスからデータを収集する優れた監視ツールです。そのため、傾向や問題を分析できます。 新たな問題に関する機能豊富な通知がありますが、データ分析と視覚化のための組み込みツールは使いやすいものではありません。 グラフをダッシュ​​ボードに組み合わせることができますが、最初にグラフを作成する必要があり、リアルタイムデータを表示するグラフを作成する簡単な方法は実際にはありません。 また、異なるホストから単一のグラフにデータを収集する方法はありません。 新しいリリースごとに状況は改善されていますが、理想からはほど遠いです。

Grafanaは、Zabbixのダッシュボードの優れた代替手段です。 さまざまな監視システムからのデータに基づいてグラフとダッシュボードを作成でき、このデータの表示と分析に特化しています。 軽量で設置が簡単で、見た目も美しいです。

このチュートリアルでは、Grafanaをインストールし、Zabbixからのデータを表示するように設定し、CPUとファイルの使用量を監視する独自のカスタムダッシュボードを作成する方法を学習します。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • 1台のサーバーにZabbixがインストールされ、もう1台のサーバーにZabbixクライアントがインストールされた、sudo非ルートユーザーで構成された2台のCentOS 7サーバー。 チュートリアルに従ってくださいhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-zabbix-to-securely-monitor-remote-servers-on-centos-7 [インストールと設定方法[CentOS 7上のリモートサーバーを安全に監視するZabbix]およびこれらのサーバーを構成するための前提条件。

ステップ1-Grafanaのインストール

Grafanaを使用する前に、インストールする必要があります。 Zabbixサーバーに使用したサーバーと同じサーバーを使用します。 root以外のユーザーでZabbixサーバーにログインします:

ssh @

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)

    Docs: http://docs.grafana.org
Main PID: 16639 (grafana-server)
 ...

最後に、起動時にサービスを開始できるようにします。

sudo systemctl enable  grafana-server

Grafanaが実行されているので、GrabanaがZabbixからデータをプルできるようにするコンポーネントをインストールしましょう。

ステップ2-Grafana用のZabbixプラグインのインストール

プラグインをインストールすることでGrafanaの機能を拡張できます。 利用可能なプラグインhttps://grafana.net/plugins [こちら]をご覧ください。 プラグインには3つのタイプがあります。

  • パネル:円グラフやヒストグラムなど、ダッシュボードで使用できる新しいブロック。

  • データソース:時系列データ用の新しいストレージバックエンドなので、他のソースからデータを取得できます。

  • アプリ:単一のパッケージ内にデータソースとパネルをバンドルする複雑なプラグイン。

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://:3000 +`に移動してGrafana Webインターフェースにログインします。

デフォルトのログイン認証情報は「+ / +」です。 ログインしたら、* Profile ページでパスワードを変更できます。 ログインすると、 Home *ダッシュボードが表示されます。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/uPwU0Li.png [ホームダッシュボード]

ユーザーインターフェースの左上にあるGrafanaロゴをクリックして、Grafanaのメインメニューにアクセスします。 次に*プラグイン*を選択します。次に*アプリ*タブを選択します。 次に、Zabbixアプリをクリックし、*有効*ボタンを押して有効にします。

これで、新しいデータソースを追加できます。 Grafanaロゴを再度選択し、*データソース*に移動します。次に、*データソースの追加*ボタンをクリックします。 データソースの構成ページが表示されます。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/69rHGUx.png [データソースの追加]

データソースを次のように構成します。

  • * Name *フィールドにこの新しいデータソースの名前を入力します。

  • * Default *オプションをオンにして、作成する新しいパネルでこのデータソースが事前に選択されるようにします。

  • タイプ*ドロップダウンリストから Zabbix *を選択します。

  • * Url *フィールドにZabbix APIへのフルパスを入力します。これは、 `+ http:/// zabbix / api_jsonrpc.php +`になります。

  • Zabbixのユーザー名とパスワードを*ユーザー名*と*パスワード*フィールドに入力します。 デフォルトのユーザー名は「」で、デフォルトのパスワードは「」です。

  • * Trends *オプションを有効にします。長時間表示するときのGrafanaのパフォーマンスが向上します。

他のオプションはデフォルト値のままにしておくことができます。

[追加]ボタンをクリックして、構成をテストして保存します。 次のような成功メッセージが表示されます。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/Meq7eZv.png [Zabbixへの接続の成功したテスト]

このメッセージが表示されない場合は、資格情報を確認してもう一度テストしてください。

次に、プラグインに付属のZabbixダッシュボードを見てみましょう。 画面上部のドロップダウンリストから* Zabbixサーバーダッシュボード*を選択します。 選択すると、ダッシュボードにZabbixサーバーに関する情報が表示されます。

image:http://skitch.bphogan.com/2016-11-03_4h9cn31lu8vn82s_Grafana_-_Zabbix_Server_Dashboard.png [Zabbixサーバーダッシュボード]

このダッシュボードは非常に有益ですが、独自のカスタムダッシュボードを最初から作成できます。

ステップ4-カスタムZabbixダッシュボードの作成

CPU使用率とファイルシステム情報をリアルタイムで表示するZabbixのダッシュボードを作成しましょう。

画面上部のドロップダウンリストを開き、[新規作成]ボタンをクリックします。 新しい空のダッシュボードが作成されます。

各ダッシュボードは、ブロックを含む行で構成されています。 新しいダッシュボードを作成すると、自動的に1行が取得されます。 行の左側にある緑色のメニューをクリックして、行のアクションメニューにアクセスします。 ここで、新しいパネルを追加したり、行の高さを設定したり、移動したり、折りたたんだり、削除したりできます。

最初に、ZabbixサーバーのCPU使用率を表示するグラフを作成します。 [パネルの追加]項目を選択し、[グラフ]をクリックして、新しいグラフを行に挿入します。

  • Metrics *タブが選択された、いくつかのタブのあるフォームが表示されます。 Zabbixデータソースをデフォルトとして設定したため、新しいクエリが追加されました。 次のオプションを指定するだけです。

  • * Host Group *を `++`に設定します。

  • * Host *を「++」に設定します。

  • * Application *を `++`に設定します。

  • * Item *を `++`に設定します。

グラフに現在のプロセッサ負荷が表示されます。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/h3TY7qh.png [グラフメトリックオプション]

次に、*全般*タブに移動し、*タイトル*フィールドを `+ Processor load `に設定し、* Span *オプションを ` 6 +`に設定します。 1行には最大12ブロックを含めることができるため、この値を6に設定すると、パネルが画面の半分を占有します。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/JjDiO8Z.png [グラフ一般オプション]

これで、[ダッシュボードに戻る]をクリックして結果を確認できます。

画像:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/UJCc6Wm.png [ダッシュボード]

別のグラフを追加しましょう。 これを行うには、前の手順を繰り返すか、既存のグラフを複製します。 既存のグラフを複製するには、パネルのタイトルを選択し、*複製*をクリックします。 次に、新しいグラフのタイトルを選択し、[編集]オプションを選択します。 次に、次の設定を適用します。

  • * Title *を `++`に変更します。

  • * Metrics タブを選択し、 Item *フィールドを `++`に変更します。

ホスト名またはメトリック名に正規表現パターンを使用できます。 パターンは必ずスラッシュで囲んでください( + / +)。

要約統計を表示することもできます。 [凡例]タブを選択すると、選択可能なオプションと値が表示されます。

  • *オプション*の下で、*表*および*右へ*をチェックします。

  • 値*で、*最小最大平均、および*現在*を選択します。

[ダッシュボードに戻る]をクリックして、結果を確認します。結果は次のようになります。

画像:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/AlI2UKI.png [ダッシュボード]

次に、* Singlestat パネルを追加して、特定のメトリックの単一の値を表示します。 [*行の追加]ボタンをクリックして新しい行を作成し、行のメニューを選択して[パネルの追加]を選択し、* Singlestat *アイテムを選択します。

  • Metrics *オプションを次のように設定します。

  • * Host Group *を `++`に設定します。

  • * Host *を「++」に設定します。

  • * Application *を `++`に設定します。

  • * Item *を `++`に設定します。

次に、*全般*タブに切り替えて、*タイトル*フィールドを `++`に設定します。

次に、[オプション]タブに切り替えて、次のオプションを構成します。

  • * Gauge *の `+ Show +`オプションを有効にします。

  • * Thresholds *を `++`に設定します。 これにより、ゲージにこれらのしきい値が表示されます。

  • * Value *ドロップダウンリストから `+ current +`オプションを選択します。

ゲージは次のようになります。

画像:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/38ybcGT.png [ゲージ]

ダッシュボードに戻り、 `+ CTRL + S +`を押して保存します。

次に、このゲージがリアルタイムイベントにどのように応答するかをテストしてみましょう。 そのためには、ディスクの空き領域を手動で減らし、ダッシュボードに表示される内容を確認します。

現在ログインしていない場合は、Zabbixサーバーにログインします。

ログインしたら、ファイルシステムで使用可能な空き容量を確認します。 `+ df +`コマンドでこれを行うことができます:

df -h

次の出力が表示されます。

OutputFilesystem      Size  Used Avail Use% Mounted on

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

この場合、18 GBの空き容量があります。 サーバーの空き容量は異なります。 `+ fallocate +`コマンドを使用して1つの大きな一時ファイルを作成することにより、ルートパーティションの空き領域をしきい値の20%未満に減らします。

fallocate -l  /tmp/test.img

サーバーの空き容量に応じてファイルサイズを設定します。

次に、Zabbixにデータを更新するために数分を与えます。 ダッシュボードを更新すると、空き領域の問題を反映してゲージの色が変更されたことがわかります。

画像:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/cTfYrH7.png [警告]

最後に、ダッシュボードにアクティブなZabbixトリガーを表示しましょう。 新しい行を作成してから、行のメニューを選択し、[パネルを追加]を選択して、[Zabbixトリガー]アイテムを選択します。

サーバーの空き容量が不足していることを通知するアクティブなトリガーが表示されます。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/vJtrBT6.png [空き領域トリガー]

  • [ダッシュボードに戻る]を選択し、ダッシュボードを「+ CTRL + S +」で保存します。 ダッシュボードは次のようになります。

image:https://assets.digitalocean.com/articles/grafana_zabbix_cent7/u63Higl.png [完成したダッシュボード]

このシンプルなダッシュボードを使用して、サーバーの現在の状態をすばやく確認できます。

作成した一時ファイルを削除して、ディスクの空き容量を増やすことを忘れないでください。 Zabbixサーバーで、次のコマンドを発行します。

rm /tmp/test.img

これにより、 `+ test.img +`ファイルが削除されます。 数分後に、ダッシュボードが再度更新され、ファイルシステムの変更が反映されます。

結論

このチュートリアルでは、Grafanaをインストールおよび構成する方法を学び、Zabbixからのデータを表示するパネルでカスタムダッシュボードを作成しました。 これらのダッシュボードをデスクトップまたは大きな画面に表示して、管理者がITインフラストラクチャの状態を確認できるようにすることができます。 ダッシュボードの各パネルには、異なるサーバーからのデータを表示できます。Grafanaを使用して、多くの便利な方法でデータをフィルター処理できます。 Grafanaのすべての機能を1つのチュートリアルで説明するのは難しいため、独自の美しいダッシュボードを探索、実験、構築してください。

Related