Amazon CloudWatch Logs 重點整理
CloudWatch Logs 是 AWS 用來集中收集與管理 Log 的服務。 它可以幫你把不同服務、不同主機的 Log 集中到同一個地方,方便查錯、監控與分析。
一、什麼是 Log?
Log 就是系統或應用程式留下的文字紀錄。 例如使用者做了什麼操作、程式執行了什麼流程、是否發生錯誤、是否完成清理工作等。
白話說:Log 就是系統的日記。出問題時,工程師會看 Log 來追查原因。
二、CloudWatch Logs 可以收集哪些來源?
| 來源 | 說明 |
|---|---|
| Elastic Beanstalk | 收集應用程式平台產生的 Log。 |
| ECS | 收集 Container 應用程式的 Log。 |
| Lambda | 收集 Lambda function 執行時產生的 Log。 |
| CloudTrail | 收集 AWS API 活動紀錄。 |
| EC2 | 需要安裝 CloudWatch Logs Agent,才能把主機 Log 傳到 CloudWatch Logs。 |
| On-Premises Server | 公司內部主機也可以安裝 Agent,把 Log 傳到 AWS。 |
| Route 53 | 可收集 DNS Query Logs。 |
三、CloudWatch Logs 的主要用途
| 用途 | 口語化說明 |
|---|---|
| 集中管理 Log | 不用登入每台主機看 Log,全部集中到 CloudWatch Logs。 |
| 問題排查 | 應用程式出錯時,可以查 Log 找原因。 |
| 即時監控 | 可以即時觀察 Log 是否出現錯誤訊息。 |
| 自動反應 | 可以搭配 Alarm、SNS、EventBridge 做通知或自動處理。 |
| 保存期限管理 | 可以設定 Log 保留 7 天、30 天、1 年或永久。 |
四、EC2 如何把 Log 傳到 CloudWatch Logs?
EC2 預設不會自動把 Log 傳到 CloudWatch Logs。 如果你要收集 EC2 裡面的系統 Log 或應用程式 Log,需要安裝 CloudWatch Logs Agent。
Step 1
EC2 上產生系統 Log 或應用程式 Log
Step 2
在 EC2 安裝 CloudWatch Logs Agent
Step 3
設定 Agent 要收集哪些 Log 檔案
Step 4
EC2 需要有正確 IAM Role 權限
Step 5
Agent 將 Log 推送到 CloudWatch Logs
五、Log 保存時間 Retention
CloudWatch Logs 可以設定保存時間,避免 Log 永久累積造成成本增加。
- 只保存 7 天
- 保存 30 天
- 保存 1 年
- 永久保存
實務建議:正式環境 Log 不要全部永久保存,應依照稽核需求與成本規劃 Retention Period。
六、快速總結
| 問題 | 答案 |
|---|---|
| CloudWatch Logs 是什麼? | AWS 的集中式 Log 管理服務。 |
| EC2 會自動送 Log 嗎? | 不會,需要安裝 CloudWatch Logs Agent。 |
| On-Premises 可以收 Log 嗎? | 可以,Agent 也能安裝在公司內部主機。 |
| EC2 傳 Log 還需要什麼? | 需要正確的 IAM Role 權限。 |
| Log 可以保存多久? | 可自訂,例如 7 天、30 天、1 年或永久。 |
一句話總結:CloudWatch Logs 負責集中收集 Log;EC2 和內部主機通常要靠 Agent;Log 保存時間要記得設定,避免成本持續增加。
沒有留言:
張貼留言