共用方式為


在 Azure Kubernetes Services 中監視

小提示

此內容摘錄自適用於 Azure 的電子書《架構雲端原生 .NET 應用程式》,該書可在 .NET Docs 上閱讀,或以 PDF 格式免費下載並離線閱讀。

Azure 電子書的雲端原生 .NET 應用程式封面縮圖。

Kubernetes 中的內建記錄功能十分原始。 不過,有一些絕佳的選項可將記錄從 Kubernetes 中轉移,以便進行正確分析。 如果您需要監視 AKS 叢集,設定 Kubernetes 的彈性堆疊是絕佳的解決方案。

適用於容器的 Azure 監視器

適用於容器的 Azure 監視器 不僅支援取用 Kubernetes 的記錄,也支持取用其他協調流程引擎的記錄,例如 DC/OS、Docker Swarm 和 Red Hat OpenShift。

從各種容器取用日誌 圖 7-10。 從各種容器取用記錄

Prometheus 是熱門的開放原始碼計量監視解決方案。 它是雲端原生計算基礎的一部分。 一般而言,使用 Prometheus 需要管理一個具有自有存儲的 Prometheus 伺服器。 不過, 適用於容器的 Azure 監視器會提供與 Prometheus 計量端點的直接整合,因此不需要個別的伺服器。

記錄和計量信息不僅會從叢集中執行的容器收集,也會從叢集主機本身收集。 它允許將兩者的記錄資訊相互關聯,以便更輕鬆地追蹤錯誤。

WindowsLinux 叢集上安裝記錄收集器會有所不同。 但在這兩種情況下,記錄收集都會實作為 Kubernetes DaemonSet,這表示記錄收集器會在每個節點上以容器的形式執行。

無論哪個協調器或作系統執行 Azure 監視器精靈,記錄資訊會轉送至使用者熟悉的相同 Azure 監視器工具。 此方法可確保在不同記錄來源的混合環境中,提供相同的體驗,例如混合式 Kubernetes/Azure Functions 環境。

範例儀錶板,顯示許多運行中容器的記錄和度量資訊。 圖 7-11。 顯示許多正在運行容器之記錄和度量資訊的範例儀表板。

Log.Finalize()

記錄是大規模部署任何應用程式的最忽略但最重要的部分之一。 隨著應用程式的大小和複雜度增加,因此難以進行偵錯。 擁有高品質的記錄可讓偵錯變得更容易,並將它從「幾乎不可能」的領域移至「令人愉快的體驗」。