透過獨立的代理程式設定 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 的範例,請參閱 Compute Engine Linux VM 快速入門。如需建立 VMware VM 的範例,請參閱「建立 VMware VM」。

如果您使用 Compute Engine VM 代管獨立代理程式,Google 會管理您連線服務帳戶的金鑰輪替作業。不過,如果私人雲端中有未使用的容量,且您不介意自行管理金鑰輪替,建立 VMware 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 也需要存取下列位址,才能收集及推送指標和記錄:

  • 通訊埠 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/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 控制台,依序前往「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. 在「動作」欄中,按一下 服務帳戶動作選單,然後選取「管理金鑰」

  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. 在「Sample Library」分頁中,選取「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 狀態顏色代碼 (例如綠色、灰色、紅色或黃色) 表示