GCP|在 GCP VM Instance 安裝 Monitoring Agent

目的

因為 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 代理程式總覽,主要需要確認以下三點:

  1. VM instance 是否有開啟 Monitoring Agent 需要的權限
  2. 安裝 Monitoring Agent 程式
  3. 驗證 metrics 是否有送回 project

權限

一般來說,如果 WordPress 是在 GCP 的 Compute Engine VM Instance 上安裝,預設會有 Monitoring Agent 所需的權限。如果沒有,可以依照 授權代理程式 的說明進行設定。

安裝

安裝的方式很簡單,可以參考:在 Linux 上安裝(我使用的是 Linux 的環境)
安裝遇到問題可以參考:排解代理程式安裝問題

驗證

驗證代理程式資料 有詳細的說明,藉由 Monitoring API 的 timeseries.list 方法可以檢查代理程式是否有將資料送回我們的 project。檢查的方法如下:

  1. 前往 timeseries.list 頁面
  2. 在 name 欄位輸入 “projects/專案名稱” 的字串
    例如專案名稱是 yjyw-project,輸入的字串則是 projects/yjyw-project
  3. 在 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 相關的資料
  4. 在interval.startTime 與 interval.endTime 輸入符合 2018-10-31T00:00:00Z 格式的時間資料,endTime 要比 startTime 晚。文件建議兩著間距 5 分鐘,實測用 1 小時,比較不會發生「代理程式有正確將資料送到 project,但剛好該區間沒有資料,誤以為資料未送成功」的情況
  5. 如果能撈到資料,代表該 VM instance 的 Monitoring Agent 有成功安裝,資料也有正確送回 project

使用 Stackdriver UI 檢查運作時間

Monitoring Agent 使用的代理程式是 Stackdriver
Stackdriver 提供基礎設施管理人員多樣的功能,並且有 GUI 可以使用:https://app.google.stackdriver.com/

References


已發佈

分類:

作者:

標籤:

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *