用 CloudWatch 看懂 AWS 系統狀態、效能與費用
一、CloudWatch 是什麼?
CloudWatch 是 AWS 的監控服務,可以幫你收集各種 AWS 服務的監控數據, 例如 EC2 CPU、網路流量、EBS 磁碟讀寫、S3 容量、請求數,以及 AWS 預估費用。
簡單說:CloudWatch Metrics 負責收集數據,CloudWatch Alarms 負責根據數據發出警告或觸發動作。
二、CloudWatch Metrics 重點
Metric 就是一個可以被監控的指標。每個 Metric 都會隨著時間產生資料, 所以可以拿來看趨勢、找異常、判斷是否需要擴充資源。
| 監控對象 | 常見 Metrics | 用途 |
|---|---|---|
| EC2 | CPUUtilization | 查看 CPU 使用率,判斷主機是否過忙 |
| EC2 | NetworkIn / NetworkOut | 查看進出 EC2 的網路流量 |
| EC2 | Status Check | 確認 EC2 是否正常運作 |
| EBS | Disk Read / Disk Write | 查看磁碟讀寫量 |
| S3 | Bucket Size | 查看 Bucket 使用容量 |
| S3 | Number of Objects | 查看 Bucket 內物件數量 |
| S3 | Requests | 查看 S3 請求次數 |
| Billing | Estimated Charges | 查看 AWS 帳號預估費用 |
注意:EC2 預設不會提供 RAM 記憶體使用率。如果要監控 RAM 或 Disk Used,
需要安裝 CloudWatch Agent。
三、EC2 監控頻率
| 模式 | 收集頻率 | 說明 |
|---|---|---|
| Basic Monitoring | 每 5 分鐘一次 | EC2 預設監控方式 |
| Detailed Monitoring | 每 1 分鐘一次 | 更即時,但費用較高 |
四、CloudWatch Dashboard
CloudWatch Dashboard 就是 AWS 的監控儀表板。 你可以把 EC2、EBS、S3、Billing 等 Metrics 集中放在同一個畫面, 方便一次查看整體系統狀態。
CPU Network Disk I/O S3 Requests Billing
五、CloudWatch Alarms 是什麼?
Alarm 是告警規則。當某個 Metric 超過你設定的門檻時, CloudWatch 就可以發送通知或觸發動作。
| 情境 | Alarm 可以做什麼 |
|---|---|
| EC2 CPU 超過 90% | 發送 Email 通知管理員 |
| EC2 長時間高負載 | 觸發 Auto Scaling 增加 EC2 |
| EC2 負載過低 | 觸發 Auto Scaling 減少 EC2 |
| EC2 狀態異常 | Stop、Reboot、Recover 或 Terminate EC2 |
| AWS 費用超過門檻 | 發送 Billing Alarm 通知 |
六、Alarm 三種狀態
| 狀態 | 意思 |
|---|---|
| OK | 目前正常,沒有超過門檻 |
| ALARM | 已經超過門檻,正在告警 |
| INSUFFICIENT_DATA | 資料不足,暫時無法判斷狀態 |
七、整體流程圖
AWS 服務產生 Metrics
↓
CloudWatch 收集監控指標
↓
Dashboard 顯示趨勢
↓
Alarm 判斷是否超過門檻
↓
SNS 通知 / Auto Scaling / EC2 Action
八、用 DBA / 維運角度理解
| Zabbix 概念 | CloudWatch 對應 |
|---|---|
| Item | Metric |
| Trigger | Alarm |
| Dashboard | CloudWatch Dashboard |
| Action / Notification | SNS / Alarm Action |
| 自訂監控腳本 | Custom Metrics / CloudWatch Agent |
簡單記:Metric 是數據,Dashboard 是畫面,Alarm 是告警,SNS 是通知。
沒有留言:
張貼留言