スタンドアロン エージェントを使用した Cloud Monitoring を設定する

Cloud Monitoring を使用すると、アプリケーションやインフラストラクチャのパフォーマンス、可用性、健全性の可視化が容易になります。Cloud Monitoring をはじめとする Google Cloud Observability の他のプロダクトにより、VMware Engine サービスのモニタリング、トラブルシューティング、運用を大規模に実施できます。

スタンドアロン エージェントを使用して、プライベート クラウドごとに指標転送の構成を個別に定義します。各プライベート クラウドには、Compute Engine VM または VMware VM でホストされている個別のエージェントが必要です。

指標転送を有効にすると、Cloud Monitoring Metrics Explorer に指標が表示されます。VMware Engine のリソースタイプと指標は external.googleapis.com/vmware/vcenter で始まり、vCenter FQDN は名前空間の一部としてタグ付けされます。

始める前に

このドキュメントの手順では、最初に次の作業を実施することを想定しています。

  1. Cloud Monitoring API を有効にする
  2. スタンドアロン エージェントで使用するソリューション ユーザー アカウントを特定し、ソリューションのユーザー アカウントに安全なパスワードを設定する。
  3. スタンドアロン エージェントのホストとして使用する Compute Engine VM または VMware VM を作成する。Compute Engine VM は、モニタリング対象リソースを含むプライベート クラウド VPC ネットワークとピアリングされている Virtual Private Cloud(VPC)ネットワーク内に配置されている必要があります。

    Compute Engine VM の作成例については、Compute Engine の Linux VM の使用に関するクイックスタートをご覧ください。VMware VM の作成例については、VMware VM の作成をご覧ください。

Compute Engine VM を使用してスタンドアロン エージェントをホストすると、接続するサービス アカウントの鍵のローテーションが Google によって管理されます。ただし、プライベート クラウドに未使用の容量があり、鍵のローテーションを自社で管理しても問題がない場合は、VMware VM の作成によりコスト効率が改善される場合があります。

エージェント ホスト VM の作成場所に関係なく、VM は次の要件を満たす必要があります。

要件

エージェント ホスト VM は、次のシステム要件を満たしている必要があります。

  • サポートされる Linux オペレーティング システム:
    • CentOS 6、7、8
    • Red Hat Enterprise Linux 6、7、8
    • SLES 12、15
    • Ubuntu 14、16、18、19
  • 4 GB 以上の RAM
  • 300 MB の使用可能なインストール領域
  • /opt/bpagent に設定されたインストール ディレクトリ
  • curl CLI ユーティリティのインストール

エージェント ホスト VM は、指標とログを収集して push するため、次のアドレスにアクセスする必要があります。

  • vCenter Server への HTTPS 接続用のポート 443(TCP)(デフォルト)
  • monitoring.googleapis.com:443 (external access)
  • logging.googleapis.com:443 (external access)

指標転送の有効化

エージェント ホスト VM を設定し、指標転送を有効にする処理は、次の手順で構成されます。

  1. VM にエージェントをインストールする
  2. サービス アカウントを指定する
  3. 指標用にプライベート クラウドにアクセスするようにエージェントを構成する
  4. 報告用のサービス アカウントにアクセスするようにエージェントを構成する
  5. 指標とログを収集する
  6. Syslog 転送用にプライベート クラウドを構成する

スタンドアロン エージェントのインストール

ホスト VM にエージェントをインストールするには、次の手順を行います。

  1. エージェント ホスト VM に接続します。
  2. リモートからインストール スクリプトを実行します。

    sudo sh -c "$(curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh)"
    

エージェント ホスト VM が外部ネットワークにアクセスできないシステムである場合は、次のコマンドを使用してエージェントとインストール スクリプトをダウンロードできます。

  • スタンドアロン エージェントを取得するには、以下を実行します。

    curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
    
  • インストール スクリプトを取得するには、以下を実行します。

    curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh > install.sh
    
  • エージェントをインストールするには、エージェント ホスト VM で以下を実行します。

    sudo sh install.sh agent.tar.gz
    

サービス アカウントを指定する

エージェントから Cloud Monitoring にデータを転送するには、Google Cloud プロジェクトのサービス アカウントが必要です。このサービス アカウントには、指標に対するモニタリング管理者のロールと、ログに対するログ書き込みのロールが必要です。

アプリケーションのモニタリングとロギング用のサービス アカウントがない場合は、サービス アカウントを作成します。

  1. Google Cloud Console で、[IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. [サービス アカウントを作成] をクリックします。

  3. サービス アカウントの名前、ID、説明を入力します。エージェント統合に使用するアカウントを記載することをおすすめします。

  4. [作成して続行] をクリックします。

  5. [ロール] には、[モニタリング管理者] を選択します。

  6. [ロール] には、[ログ書き込み] を選択します。

  7. [続行] をクリックします。

  8. [完了] をクリックします。

エージェント ホスト VM として VMware VM を作成した場合は、サービス アカウントの秘密鍵を取得して、エージェントの設定に使用できます。

  1. Google Cloud Console で、[IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. サービス アカウントのリストで使用するサービス アカウントを探します。

  3. [操作] 列で、サービス アカウントの操作メニュー をクリックして [鍵を管理] を選択します。

  4. [鍵を追加]、[新しい鍵を作成] の順にクリックします。

  5. [キーのタイプ] に [JSON] を選択し、[作成] をクリックします。

  6. 生成された JSON ファイルを開き、ファイルの内容全体をコピーします。指標とログ収集の両方で同じ JSON キーファイルを使用します。

  7. エージェント ホスト VM で、JSON キーファイルを /opt/bpagent/config/destinations/google_cloud ディレクトリにコピーします。

指標収集のためプライベート クラウドにアクセスするようにエージェントを構成する

指標を収集するために、スタンドアロン エージェントはプライベート クラウドにアクセスする必要があります。エージェント ホスト VM 上で、vmware_vcenter.yaml ファイルをコピーおよび構成し、アクセス権を設定します。

  1. vmware_vcenter.yamlconfig/metrics/sources ディレクトリにコピーします。

    cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
    
  2. vmware_vcenter.yaml を編集して、VMware Engine 環境内の情報と一致させます。

    collection_interval: 1m0s
    connection_info:
    connection_timeout: "30"
    enable_performance_counters: "true"
    host: VCSA_FQDN
    password: SOLUTION_USER_PASSWORD
    performance_counter_end_time: ""
    performance_counter_query_timeout: "15"
    performance_counter_start_time: ""
    port: "443"
    sdk_path: ""
    ssl_config: "No Verify"
    username: SOLUTION_USER_ACCOUNT
    

    次のように置き換えます。

    • VCSA_FQDN: プライベート クラウド内の vCenter Server Appliance の完全修飾ドメイン名(FQDN)
    • SOLUTION_USER_PASSWORD: 使用されているソリューション ユーザー アカウントのパスワード
    • SOLUTION_USER_ACCOUNT: エージェントが情報を報告するために使用するソリューション ユーザー アカウント

報告用のサービス アカウントにアクセスするようにエージェントを構成する

スタンドアロン エージェントは、指標とログを送信するために Google Cloud Observability にアクセスする必要があります。モニタリングとロギングの権限を持つサービス アカウントを使用して報告用のプロジェクトにアクセスするように、エージェントを構成します。

エージェント ホスト VM で、log_agent.yaml ファイルをコピーして構成します。

  1. 編集する前に log_agent.example.yamllog_agent.yaml にコピーします。

    cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
    
  2. log_agent.yaml の下部に、プロジェクト名と JSON キーファイルのフルパスを入力します。Compute Engine で作成されたエージェント ホスト VM の場合は、credentials_file 行を削除するか、コメントアウトします。

    ...
    - id: my_project_destination
      project_id: PROJECT_ID
      type: google_cloud_output
      credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
    

    次のように置き換えます。

    • PROJECT_ID: ログを出力するプロジェクトの ID。
    • JSON_KEY_FILE: サービス アカウントの秘密鍵ファイルの名前。Compute Engine で作成されたエージェント ホスト VM の場合、この行を削除するか、コメントアウトします。

    ESXi から Syslog を転送する必要がある場合は、スタンドアロンのログ エージェントで、次の手順に沿ってデフォルト ポートを 5142 から 514 に変更します。

    1. /opt/bpagent/config を参照します。
    2. 次のように、ポート番号を 514 に更新します。
    - id: vmware-vcenter-logs
        # A syslog address of the form `:`
        listen_address: 0.0.0.0:514
        # Enable TLS for the TCP listener
        enable_tls: false
    

指標とログを収集する

指標またはログを収集するには、スタンドアロン エージェントがエージェント ホスト VM で実行されている必要があります。エージェント ホスト VM に接続し、次のコマンドを使用してエージェントを起動または停止します。

  • ホスト VM でエージェントを起動するには、次のコマンドを実行します。

    systemctl start bpagent
    
  • ホスト VM でエージェントを停止するには、次のコマンドを実行します。

    systemctl stop bpagent
    

Syslog 転送用にプライベート クラウドを構成する

VMware Engine は、vCenter と NSX-T からスタンドアロン エージェントに syslog メッセージを転送することで Cloud Logging と統合されます。そのスタンドアロン エージェントは、Cloud Logging が読み取るために vCenter と NSX-T の両方のログを解析するように構成されています。

VMware Engine から syslog メッセージを転送するには、次のようにします。

  • vCenter Syslog 転送の場合は、vCenter Syslog メッセージを転送するの手順に従います。[Server] フィールドには、エージェント ホスト VM の IP アドレスかホスト名を入力します。スタンドアロン エージェントは、TCP 通信プロトコルを使用してポート 5142 をリッスンします。 syslog 構成で接続を正常に行うには、スタンドアロン エージェントが実行されている必要があります。
  • NSX-T syslog 転送の場合は、NSX-T syslog メッセージを転送するの手順に沿って操作します。[FQDN or IP Address] フィールドには、エージェント ホスト VM の IP アドレスかホスト名を入力します。スタンドアロン エージェントは、TCP 通信プロトコルを使用してポート 5142 をリッスンします。

ESXi ホストから Syslog を転送する場合は、ログ エージェントがリッスンするデフォルトのポートを 5142 から 514 に変更します。その場合、vCenter と NSX-T から syslog を転送するには同じポート(514)を使用します。

エージェントをアンインストールする

VM からエージェントを削除するには、エージェント VM に接続し、コマンドラインで次のコマンドを実行します。

  1. スタンドアロン エージェントを停止して無効にします。

    systemctl stop bpagent
    
    systemctl disable bpagent
    
  2. 次のコマンドを実行して、スタンドアロン エージェント サービスを削除します。

    rm /etc/systemd/system/bpagent.service
    
    rm -rf /opt/bpagent
    
  3. サービスの変更に基づいてシステム構成を更新し、失敗したユニットを取り除きます。

    systemctl daemon-reload
    
    systemctl reset-failed
    

Cloud Monitoring ダッシュボード

指標転送を有効にすると、VMware Engine の事前定義されたダッシュボードをインストールできます。次のダッシュボードには、指定したすべてのソースに関する集計情報が表示されます。

  • 概要ダッシュボード: データセンター、クラスタ、VM などの主要なリソースをリスト表示した概要ビュー。
  • 競合ダッシュボード: リソース需要(ストレージ、CPU、メモリ、ネットワーキングのリソース使用率)が上位の VM とホストの特定を容易にする。
  • 仮想マシン パフォーマンス ダッシュボード: 仮想マシン(VM)インスタンスのパフォーマンス インジケーター。インスタンス名でフィルタして、複数の VM のパフォーマンスを相互に比較できます。

VMware Engine ダッシュボードにアクセスするには、次のようにします。

  1. Google Cloud Console で、[Monitoring] > [ダッシュボード] に移動します。

    ダッシュボードに移動する

  2. [サンプル ライブラリ] タブで、[VMware] カテゴリを選択します。

  3. 目的のダッシュボードを選択して、 [インポート] をクリックします。

これらのダッシュボードの定義は、GitHub にも保存されています。定義をカスタム ダッシュボードとしてインストールまたは表示する手順については、サンプル ダッシュボードのインストールをご覧ください。

Cloud Monitoring アラート

統合の指標を使用し、カスタムしきい値とインシデントに基づくアラートと通知をトリガーできます。たとえば、プライベート クラウドに新しい VM が作成されると、Cloud Monitoring から SMS 通知が送信されるように設定できます。

詳細については、アラートの概要をご覧ください。

収集された指標の一覧

指標転送を有効にすると、Cloud Monitoring Metrics Explorer に指標が表示されます。Metrics Explorer では、VMware Engine のリソースタイプと指標タイプの先頭に external.googleapis.com/vmware/vcenter. が付いています。

VMware Engine で収集された指標の完全なリストは次のとおりです(接頭辞は省略しています)。

リソースと指標のタイプ 説明
cluster.cpu.available クラスタで使用可能な CPU(メガヘルツ)
cluster.memory.available クラスタで使用可能なメモリ(バイト単位)
cluster.cpu.threads クラスタ内の CPU スレッド数
cluster.cpu.effective クラスタ内で有効な CPU(実行中のすべてのホストから収集)。応答しないホストやメンテナンス モードのホストはカウントされません。
cluster.effective_hosts クラスタ内の有効なホストの数。応答しないホストやメンテナンス モードのホストはカウントされません。
cluster.memory.effective クラスタ内で有効なメモリ(実行中のすべてのホストから収集)。応答しないホストやメンテナンス モードのホストはカウントされません。
cluster.hosts クラスタ内のホスト数
cluster.vsan.latency クラスタの vSAN レイテンシ(マイクロ秒単位)
cluster.vsan.throughput クラスタの vSAN 読み取り / 書き込みスループット(バイト単位)
cluster.vsan.iops クラスタの vSAN IOPS
cluster.vsan.congestions クラスタの vSAN の輻輳の値
cluster.vsan.oio クラスタ内の vSAN の未処理の I/O(oio)
datacenter.cpu.average_host_utilization データセンターの平均ホスト使用率(%)
datacenter.clusters データセンター内のクラスタ数
datacenter.datastores データセンター内のデータストア数
datacenter.hosts データセンターのホスト数
datacenter.host_systems データセンターのホストシステム数
datacenter.hosts/powered_on データセンター内のパワーオン状態のホスト数
datacenter.hosts/powered_off データセンター内のパワーオフ状態のホスト数
datacenter.disk/space データセンターのディスク容量の合計(テラバイト単位)
datastore.capacity_bytes データストアの容量(バイト単位)
datastore.capacity_utilization データストアの容量の使用率(パーセント)
host_system.network.transmitted_packets ホストシステムによって転送されたネットワーク パケット数
host_system.network.received_packets ホストシステムによって受信されたネットワーク パケット数
host_system.dropped_packets ホストシステムによってドロップされたネットワーク パケット数
host_system.network.adapters ホストシステムのネットワーク アダプタ数
host_system.memory.utilization ホストシステムのメモリ使用率(%)
host_system.memory.utilization_ratio ホストシステムのメモリ使用率
host_system.memory.used ホストシステムが使用するメモリ量(メガバイト単位)
host_system.disk.read ホストシステムのディスク読み取り数(KB/秒)
host_system.disk_latency ホストシステムのディスク レイテンシ(ミリ秒)
host_system.cpu.usage ホストシステムの CPU 使用率(パーセント)
host_system.cpu.utilization_ratio ホストシステムの CPU 使用率
host_system.cpu.capacity ホストシステムの CPU 容量(メガヘルツ)
host_system.cpu.reserved_capacity ホストシステムの予約済み CPU 容量(メガヘルツ)
host_system.cpu.average_speed ホストシステムの平均 CPU 速度(メガヘルツ)
host_system.cpu.used ホストシステムで使用される CPU(メガヘルツ)
host_system.vsan.throughput ホストシステムの vSAN 読み取り / 書き込みスループット(バイト単位)
host_system.vsan.iops ホストシステムの vSAN IOPS
host_system.vsan.latency ホストシステムの vSAN レイテンシ(マイクロ秒単位)
host_system.vsan.client_cache_hits ホストシステムの vSAN クライアント キャッシュ ヒット
host_system.vsan.client_cache_hit_rate ホストシステムの vSAN クライアント キャッシュのヒット率(%)
host_system.vsan.congestions ホストシステムの vSAN の輻輳の値
resource_pool.memory.swapped_bytes vCenter のスワップメモリ(メガバイト単位)
resource_pool.memory.shared_bytes vCenter 共有メモリ(メガバイト単位)
resource_pool.memory.private_bytes vCenter のプライベート メモリ(メガバイト単位)
resource_pool.memory.shares vCenter メモリ共有の数
resource_pool.memory.overhead_usage_bytes vCenter メモリのオーバーヘッド使用量(メガバイト単位)
resource_pool.memory.host_usage_bytes vCenter メモリホストの使用量(メガバイト単位)
resource_pool.memory.active_guest_usage_bytes アクティブ ゲストの vCenter メモリの使用量(メガバイト単位)
resource_pool.memory.balloon_size vCenter バルーンメモリのサイズ(メガバイト単位)
resource_pool.cpu.usage vCenter で使用される CPU(メガヘルツ)
resource_pool.cpu.shares リソースプール内の CPU 共有数(メガバイト単位)
vm.memory.ballooned VM バルーンメモリのサイズ(メガバイト単位)
vm.network.throughput_bytes VM のネットワーク スループット(KB/秒)
vm.memory.used_percent VM によって使用されるメモリ(利用可能なメモリの割合)
vm.memory.usage_bytes VM が使用したメモリ(メガバイト単位)
vm.disk.throughput_bytes VM のディスク読み取り / 書き込みスループット(KB/秒)
vm.disk.used_percent VM のディスク使用量(使用可能なストレージに対する割合)
vm.disk.usage_bytes VM のディスク使用量(バイト単位)
vm.disk.free_bytes VM で使用可能なディスク容量(バイト単位)
vm.cpu.used_percent VM の CPU 使用率(利用可能な CPU の割合)
vm.cpu.usage VM の CPU 使用率(メガヘルツ)
vm.cpu.ready_percent 準備ができているが実行できない VM の CPU(パーセント)
vm.vsan.throughput VM の vSAN 読み取り / 書き込みスループット(バイト単位)
vm.vsan.iops VM の vSAN IOPS
vm.vsan.latency VM の vSAN レイテンシ(マイクロ秒単位)
vm.vsan.readCount VM の vSAN 読み取り数
vm.vsan.writeCount VM の vSAN 書き込み数
vsphere.cpu.available vSphere によって管理されているクラスタ全体での CPU 数(ギガヘルツ)
vsphere.memory.available vSphere によって管理されているクラスタ全体で利用可能なメモリ(ギガバイト単位)
vsphere.clusters.total vSphere によって管理されているクラスタ数
vsphere.clusters クラスタのステータス カラーコード(緑、グレー、赤、黄など)を持つ、vSphere によって管理されているクラスタ数
vsphere.cpu.cpus vSphere によって管理されるホストシステムの CPU コアの合計数
vsphere.datacenters vSphere が管理するデータセンター数
vsphere.datastores.total vSphere のデータストア数
vsphere.datastores データストアのステータス カラーコード(緑、グレー、赤、黄など)を持つ、vSphere によって管理されているデータストア数
vsphere.disk.space vSphere でアタッチされているディスク容量の合計(テラバイト単位)
vsphere.host_systems vSphere 内のホストシステムの数
vsphere.hosts ホストシステムのステータス カラーコード(緑、グレー、赤、黄など)を持つ、vSphere によって管理されているホストシステム数
vsphere.network.adapters vSphere のネットワーク アダプタの数
vsphere.hosts.powered_off vSphere 内のパワーオフ状態のホスト数
vsphere.hosts.powered_on vSphere 内のパワーオン状態のホスト数
vsphere.virtual_machines.total すべての vSphere クラスタにわたる VM 数
vsphere.virtual_machines VM のステータス カラーコード(緑、グレー、赤、黄など)を持つ、vSphere によって管理されている VM 数