教學目標

學習 Google Cloud Platform 的心得分享,初步了解有關 Stackdriver 雲端服務的重點概念。

重點概念

首先企業在導入雲端服務的過程中,通常會發生例外情況,此時我們就能夠透過 Stackdriver 雲端服務匯整基本架構的指標、記錄和事件資料,以利開發人員與維運人員能夠透過豐富的視覺化呈現和快訊功能在最短時間內找出問題,並且針對事件做出回應除了能夠整合 PargerDuty 和 Slack 等常用的服務之外,更有內建監控、記錄、追蹤、偵錯、錯誤回報和分析等多種功能。此外 Google Cloud 有開發 Cloud Console 行動應用程式能夠讓我們僅使用 iOS 和 Android 裝置就能夠監控和管理雲端資源,像是專案、帳單、應用程式、虛擬機器等多項資源,更進一步我們能夠在 Stackdriver 中設定通知管道,像是 E-mail、SMS、PagerDuty、Slack、Webhook 和 Cloud Mobile App 等資源,當我們設定 Cloud Mobile 行動應用程式為通知管道就能夠當 Google Cloud 中的應用程式發生問題時就能夠立即收到快速,並且立即進行處理,所以能夠快速將問題分類,並且請團隊中適當的成員協助解決。

接著使用 Stackdriver 相關服務的計價方式主要是以用多少就付多少為主,所以我們能夠自行掌控使用量與費用成本,其中目前能夠免費使用的產品為 Stackdriver Debugger 和 Stackdriver Profiler,需要付費使用的產品為 Stackdriver Logging、Stackdriver Monitoring、Stackdriver Trace 和 Stackdriver Error Reporting。其中針對 Stackdriver Logging 主要是根據各項 Google Cloud 專案配額和用量會分開計費,計費時主要會評估 Logging 或其他 Google Cloud 服務實際載入及處理的記錄檔資料量,每個專案前 50GB 為免費額度,並且專案必須具備有效的帳單帳戶,則每個月的擷取量才能夠超過每月免費記錄檔配額,針對 StackdriverMonitoring 主要是根據資料量和 API 呼叫計費,每個帳單帳戶前 150MB 為免費額度和 API 呼叫前 100 萬次為免費額度,針對 Stackdriver Tracing 主要是根據擷取和時距掃描計費,擷取前 250 萬個時距和時距掃描前 2,500 萬個時距,以及針對 Stackdriver Error Reporting 主要是當擷取到錯誤之後,才會產生少許的費用。更進一步我們能夠透過 Cloud Billing 中的報表頁面和 Logging、Monitoring 與 Trace 的主控台中皆會顯示目前的資源使用量,當然我們也能夠依據目前的資料使用量進行合理的帳號費用估算,此外透過建立快訊政策來監控 Stackdriver 使用量,當資源使用量快達到收費門檻時接收快訊通知。

再來使用 Stackdriver Logging 查看資源使用量,在主控台畫面中主要會顯示上個月、這個月和預測擷取的記錄檔量,以及排除記錄檔量,請注意 Stackdriver Logging 主要是評估記錄或其它 Google Cloud 服務實際載入及處理的記錄檔資料量,而不是儲存資料量的大小,但是我們還是能夠透過記錄排除的功能,讓記錄檢視器僅會顯示符合特定篩選條件的訊息,而不符合篩選條件的記錄就會被排除。更進一步再進行排除記錄之前,我們能夠透過記錄匯出的功能,在被判斷是否排除之前將記錄匯出至一個或多個匯出接收器 (Sink) 來匯出記錄,其中接收器包括記錄檔篩選器和匯出目標位置,當 Stackdriver Logging 接收到新記錄時,將會與每個接收器進行比較,如果符合接收器所設定的篩選條件就會在匯出目標位置寫入一份記錄複本。更進一步 Stackdriver Logging 記錄匯出的功能目前支援 Cloud Storage、Cloud Pub/Sub 和 BigQuery 匯出目標位置,如果需要將記錄用於合規需求,則建議使用 Cloud Storage,需要將記錄用於系統整合,則建議使用 Cloud Storage,需要將記用於應用分析,則建議使用 BigQuery,請注意雖然能夠直停用不同資源的記錄擷取,但是不建議停用,避免當發生問題時,無法透過記錄找到根因。

最後使用 Stackdriver Logging 主要也會有配額和限制,像是匯出接收器每個專案 200 個,排除查詢每個專案 50 個,以及記錄針對不同類型會有不同的保留期限,主要有五大類型的記錄,分別為管理員活動稽核記錄、資料存取稽核記錄、系統事件稽核記錄、資料存取透明化控管機制記錄和非稽核和控管記錄,其中資料存取稽核記錄和非稽核和控管記錄主要保留 30 天,而管理員稽核記錄、系統事件稽核記錄和資料存取透明化控管機制記錄主要保留 400 天。請注意有關 Stackdriver Logging 的記錄保留期限是無法進行更改,但是稽核記錄若要符合法規的要求,則最佳實務的設計模式為將 Stackdriver Logging 中的稽核記錄匯入至 Cloud Storage 中,並且設定物件生命週期管理,主要根據需求將物件依照已儲存天數,分別設定為 Nearline 或 Coldline 的物件儲存類型或刪除稽核記錄的物件。

總結我們能夠透過 Google Cloud 中的 Stackdriver 雲端服務匯整基本架構的指標、記錄和事件資料,讓開發人員與維運人員能夠透過豐富的視覺化呈現和快訊功能在最短時間內找出問題,同時符合法規和稽核的要求。

相關資源