在 Azure Kubernetes Service 中監視
Kubernetes 中的內建記錄是基本的。 不過,有一些絕佳的選項可將記錄從 Kubernetes 取出,並放入可以正確分析的位置。 如果您需要監視 AKS 叢集,為 Kubernetes 設定彈性堆疊是絕佳的解決方案。
適用於容器的 Azure 監視器
適用於容器的 Azure 監視器不僅支援取用 Kubernetes 中的記錄,也支援取用 DC/OS、Docker Swarm 和 Red Hat OpenShift 等其他協調流程引擎中的記錄。
圖 7-10。 從各種容器取用記錄
Prometheus 是一種常用的開放原始碼計量監視解決方案。 其為雲端原生運算基金會的一部分。 一般而言,使用 Prometheus 需要使用自己的存放區來管理 Prometheus 伺服器。 不過,適用於容器的 Azure 監視器可與 Prometheus 計量端點直接整合,因此不需要個別的伺服器。
系統不僅會從叢集中執行的容器收集記錄和計量資訊,也會從叢集主機本身收集。 其允許將來自兩者的記錄資訊相互關聯,讓您更輕鬆地追蹤錯誤。
在 Windows 和 Linux 叢集上安裝記錄收集器的方式不同。 但是在這兩種情況下,都會將記錄收集實作為 Kubernetes DaemonSet,這表示記錄收集器在每個節點上是以容器的形式執行。
無論是哪個協調器或作業系統執行 Azure 監視器精靈,記錄資訊都會轉送到使用者熟悉的相同 Azure 監視器工具。 此方法可確保在混合不同記錄來源的環境 (例如混合式 Kubernetes/Azure Functions 環境) 中獲得平行體驗。
圖 7-11。 顯示來自多個執行中容器之記錄和計量資訊的範例儀表板。
Log.Finalize()
記錄是大規模部署任何應用程式時,其中一個最容易被忽視但最重要的部分。 隨著應用程式大小和複雜度的增加,應用程式偵錯的困難度也會增加。 擁有最高品質的記錄可讓您更輕鬆地進行偵錯,並將其從「幾乎不可能」領域轉變成「令人滿意的體驗」。