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

Cloud Monitoring を使用すると、アプリケーションやインフラストラクチャのパフォーマンス、可用性、健全性の可視化が容易になります。Cloud Monitoring をはじめとする Google Cloud のオペレーション スイートの他のプロダクトにより、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. Syslog 転送用にプライベート クラウドを構成する
  6. 指標とログを収集する

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

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

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

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

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

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

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

    curl -S https://storage.googleapis.com/bindplane-agent/bpagent/latest/pkg/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 のオペレーション スイートにアクセスする必要があります。モニタリングとロギングの権限を持つサービス アカウントを使用して報告用のプロジェクトにアクセスするように、エージェントを構成します。

エージェント ホスト 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_NAME
      type: google_cloud_output
      credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
    

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

    • PROJECT_NAME: ログを出力するプロジェクトの名前。
    • JSON_KEY_FILE: サービス アカウントの秘密鍵ファイルの名前。Compute Engine で作成されたエージェント ホスト VM では不要な行。

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

VMware Engine から Syslog メッセージを転送するには、リモート サーバーに Syslog メッセージを転送するの手順を行います。

[Server] フィールドに、エージェント ホスト VM の IP アドレスまたはホスト名を入力します。スタンドアロン エージェントは、TCP 通信プロトコルを使用してポート 5142 をリッスンします。

指標とログを収集する

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

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

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

    systemctl stop bpagent
    

Cloud Monitoring ダッシュボード

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

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

これらのダッシュボードの定義は、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 vSphere によって管理され、ステータス カラーコード(緑、グレー、赤、黄など)を持つ VM の数