Knative中可以通過Log Service收集日誌資訊,同時可以根據日誌資訊,在Log Service中快速方便的設定監控警示。
前提條件
已建立ACK託管叢集。具體操作,請參見建立Kubernetes託管版叢集。
已為叢集部署Knative。具體操作,請參見在ACK叢集中部署Knative。
已部署Knative Service服務。具體操作,請參見快速部署Serverless應用。
操作步驟
部署一個名稱為
helloworld-go
的Knative服務。具體操作,請參見快速部署Serverless應用。為服務接入日誌採集。具體操作,請參見步驟二:為服務接入日誌採集。
設定查詢分析。
請參見分析概述。
登入Log Service管理主控台,單擊目標Project名稱,在日誌庫頁簽的Logstore列表中,可以看到已建立的Logstore。
單擊目標Logstore名稱。
輸入命令並單擊查詢/分析。
例如,如果您想根據ERROR出現的次數進行監控,可以使用以下的SQL語句來統計ERROR的數量:
* | select 'ERROR' , count(1) as total group by 'ERROR'
這條SQL語句會篩選出所有包含ERROR欄位的記錄,並統計其數量,然後按照ERROR進行分組。
警示設定。
在Project列表地區,單擊目標Project。
在控制台左側,單擊日誌儲存,在日誌庫列表中單擊目標Logstore。
在查詢和分析頁面,單擊表徵圖。
在警示監控規則面板,配置警示規則。
關於如何配置警示規則,請參見建立日誌警示監控規則。
設定警示通知策略。
關於如何設定警示通知策略,請參見快速設定日誌警示。
執行如下命令,訪問helloworld-go服務。
此時會觸發警示通知。
curl -H "Host: helloworld-go.default.example.com" http://<網關IP> # 網關IP和網域名稱請以您的實際資料為準。
預期輸出:
Hello Knative!
如果是設定的郵件通知,警示資訊如下圖所示。
總結
通過結合Log Service的監控警示方式,在Knative中可以監控到部署應用的異常狀態並及時通知給營運、開發人員進行處理,保證服務持續運行。