Cloud Monitoring 會從各種來源收集資料,包括:
收集到這些指標 (metrics)、事件 (events) 和元數據 (metadata) 後,Cloud Monitoring 會將其擷取並透過儀表板 (dashboards)、圖表 (charts) 和快訊 (alerts) 的方式呈現出來,讓我們更容易理解系統狀況。快訊功能還可以和許多協作工具整合,例如 Slack、PagerDuty 等。
在這個 lab 中,會在一台虛擬機器 (VM) 上安裝監控和日誌代理程式 (agent),用來收集機器的資訊,其中也可能包含第三方應用程式的指標與日誌。
可以把「代理程式」想像成一個安裝在伺服器(VM)上的小型探測機器人。
它的主要工作就是持續收集這台機器的各種數據,例如:
收集完後,它會自動將這些資料回傳到 Cloud Monitoring 的中央平台進行分析和視覺化。如果沒有這個代理程式,Cloud Monitoring 就無法得知 VM 內部發生的詳細情況。
在這個實驗中,要學會如何:
這個任務的目標是創建一台 Linux 虛擬機器,作為我們後續監控的對象。
操作步驟:
Compute Engine > VM 執行個體,然後點擊 建立執行個體。lamp-1-vm
<由lab指定>
<由lab指定>
E2
e2-medium
Debian GNU/Linux 12 (bookworm)。允許 HTTP 流量。建立。等待幾分鐘,當 VM 建立完成後,會看到一個綠色勾勾。
為什麼要「允許 HTTP 流量」?
GCP 的防火牆預設會阻擋所有來自外部網路的連線,這是一種安全機制。HTTP 是網頁瀏覽的標準協定,它使用 80 連接埠 (port)。勾選這個選項,等於是在防火牆上開了一個通往 80 埠的門,這樣我們才能從外部網路(例如瀏覽器)連線到等一下要安裝的 Apache 網站伺服器。
這個任務的目標是在剛剛建立的 VM 上安裝一個網站伺服器,讓它變成一台可以提供網頁服務的機器。
操作步驟:
在 VM 執行個體清單中,找到 lamp-1-vm 這一行,點擊 SSH 按鈕,開啟一個連線到 VM 的終端機視窗。
在 SSH 視窗中,依序執行以下指令來安裝 Apache2:BashBash
# 更新套件庫清單,確保能抓到最新的軟體版本
sudo apt-get update
# 安裝 Apache 網站伺服器和 PHP 語言套件
sudo apt-get install apache2 php7.0
sudo:是 "Superuser Do" 的縮寫,意思是「用系統管理員權限執行」。安裝軟體或修改系統設定通常需要這個權限。apt-get:是 Debian/Ubuntu 系列 Linux 系統的套件管理器。update 是更新軟體來源清單,install 則是安裝指定的軟體。Apache2:是世界上最流行的網站伺服器軟體之一,它的工作就是接收來自瀏覽器的請求,並回傳對應的網頁內容。(過程中如果詢問是否繼續,輸入 Y 並按 Enter)
# 重新啟動 Apache 服務,讓設定生效
sudo service apache2 restart
回到 GCP 主控台的 VM 執行個體頁面,點擊 lamp-1-vm 的外部 IP (External IP)。應該會看到 Apache 的預設歡迎頁面。(可能會跳警告不安全,就直接繼續即可)
可透過SSH 方式查看 service 是否 active
sudo systemctl status google-cloud-ops-agent"*"

這個任務的目標是設定一個監控服務,它會從外部網路定期檢查網站是否還活著。
操作步驟:
在 GCP 主控台,前往 導覽選單 > 所有產品 > 可觀測性 > Monitoring。
當 Monitoring 的總覽頁面開啟後,指標範圍 (Metrics Scope) 就準備好了。
在左側選單點擊 執行時間檢查 (Uptime checks),然後點擊 建立執行時間檢查。
設定以下項目:
HTTP
Instance (執行個體)lamp-1-vm
1 分鐘

點擊 繼續 (Continue)。
在 回應驗證 (Response Validation) 頁面,保留預設值,點擊 繼續。
在 快訊與通知 (Alert & Notification) 頁面,保留預設值,點擊 繼續。
標題 (Title): 輸入 Lamp Uptime Check。
點擊 測試 (Test),確認 Monitoring 服務可以成功連線到 VM。看到綠色勾勾後,點擊 建立 (Create)。
在 Console 會看到:
這個任務的目標是設定一個規則:當某個監控指標超過我們設定的門檻時,就自動發出通知。
操作步驟:
快訊 (Alerting),然後點擊 +建立政策 (+Create Policy)。選取指標 (Select a metric) 下拉選單,取消勾選 啟用中 (Active)。Network traffic,然後選擇 VM instance > Interface > Network traffic,點擊 套用 (Apply)。下一步 (Next)。高於閾值 (Above threshold)
500
1 分鐘
下一步 (Next)。通知管道 (Notification Channels) 旁邊的下拉箭頭,選擇 管理通知管道 (Manage Notification Channels)。電子郵件 (Email) 並點擊 新增 (ADD NEW)。通知管道 (可能需要點擊旁邊的重新整理圖示),選擇剛剛建立的 Email 通知。Inbound Traffic Alert。下一步 (Next),然後 建立政策 (Create Policy)。指標 (Metric) vs. 閾值 (Threshold)
- 指標 (Metric):是一個可量化的數值,用來描述系統的某個狀態。例如:CPU 使用率、記憶體用量、網路流量 (bytes/sec) 等。
- 閾值 (Threshold):是設定的一個臨界值。
- 政策 (Policy):就是一個完整的規則,例如:「如果 (IF)
網路流量這個指標,在1 分鐘內持續高於 (Above)500這個閾值,那麼 (THEN) 就透過
這個任務的目標是建立一個客製化的儀表板,將要關心的監控指標用圖表的方式集中呈現,方便一目了然。
操作步驟:
資訊主頁 (Dashboards),然後點擊 +建立自訂資訊主頁。Cloud Monitoring LAMP Qwik Start Dashboard。+新增小工具 (+ ADD WIDGET)。折線圖 (Line)。CPU Load。選取指標 中,搜尋 CPU load (1m),並選擇 VM instance > Cpu > CPU load (1m),然後套用。+新增小工具,選擇 折線圖。Received Packets。選取指標 中,搜尋 Received packets,並選擇 VM instance > Instance > Received packets,然後套用。這個任務的目標是查看由 VM 產生的詳細事件記錄,並觀察開關機時日誌的變化。
操作步驟:
導覽選單 > 記錄 > 記錄瀏覽器 (Logs Explorer)。VM Instance > lamp-1-vm,然後點擊 套用 (Apply)。就可以看到這台 VM 的相關日誌。
觀察開關機的變化:
Compute Engine > VM 執行個體 頁面。lamp-1-vm 右邊的三個點,選擇 停止 (Stop)。
啟動/繼續 (Start/resume)。
指標 (Metrics) vs. 日誌 (Logs) - 核心差異
這兩者是監控系統的兩大支柱:
- 指標 (Metrics):是數字,通常是聚合性的數據(例如:過去一分鐘的平均 CPU 使用率)。它們適合用來觀察趨勢和設定快訊。指標告訴「發生了什麼事」(例如:CPU 飆高了)。
- 比喻:汽車儀表板上的時速表、轉速表、油量表。
- 日誌 (Logs):是文字,記錄了單一、帶有時間戳的事件(例如:「使用者登入失敗」、「資料庫連線逾時」)。它們適合用來除錯和追查問題的根本原因。日誌告訴「為什麼會發生這件事」。
- 比喻:飛機的黑盒子,記錄了詳細的操作和事件序列。
最後一個任務是驗證前面設定的監控和快訊是否正常運作。
操作步驟:
執行時間檢查 (Uptime checks)。Lamp Uptime Check 的狀態。因為剛剛重啟了 VM,全球各地的檢查點可能需要幾分鐘才會全部變回成功(綠色)。快訊 (Alerting)。如果之前有任何指標超過閾值,會在這裡看到相關的事件 (incidents)。
gmail: