スタンドアロン エージェントを使用した 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 は名前空間の一部としてタグ付けされます。
始める前に
このドキュメントの手順では、最初に次の作業を実施することを想定しています。
- Cloud Monitoring API を有効にする
- スタンドアロン エージェントで使用するソリューション ユーザー アカウントを特定し、ソリューションのユーザー アカウントに安全なパスワードを設定する。
スタンドアロン エージェントのホストとして使用する 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 を設定し、指標転送を有効にする処理は、次の手順で構成されます。
- VM にエージェントをインストールする
- サービス アカウントを指定する
- 指標用にプライベート クラウドにアクセスするようにエージェントを構成する
- 報告用のサービス アカウントにアクセスするようにエージェントを構成する
- 指標とログを収集する
- Syslog 転送用にプライベート クラウドを構成する
スタンドアロン エージェントのインストール
ホスト VM にエージェントをインストールするには、次の手順を行います。
- エージェント ホスト VM に接続します。
リモートからインストール スクリプトを実行します。
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 プロジェクトのサービス アカウントが必要です。このサービス アカウントには、指標に対するモニタリング管理者のロールと、ログに対するログ書き込みのロールが必要です。
アプリケーションのモニタリングとロギング用のサービス アカウントがない場合は、サービス アカウントを作成します。
Google Cloud Console で、[IAM と管理] > [サービス アカウント] に移動します。
[サービス アカウントを作成] をクリックします。
サービス アカウントの名前、ID、説明を入力します。エージェント統合に使用するアカウントを記載することをおすすめします。
[作成して続行] をクリックします。
[ロール] には、[モニタリング管理者] を選択します。
[ロール] には、[ログ書き込み] を選択します。
[続行] をクリックします。
[完了] をクリックします。
エージェント ホスト VM として VMware VM を作成した場合は、サービス アカウントの秘密鍵を取得して、エージェントの設定に使用できます。
Google Cloud Console で、[IAM と管理] > [サービス アカウント] に移動します。
サービス アカウントのリストで使用するサービス アカウントを探します。
[操作] 列で、サービス アカウントの操作メニュー
をクリックして [鍵を管理] を選択します。[鍵を追加]、[新しい鍵を作成] の順にクリックします。
[キーのタイプ] に [JSON] を選択し、[作成] をクリックします。
生成された JSON ファイルを開き、ファイルの内容全体をコピーします。指標とログ収集の両方で同じ JSON キーファイルを使用します。
エージェント ホスト VM で、JSON キーファイルを
/opt/bpagent/config/destinations/google_cloud
ディレクトリにコピーします。
指標収集のためプライベート クラウドにアクセスするようにエージェントを構成する
指標を収集するために、スタンドアロン エージェントはプライベート クラウドにアクセスする必要があります。エージェント ホスト VM 上で、vmware_vcenter.yaml
ファイルをコピーおよび構成し、アクセス権を設定します。
vmware_vcenter.yaml
をconfig/metrics/sources
ディレクトリにコピーします。cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
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
ファイルをコピーして構成します。
編集する前に
log_agent.example.yaml
をlog_agent.yaml
にコピーします。cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
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
に変更します。/opt/bpagent/config
を参照します。- 次のように、ポート番号を
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 に接続し、コマンドラインで次のコマンドを実行します。
スタンドアロン エージェントを停止して無効にします。
systemctl stop bpagent
systemctl disable bpagent
次のコマンドを実行して、スタンドアロン エージェント サービスを削除します。
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
サービスの変更に基づいてシステム構成を更新し、失敗したユニットを取り除きます。
systemctl daemon-reload
systemctl reset-failed
Cloud Monitoring ダッシュボード
指標転送を有効にすると、VMware Engine の事前定義されたダッシュボードをインストールできます。次のダッシュボードには、指定したすべてのソースに関する集計情報が表示されます。
- 概要ダッシュボード: データセンター、クラスタ、VM などの主要なリソースをリスト表示した概要ビュー。
- 競合ダッシュボード: リソース需要(ストレージ、CPU、メモリ、ネットワーキングのリソース使用率)が上位の VM とホストの特定を容易にする。
- 仮想マシン パフォーマンス ダッシュボード: 仮想マシン(VM)インスタンスのパフォーマンス インジケーター。インスタンス名でフィルタして、複数の VM のパフォーマンスを相互に比較できます。
VMware Engine ダッシュボードにアクセスするには、次のようにします。
Google Cloud Console で、[Monitoring] > [ダッシュボード] に移動します。
[サンプル ライブラリ] タブで、[VMware] カテゴリを選択します。
目的のダッシュボードを選択して、file_download [インポート] をクリックします。
これらのダッシュボードの定義は、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 数 |