共用方式為


在 Azure Kubernetes Service 中監視

提示

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

Cloud Native .NET apps for Azure eBook cover thumbnail.

Kubernetes 中的內建記錄是基本的。 不過,有一些絕佳的選項可將記錄從 Kubernetes 取出,並放入可以正確分析的位置。 如果您需要監視 AKS 叢集,為 Kubernetes 設定彈性堆疊是絕佳的解決方案。

適用於容器的 Azure 監視器

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

Consuming logs from various containers圖 7-10。 從各種容器取用記錄

Prometheus 是一種常用的開放原始碼計量監視解決方案。 其為雲端原生運算基金會的一部分。 一般而言,使用 Prometheus 需要使用自己的存放區來管理 Prometheus 伺服器。 不過,適用於容器的 Azure 監視器可與 Prometheus 計量端點直接整合,因此不需要個別的伺服器。

系統不僅會從叢集中執行的容器收集記錄和計量資訊,也會從叢集主機本身收集。 其允許將來自兩者的記錄資訊相互關聯,讓您更輕鬆地追蹤錯誤。

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

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

A sample dashboard showing logging and metric information from a number of running containers.圖 7-11。 顯示來自多個執行中容器之記錄和計量資訊的範例儀表板。

Log.Finalize()

記錄是大規模部署任何應用程式時,其中一個最容易被忽視但最重要的部分。 隨著應用程式大小和複雜度的增加,應用程式偵錯的困難度也會增加。 擁有最高品質的記錄可讓您更輕鬆地進行偵錯,並將其從「幾乎不可能」領域轉變成「令人滿意的體驗」。