身為雲端學習者,如果你還沒接觸過可觀測性(Observability)概念,這個 lab 是絕佳的起點!從基礎的代理程式安裝到進階的警報設定,每個步驟都讓你看到監控如何改變系統維護的方式。

GSP089 - Cloud Monitoring: Qwik Start

▋什麼是 Cloud Monitoring?

Cloud Monitoring 是 Google Cloud 統一的可觀測性平台,提供完整的應用程式效能、正常運行時間和健康狀況監控。
它能從 GCP、AWS 等多個來源收集指標、事件和中繼資料,通過儀表板、圖表和智慧警報幫助我們掌握系統狀態,還支援與 Slack、PagerDuty 等工具整合,大大提升 DevOps 效率。

主要特色包括:

➊ 統一指標收集:從 Compute Engine 到第三方應用程式,支援 Cassandra、Nginx、Apache 等常見元件
➋ 智慧警報系統:可設定自訂閾值,自動觸發通知並與外部工具整合
➌ 視覺化儀表板:自訂圖表和儀表板,直觀展示系統效能指標
➍ 日誌整合:與 Cloud Logging 緊密整合,提供完整的可觀測性解決方案
➎ 正常運行時間檢查:驗證資源可用性,確保服務持續運行
➏ 代理程式架構:輕量級代理程式收集系統和應用程式指標

▋在 GSP089 中實作:

➊ 設定區域和區域:配置 Compute Engine 資源的地理位置
➋ 創建 VM 實例:建立帶有 Apache2 的 LAMP 環境
➌ 安裝監控代理程式:部署 Cloud Monitoring 和 Logging 代理程式
➍ 設定正常運行時間檢查:驗證 VM 實例的可用性
➎ 建立警報政策:配置網路流量監控和通知規則
➏ 創建自訂儀表板:設計 CPU 負載和網路封包圖表

𝕂𝕖𝕖𝕡 𝕝𝕖𝕒𝕣𝕟𝕚𝕟𝕘. 𝕂𝕖𝕖𝕡 𝕙𝕒𝕔𝕜𝕚𝕟𝕘!

實作影片:

指令整理:

環境初始化

此部分設定 GCP 專案的基礎環境變數。這些變數在後續指令中被引用,確保所有操作都在正確的專案、區域、實例上執行。

export ZONE=$(gcloud config get compute/zone)
export REGION=$(gcloud config get compute/region)

基礎架構部署

Compute Engine 實例是整個監控架構的基礎。這裡我們建立一個配置完整的 VM,用於後續的監控實作。

# 建立 LAMP 環境的 VM 實例
# --machine-type e2-medium 提供適當的運算資源
# --image-family debian-12 選擇穩定且支援的作業系統
gcloud compute instances create lamp-1-vm \
  --machine-type e2-medium \
  --image-family debian-12 \
  --zone $ZONE \
  --tags http-server

常見坑點:記得設定 --tags http-server 以允許 HTTP 流量通過防火牆
概念連結:這個 VM 實例將成為後續監控代理程式和應用程式部署的目標

應用程式環境建置

在 VM 上安裝 Apache 和 PHP,建立基本的 Web 服務環境。這是為了後續監控應用程式效能做準備。

# 更新套件管理員並安裝 Apache 和 PHP
sudo apt-get update
sudo apt-get install apache2 php7.0

# 重新啟動服務確保配置生效
sudo service apache2 restart

常見坑點:如果 php7.0 安裝失敗,可改用 php 或 php5
概念連結:Web 服務的運行狀態將成為我們監控的關鍵指標

監控代理程式安裝

這是 Cloud Monitoring 的核心 - 代理程式負責收集系統和應用程式指標。這個步驟讓我們的 VM 成為可觀測的資源。

# 下載並執行 Google Cloud Operations 代理程式安裝腳本
# --also-install 參數會自動安裝並啟動代理程式
curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

# 檢查代理程式狀態,確保正常運行
sudo systemctl status google-cloud-ops-agent"*"

常見坑點:安裝過程中如果出現權限問題,請確認使用 sudo
概念連結:代理程式收集的指標將在 Cloud Monitoring 主控台中顯示,並用於建立儀表板和警報

監控配置與驗證

整合所有元件,建立完整的監控解決方案。這包括正常運行時間檢查、警報政策和自訂儀表板。

# 檢查外部 IP 地址,用於正常運行時間檢查配置
# 這個 IP 將用於設定 HTTP 健康檢查
gcloud compute instances describe lamp-1-vm \
  --zone $ZONE \
  --format="get(networkInterfaces[0].accessConfigs[0].natIP)"

常見坑點:確保防火牆規則允許 HTTP 流量 (tcp:80)
概念連結:從代理程式收集的資料,到儀表板視覺化,再到警報通知,形成完整可觀測性閉環

Google Cloud AI Study Jam 2025 學習系列 14