如何安裝 Cloud Monitoring Agent 在 Google Compute Engine 上?

如何安裝 Cloud Monitoring Agent 在 Google Compute Engine 上?
banner

近來有一些朋友在詢問如何把 GCP 的 Monitoring agent 安裝到VM ( GCE )上,以利於監控VM內的記憶體使用狀態,這篇文章著重在指導如何把 Cloud Monitoring agent 透過指令的方式安裝到欲監控的VM上。

*此文章以 CentOS 7 為例。

作法如下:

1. 首先先透過SSH 進到terminal console , 將 GCP 提供的agent-repo script 下載下來:

$curl -sSO https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh

2. 接下來直接執行 此script檔案:


$sudo bash add-monitoring-agent-repo.sh

3. 接著 我們可以先透過指令列出目前可以安裝的 Cloud Monitoring agent 的版本有哪些。

*為避免有些讀者產生疑惑,這邊解釋一下:由於早期 Cloud Monitoring 是叫做 Stackdriver Monitoring,所以可以看到yum list 後面所接的名稱是叫做stackdriver-agent 而非 Cloud Monitoring agent,須特別留意一下。

$sudo yum list --showduplicates stackdriver-agent

這裡可以看到目前從 Cloud Monitoring 的版本號由 5.5.2 至 6.1.2 皆可以選擇。

GCP 官網有列出針對不同的VM OS版本,Cloud monitoring 也有相對應的支援表如下,一般來說若非較舊的作業系統如CentOS 6、RHEL 6的情形下,建議都是選擇6.0.0以後的版本進行安裝。

4. 接下來我們可以直接執行安裝指令了

安裝特定版本6.1.1:

$sudo yum install -y stackdriver-agent-6.1.1

安裝最新版本 (Latest 6.1.2):

$sudo yum install -y stackdriver-agent

5. 安裝好之後,這時候agent還沒被啟動,我們需要將其start!

$sudo service stackdriver-agent start

我們可以看一下status確認是否有正確啟動

$sudo service stackdriver-agent status

看到 [ OK ] , 表示已有正確啟動中。

6. 另一個確認的方式,可以透過linux 內建的 syslog 查找是否有關於collectd 相關字眼的error。

$sudo grep collectd /var/log/{syslog,messages} | tail

這邊可以發現顯示出 swap相關的錯誤訊息,這個error是由於此台VM沒有設定swap memory,在collectd之中 也有針對swap去做監控,(設定檔在:/etc/stackdriver/collectd.conf)

其中swap的顯示方式是以百分比呈現

ValuePercentage true

由於swap是0的緣故,為了顯示百分比,所以會持續除以0,因此造成此錯誤。

如果不想看到此錯誤訊息,只需要將swap區塊的地方改成false後,重啟stackdriver 即可。

$sudo service stackdriver-agent restart

可以看到剛剛的錯誤訊息已不再出現。

*補充說明: Cloud Monitoring 其實是透過 collectd 這個 daemon 改良的,所以有一些相關的設定檔或error 其實都可以看到 collectd 的字眼及蹤影。

7. 都完成好之後,我們可以回到GCP Console看一下 Cloud Monitoring agent是否有將vm內的訊息回傳給 Cloud Monitoring dashboard。

  • 點擊 Monitoring > Dashboards
  • 選擇 VM Instances , Type: Google Cloud Platform

可以看到 Cloud Monitoring agent的地方,出現了綠色勾勾,代表從 GCP Console 已經可以正確接收到由VM內的agent所搜集回來的相關資訊。

可以接換到Memory 的頁面,VM內的記憶體使用狀況也可以完成地透過 Cloud Monitoring agent 於 dashboard上顯示出來。

8. 如果未來需要將 Cloud Monitoring agnet進行版本升級,可以透過以下指令將其升級

$sudo yum update stackdriver-agent

或是若因為特殊原因需要將 Cloud Monitoring agent移除,可以透過以下指令將其移除:

$sudo yum remove stackdriver-agent

以上便是透過SSH進入Terminal 安裝 Cloud Monitoring agent的操作方式及步驟,希望各位讀者可以多加利用這個好用的小Agent來達到自動化監控的起步。