透過獨立的代理程式設定 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) 網路中,且該網路與包含要監控資源的私有雲 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 並啟用指標轉送的程序包含下列步驟:
安裝獨立代理程式
如要在主機 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 控制台,依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
按一下「選取專案」,然後選取要建立服務帳戶的機構、資料夾或專案。
按一下「建立服務帳戶」。
輸入服務帳戶的名稱、ID 和說明。建議您註明該帳戶用於代理程式整合。
按一下「建立並繼續」。
在「角色」部分,選取「Monitoring 管理員」。
在「角色」部分,選取「記錄寫入者」。
按一下「繼續」。
按一下 [完成]。
如果您建立的 VMware VM 是代理程式主機 VM,請擷取服務帳戶私密金鑰,以便設定代理程式:
在 Google Cloud 控制台,依序前往「IAM & Admin」(IAM 與管理) >「Service Accounts」(服務帳戶)。
按一下「選取專案」,然後選取服務帳戶所在的機構、資料夾或專案。
在服務帳戶清單中找出您的服務帳戶。
在「動作」欄中,按一下
服務帳戶動作選單,然後選取「管理金鑰」。點選「新增金鑰」,然後選取「建立新的金鑰」。
選取「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
:要輸出記錄的專案 IDJSON_KEY_FILE
:服務帳戶私密金鑰檔案的名稱。如果是透過 Compute Engine 建立的代理程式主機 VM,請移除或註解掉這行。
如要轉送 ESXi 的系統記錄,請在獨立記錄代理程式中執行下列操作,將預設通訊埠從
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
設定私有雲,轉送系統記錄檔
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,並在指令列中執行下列指令:
停止並停用獨立代理程式:
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 控制台中,依序前往「Monitoring」>「Dashboards」。
在「Sample Library」分頁中,選取「VMware」類別。
選取感興趣的資訊主頁,然後按一下「匯入」file_download。
這些資訊主頁的定義也儲存在 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 狀態顏色代碼 (例如綠色、灰色、紅色或黃色) 表示 |