4 VMware監視設定例

概要

以下の例では、VMware 仮想マシンを監視するための Zabbix の設定方法について説明します。設定手順は以下のとおりです。

  • VMware 環境を表すホストを作成します。
  • VMware 環境内の仮想マシンを検出する低レベル検出ルールを作成します。
  • ホストプロトタイプを作成します。このプロトタイプに基づいて、Zabbix は低レベル検出ルールによって検出された仮想マシンの実際のホストを生成します。

前提条件

この例ではVMwareの設定については説明しません。VMwareはすでに設定されていることを前提としています。

続行する前に、Zabbixサーバー設定ファイルのStartVMwareCollectorsパラメータを2 以上に設定してください(デフォルト値は0です)。

ホストの作成

1. データ収集→lホスト に移動します。

2. ホストを作成します。

  • ホスト名 フィールドにホスト名を入力します(例:"VMware VMs")
  • ホストグループ フィールドにホストグループを入力または選択します(例:"仮想マシン")

  • マクロ タブで、以下のホストマクロを設定します。
    • {$VMWARE.URL} - VMware サービス (ESXi ハイパーバイザー) SDK URL (https://servername/sdk)
    • {$VMWARE.USERNAME} - VMware サービス ユーザー名
    • {$VMWARE.PASSWORD} - VMware サービス {$VMWARE.USERNAME} ユーザー パスワード

3. 追加 ボタンをクリックしてホストを作成します。このホストが VMware 環境を表します。

低レベル検出ルールの作成

1. 作成したホストの 検出 をクリックし、そのホストの低レベル検出ルールのリストに移動します。

2. 低レベル検出ルールを作成します。

  • 名前 フィールドに、低レベル検出ルールの名前を入力します(例:"VMware VMの検出")
  • タイプ フィールドで、"シンプルチェック"を選択します。
  • キーフィールドに、VMware仮想マシンを検出するための組み込みアイテムキーを入力します: vmware.vm.discovery[{$VMWARE.URL}]
  • ユーザー名 フィールドとパスワードフィールドに、ホストで事前に設定した対応するマクロを入力します。

3. 追加 ボタンをクリックして、低レベル検出ルールを作成します。 この検出ルールは、VMware環境内の仮想マシンを検出します。

ホストプロトタイプの作成

1. 低レベル検出ルールのリストで、以前に作成した低レベル検出ルールの ホストプロトタイプ をクリックします。

2. ホストプロトタイプを作成します。 ホストプロトタイプは低レベル検出ルールを使用してホストを作成するための設計図であるため、ほとんどのフィールドには低レベル検出マクロが含まれます。 これにより、以前に作成した低レベル検出ルールによって取得されたコンテンツに基づいたプロパティでホストが作成されます。

  • ホスト名フィールドに、マクロ {#VM.UUID}を入力します。
  • 表示名 フィールドに、マクロ{#VM.NAME}を入力します。
  • テンプレート フィールドに"VMware ゲスト"テンプレートを入力または選択します。 このテンプレートには、仮想マシンの電源状態、CPU 使用率、メモリ使用率、ネットワークデバイスなどを監視するための VMware アイテム と検出ルールが含まれています。
  • ホストグループ フィールドに、ホストグループ(例:"検出されたホスト")を入力または選択します。
  • インターフェース フィールドに、カスタムの ホストインターフェース を追加します。 次に、DNS 名 フィールドにマクロ {#VM.DNS} を入力するか、IP アドレス フィールドにマクロ {#VM.IP} を入力します。 または、VMware 環境の仮想マシンに複数のインターフェースがある場合は、高度なホストインターフェース構成 セクションに進んでください。 VMware Guest テンプレートを正しく動作させるには、カスタムホストインターフェースを構成する必要があります。

  • Macros タブで、{$VMWARE.VM.UUID} マクロの値を {#VM.UUID} に設定します。 これは、このマクロをアイテムパラメータ内のホストレベルのユーザーマクロとして使用する VMware Guest テンプレートを正しく動作させるために必要です。 (例: vmware.vm.net.if.discovery[{$VMWARE.URL}, {$VMWARE.VM.UUID}])

3. 追加ボタンをクリックして、ホストプロトタイプを作成します。 このホストプロトタイプは、先ほど作成した低レベル検出ルールによって検出された仮想マシンのホストを作成するために使用されます。

ホストとメトリックの表示

ホストのプロトタイプが作成されると、低レベル検出ルールによって検出されたVMware仮想マシン用のホストが作成され、Zabbixがそれらの監視を開始します。 ホストの検出と作成は、必要に応じて手動で実行することもできます。

作成されたホストを表示するには、データ収集ホストメニューセクションに移動してください。

収集されたメトリックを表示するには、モニタリングホスト メニューセクションに移動し、いずれかのホストの最新データをクリックします。

ホストインターフェースの詳細設定

低レベル検出ルールの作成 セクションで設定された vmware.vm.discovery[{$VMWARE.URL}] 項目キーは、"net_if" フィールド にネットワークインターフェースのデータを返します。

"net_if": [
             {
               "ifname": "5000",
               "ifdesc": "Network adapter 1",
               "ifmac": "00:11:22:33:44:55",
               "ifconnected": true,
               "iftype": "VirtualVmxnet3",
               "ifbackingdevice": "VLAN(myLab)",
               "ifdvswitch_uuid": "",
               "ifdvswitch_portgroup": "",
               "ifdvswitch_port": "",
               "ifip": [
                 "127.0.0.1",
                 "::1"
               ]
             },
             {
               "ifname": "5001",
               "ifdesc": "Network adapter 2",
               "ifmac": "00:11:22:33:44:55",
               "ifconnected": false,
               "iftype": "VirtualVmxnet3",
               "ifbackingdevice": "VLAN(myLab2)",
               "ifdvswitch_uuid": "",
               "ifdvswitch_portgroup": "",
               "ifdvswitch_port": "",
               "ifip": []
             }
           ]

このデータは、カスタムホストインターフェースの設定に使用できます。

1. 低レベル検出ルールを作成 する際に、低レベル検出マクロ を追加で設定します。 LLD マクロ タブで、JSONPath 値を使用してカスタム LLD マクロを作成します。例:

  • {#MYLAB.NET.IF} - $.net_if[?(@.ifbackingdevice=="VLAN(myLab)")].ifip[0].first()

2. ホストプロトタイプを作成 する際に、カスタムホストインターフェイスを追加し、DNS名 または IPアドレス フィールドにLLDマクロを入力します。