Day 22 ECS logging
Laravel 有 log 記錄各種錯誤、發生的事情以及開發、debug 需要的訊息,這些 log 在 Laravel 執行在 container 內後都存在 container 內。如果執行在 AWS 的 Laravel 需要 log 資訊來 debug,在開著多台 container 的情況下要連進 container 找到出錯的 log 相當費時費力,而且 container 可能因為 deploy 等因素被關閉,寶貴的 log 可能就這麼隨風而逝……所以我們希望把 log 放在一個比較好查詢及保存的地方,在 AWS 裡就是使用 CloudWatch 這個服務。(本日程式碼)
CloudWatch 是 AWS 提供監控功能的服務,可以收集 log、監控各種服務與系統狀況以及在某些條件下做一些反應。今天要使用收集 log 的部分,我們會收集 container 執行的 log 以及 Laravel application 層的 log。
CloudWatch 收集、儲存 log 的地方稱為 log group,每個 log group 裡會有一到多個 log stream,每個 log stream 分別來自不同來源,像是不同 EC2 instance。