目的
因為 yjyw.info 是用最小的機器 f1-micro(1 vCPU,0.6 GB memory)架設的,所以 VM instance 的管理後台會一直建議把機器的規格升級較佳(也較貴)的 g1-small(1 vCPU,1.7 GB memory)。
GCP 評估機器是否夠用會根據許多 metrics,像是 CPU 使用時間、memory 使用量等等。
除了 Compute Engine 預設的 metrics 之外,GCP 官方也提到可以使用 Monitoring Agent 搜集更多的 metrics,達到更精準的規格推薦。
在 VM instance 上啟用 Monitoring Agent
在 VM instance 啟用 Monitoring Agent 需要進行一些 安裝與設定,官方的說明可以參考 Monitoring 代理程式總覽,主要需要確認以下三點:
- VM instance 是否有開啟 Monitoring Agent 需要的權限
- 安裝 Monitoring Agent 程式
- 驗證 metrics 是否有送回 project
權限
一般來說,如果 WordPress 是在 GCP 的 Compute Engine VM Instance 上安裝,預設會有 Monitoring Agent 所需的權限。如果沒有,可以依照 授權代理程式 的說明進行設定。
安裝
安裝的方式很簡單,可以參考:在 Linux 上安裝(我使用的是 Linux 的環境)
安裝遇到問題可以參考:排解代理程式安裝問題
驗證
驗證代理程式資料 有詳細的說明,藉由 Monitoring API 的 timeseries.list 方法可以檢查代理程式是否有將資料送回我們的 project。檢查的方法如下:
- 前往 timeseries.list 頁面
- 在 name 欄位輸入 “projects/專案名稱” 的字串
例如專案名稱是 yjyw-project,輸入的字串則是 projects/yjyw-project - 在 filter 的欄位輸入:
metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND resource.labels.instance_id = "[VM_INSTANCE_ID]"
代表根據 instance_id 撈出與 CPU usage time 相關的資料
也可以輸入:metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND metric.label.instance_name = "[VM_INSTANCE_NAME]"
代表根據 instance_name 撈出與 CPU usage time 相關的資料 - 在interval.startTime 與 interval.endTime 輸入符合 2018-10-31T00:00:00Z 格式的時間資料,endTime 要比 startTime 晚。文件建議兩著間距 5 分鐘,實測用 1 小時,比較不會發生「代理程式有正確將資料送到 project,但剛好該區間沒有資料,誤以為資料未送成功」的情況
- 如果能撈到資料,代表該 VM instance 的 Monitoring Agent 有成功安裝,資料也有正確送回 project
使用 Stackdriver UI 檢查運作時間
Monitoring Agent 使用的代理程式是 Stackdriver
Stackdriver 提供基礎設施管理人員多樣的功能,並且有 GUI 可以使用:https://app.google.stackdriver.com/
發佈留言