透過獨立的代理程式設定 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) 網路中,且該網路與包含要監控資源的私有雲 VPC 網路建立對等互連。

    如需建立 Compute Engine VM 的範例,請參閱「使用 Linux VM 的 Compute Engine 快速入門導覽課程」。如需建立 VMware VM 的範例,請參閱「建立 VMware VM」。

如果您使用 Compute Engine VM 代管獨立代理程式,Google 會管理您連線服務帳戶的金鑰輪替作業。不過,如果私有雲中有未使用的容量,且您不介意自行管理金鑰輪替,建立 VMware VM 就能節省成本。

無論在何處建立代理程式主機 VM,都必須符合下列規定:

需求條件

代理程式主機 VM 必須符合下列系統需求:

  • 支援的 Linux 作業系統:
    • Red Hat Enterprise Linux 9
    • SLES 15
    • Ubuntu 20.04 LTS、22.04 LTS 或 24.04 LTS
  • 至少 4 GB RAM
  • 300 MB 可用安裝空間
  • 安裝目錄已設為「/opt/bpagent
  • 已安裝 curl CLI 公用程式

代理程式主機 VM 也需要存取下列位址,才能收集及推送指標和記錄:

  • 通訊埠 443 (TCP),用於連線至 vCenter Server 的 HTTPS 連線 (預設)
  • monitoring.googleapis.com:443 (external access)
  • logging.googleapis.com:443 (external access)

啟用指標轉送功能

設定代理程式主機 VM 並啟用指標轉送的程序包含下列步驟:

  1. 在 VM 中安裝代理程式
  2. 指定服務帳戶
  3. 設定代理程式,以存取 Private Cloud 的指標
  4. 設定代理程式,以便存取服務帳戶來產生報表
  5. 收集指標和記錄
  6. 設定私有雲以轉送系統記錄檔

安裝獨立代理程式

如要在主機 VM 上安裝代理程式,請執行下列操作:

  1. 連線至代理程式主機 VM。
  2. 遠端執行安裝指令碼:

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

如果代理程式主機 VM 可能無法存取外部網路,您可以使用下列指令下載代理程式和安裝指令碼:

  • 如要取得獨立代理程式,請執行下列指令:

    curl -S https://storage.googleapis.com/gcve-observability-agent/0.0.9/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
    
  • 如要取得安裝指令碼,請執行下列指令:

    curl -S https://storage.googleapis.com/gcve-observability-agent/0.0.9/vmware-linux-amd64/installer/install.sh > install.sh
    
  • 如要安裝代理程式,請在代理程式主機 VM 上執行下列指令:

    sudo sh install.sh agent.tar.gz
    

指定服務帳戶

如要將資料從代理程式轉送至 Cloud Monitoring,需要 Google Cloud 專案中的服務帳戶。該服務帳戶必須具備指標的「監控管理員」角色,以及記錄的「記錄寫入者」角色。

如果沒有用於監控及記錄應用程式的服務帳戶,請建立一個:

  1. 在 Google Cloud 控制台,依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)

    前往「Service Accounts」(服務帳戶)

  2. 按一下「選取專案」,然後選取要建立服務帳戶的機構、資料夾或專案。

  3. 按一下「建立服務帳戶」

  4. 輸入服務帳戶的名稱、ID 和說明。建議您註明該帳戶用於代理程式整合。

  5. 按一下「建立並繼續」

  6. 在「角色」部分,選取「Monitoring 管理員」

  7. 在「角色」部分,選取「記錄寫入者」

  8. 按一下「繼續」

  9. 按一下 [完成]

如果您建立的 VMware VM 是代理程式主機 VM,請擷取服務帳戶私密金鑰,以便設定代理程式:

  1. 在 Google Cloud 控制台,依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)

    前往「Service Accounts」(服務帳戶)

  2. 按一下「選取專案」,然後選取服務帳戶所在的組織、資料夾或專案。

  3. 在服務帳戶清單中找出您的服務帳戶。

  4. 在「Actions」(動作) 欄中,按一下 服務帳戶動作選單,然後選取「Manage keys」(管理金鑰)

  5. 點選「新增金鑰」,然後選取「建立新的金鑰」

  6. 選取「JSON」金鑰類型,然後按一下「建立」

  7. 開啟產生的 JSON 檔案,然後複製整個檔案內容。指標和記錄檔收集作業都使用相同的 JSON 金鑰檔案。

  8. 在代理程式主機 VM 上,將 JSON 金鑰檔案複製到 /opt/bpagent/config/destinations/google_cloud 目錄。

設定代理程式,以存取私有雲的指標

獨立代理程式需要存取私有雲,才能收集指標。在代理程式主機 VM 上,複製並設定 vmware_vcenter.yaml 檔案,即可設定存取權:

  1. vmware_vcenter.yaml 複製到 config/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.yaml 複製到 log_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 的系統記錄檔,請在獨立記錄檔代理程式中執行下列操作,將預設通訊埠從 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
    

設定私有雲,轉送系統記錄檔

VMware Engine 會將 vCenter 和 NSX 的系統記錄檔訊息轉送至獨立代理程式,藉此與 Cloud Logging 整合。獨立代理程式會設定為剖析 vCenter 和 NSX 記錄,供 Cloud Logging 讀取。

如要轉送 VMware Engine 的系統記錄訊息,請按照下列步驟操作:

  • 如要轉送 vCenter 系統記錄檔,請按照「轉送 vCenter 系統記錄檔訊息」一文中的步驟操作。 在「伺服器」欄位中,輸入代理主機 VM 的 IP 位址或主機名稱。獨立代理程式會使用 TCP 通訊協定,並監聽通訊埠 5142。獨立代理程式必須正在執行,系統才能成功連線至系統記錄設定。
  • 如要轉送 NSX 系統記錄檔,請按照「轉送 NSX 系統記錄檔訊息」一文中的步驟操作。 在「FQDN 或 IP 位址」欄位中,輸入代理主機 VM 的 IP 位址或主機名稱。獨立代理程式會使用 TCP 通訊協定,並監聽通訊埠 5142

如要轉送 ESXi 主機的系統記錄檔,請將記錄檔代理程式監聽的預設連接埠從 5142 變更為 514。在這種情況下,請使用相同的通訊埠 (514) 從 vCenter 和 NSX 轉送系統記錄檔。

解除安裝代理程式

如要從 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 控制台中,依序前往「Monitoring」>「Dashboards」。

    前往資訊主頁

  2. 在「範例程式庫」分頁中,選取「VMware」類別。

  3. 選取感興趣的資訊主頁,然後按一下「匯入」

這些資訊主頁的定義也儲存在 GitHub。如要安裝或查看定義做為自訂資訊主頁,請參閱「安裝範例資訊主頁」。

Cloud Monitoring 快訊

您可以根據自訂門檻和事件,使用整合服務的指標來觸發快訊和通知。舉例來說,當有人在私有雲中建立新的 VM 時,您可以讓 Cloud Monitoring 傳送簡訊通知。

詳情請參閱「快訊簡介」。

收集到的指標清單

成功啟用指標轉送功能後,您可以在 Cloud Monitoring Metrics Explorer 中查看指標。在 Metrics Explorer 中,VMware Engine 的資源類型和指標類型開頭會加上 external.googleapis.com/vmware/vcenter. 前置字元。

以下是為 VMware Engine 收集的指標完整清單,並省略前置字元:

資源和指標類型 說明
cluster.cpu.available 叢集中的可用 CPU (以 MHz 為單位)
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 資料中心的總磁碟空間 (以 TB 為單位)
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 主機系統使用的記憶體,以 MB 為單位
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 容量 (以 MHz 為單位)
host_system.cpu.reserved_capacity 主機系統的預留 CPU 容量 (以 MHz 為單位)
host_system.cpu.average_speed 主機系統的平均 CPU 速度 (以 MHz 為單位)
host_system.cpu.used 主機系統使用的 CPU,以 MHz 為單位
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 以 MB 為單位的 vCenter 交換記憶體
resource_pool.memory.shared_bytes vCenter 共用記憶體 (以 MB 為單位)
resource_pool.memory.private_bytes vCenter 私人記憶體 (單位為 MB)
resource_pool.memory.shares vCenter 記憶體共用數
resource_pool.memory.overhead_usage_bytes vCenter 記憶體額外負荷用量 (以 MB 為單位)
resource_pool.memory.host_usage_bytes vCenter 主機記憶體用量 (以 MB 為單位)
resource_pool.memory.active_guest_usage_bytes vCenter 記憶體的有效訪客用量 (以 MB 為單位)
resource_pool.memory.balloon_size vCenter 氣球記憶體大小 (以 MB 為單位)
resource_pool.cpu.usage vCenter 使用的 CPU (以 MHz 為單位)
resource_pool.cpu.shares 資源集區中的 CPU 共享數 (以 MB 為單位)
vm.memory.ballooned VM 氣球記憶體大小 (以 MB 為單位)
vm.network.throughput_bytes VM 的網路處理量 (KB/秒)
vm.memory.used_percent VM 使用的記憶體,以可用記憶體的百分比表示
vm.memory.usage_bytes VM 使用的記憶體,以 MB 為單位
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 使用率 (以 MHz 為單位)
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 (以 GHz 為單位)
vsphere.memory.available vSphere 管理的叢集可用記憶體 (以 GB 為單位)
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 中附加的磁碟空間總大小 (以 TB 為單位)
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 數量,並以 VM 狀態顏色代碼 (例如綠色、灰色、紅色或黃色) 表示