天天看點

【Azure 應用程式見解】通過Azure Funciton的門戶啟用Application Insights後,Application Insights無法收到監控資料

問題描述

比較早期建立的Azure Funciton服務,近期發現在門戶中已經啟用了Application Insights功能,但是正确配置Applicaiton Insights後,卻無法擷取關聯的Azure Function的監控資料?

問題分析

到目前為止,Azure Function已經經曆了三個版本的發展,可以通過 FUNCTIONS_EXTENSION_VERSION 檢視目前Azure Funciton的版本:

【Azure 應用程式見解】通過Azure Funciton的門戶啟用Application Insights後,Application Insights無法收到監控資料

從官方的文檔中,發現Application Insights已經在 Function V1.x, V2.x及V3.x的版本支援了。但是經過實測,V2.x, V3.x都能成功發送監控資料到Application Insights中,而最早的V1.x版本卻無法發送監控資料。這與本文問題比對。

最後經過咨詢确認, 在中國區Function V1.X的內建除了要在門戶中配置Applcation Insights外,還需要再Funciton的host.json中的applicationInsights一節修改endpoint并指向中國區的終結點:

【Azure 應用程式見解】通過Azure Funciton的門戶啟用Application Insights後,Application Insights無法收到監控資料

Function host.json示例内容:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 2.0.0)"
  },
  "applicationInsights": {
    "ingestionEndpoint": "https://dc.applicationinsights.azure.cn/v2/track",
    "liveEndpoint": "https://live.applicationinsights.azure.cn/QuickPulseService.svc"
  }
}      

問題解決

1) Azure Function 頁面中啟用Application Insights

【Azure 應用程式見解】通過Azure Funciton的門戶啟用Application Insights後,Application Insights無法收到監控資料

2) 修改Funciton的host.json檔案,添加applicationInsights,ingestionEndpoint和liveEndpoint

【Azure 應用程式見解】通過Azure Funciton的門戶啟用Application Insights後,Application Insights無法收到監控資料

參考資料

如何為 Azure Functions 配置監視: https://docs.azure.cn/zh-cn/azure-functions/configure-monitoring?tabs=v1

Azure Functions 運作時版本概述: https://docs.azure.cn/zh-cn/azure-functions/functions-versions

Application Insights Regions that require endpoint modification: https://docs.microsoft.com/en-us/azure/azure-monitor/app/custom-endpoints?tabs=net#regions-that-require-endpoint-modification

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!

繼續閱讀