本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
App Mesh 疑難排解最佳做法
建議您遵循本主題中的最佳做法,以疑難排解使用 App Mesh 時的問題。
啟用特使代理管理介面
Envoy Proxy 隨附一個管理介面,您可以使用該介面探索設定和統計資料,以及執行其他管理功能,例如連線排空。如需詳細資訊,請參閱 Envoy 文件中的管理介面
如果您使用受管理特使形象,則依預設會在連接埠 9901 上啟用管理端點。中提供的範例會將管理端點 URL 範例App Mesh 設定疑顯示為http://my-app.default.svc.cluster.local:9901/
。
注意
管理端點絕對不應暴露在公用網際網路上。此外,我們建議監視管理端點記錄,這些記錄檔由ENVOY_ADMIN_ACCESS_LOG_FILE
環境變數預設設定為/tmp/envoy_admin_access.log
。
為量度卸載啟用特使 DogStats D 整合
Envoy Proxy 可設定為卸載 OSI 第 4 層和第 7 層流量的統計資料,以及內部處理序健全狀況。本主題說明如何使用這些統計資料,而不卸載指標以接收量度 (例如 CloudWatch 指標和 Prometheus),但將這些統計資料放在所有應用程式的集中位置,可協助您更快速診斷問題並確認行為。如需詳細資訊,請參閱使用 Amazon CloudWatch 指標和 Promethe
您可以透過設定中定義的參數來設定 DogStats D 度量DogStatsD 型變數。如需 DogStats D 的詳細資訊,請參閱 DogStatsD
啟用存取日誌
我們建議您在和上啟用存取記錄虛擬節點,虛擬閘道以探索應用程式之間傳輸流量的詳細資料。如需詳細資訊,請參閱 Envoy 文件中的存取記錄
parse @message "[*] \"* * *\" * * * * * * * * * * *" as StartTime, Method, Path, Protocol, ResponseCode, ResponseFlags, BytesReceived, BytesSent, DurationMillis, UpstreamServiceTimeMillis, ForwardedFor, UserAgent, RequestId, Authority, UpstreamHost
在生產前環境中啟用 Envoy 偵錯記錄
我們建議將 Envoy 代理的日誌級別設置為debug
在生產前環境中。偵錯記錄可協助您識別問題,然後再將相關的 App Mesh 組態轉移到生產環境。
如果您使用的是 Envoy 映像檔,則可以debug
透過ENVOY_LOG_LEVEL
環境變數將記錄層級設定為。
注意
我們不建議在生產環境中使用該debug
級別。將層級設定為debug
增加記錄,並可能影響效能和卸載至記錄檔等解決方案的整體記CloudWatch 錄成本。
當您使用 Envoy 的預設格式時,您可以使用下列剖析陳述式,利用CloudWatch 日誌深入分析分析程序記錄:
parse @message "[*][*][*][*] [*] *" as Time, Thread, Level, Name, Source, Message
使 App Mesh 控制平面監控特使代理連線
我們建議您監視 Envoy 指標,control_plane.connected_state
以確保 Envoy 代理與 App Mesh 控制平面進行通信,以獲取動態配置資源。如需詳細資訊,請參閱管理伺服器