0

我有一個應用程序位於Azure中的多個區域。最近客戶抱怨性能下降。我們懷疑問題出在Azure區域之一,我試圖從AppInsight中查看分析,並且我可以查看請求列cloud_RoleInstance。有沒有辦法從這個列或任何其他默認列中派生區域?Application Insight Request Region

回答

0

您可以在Google Analytics中使用client_CountryOrRegionclient_City列。 例如,運行下面的查詢將讓你每個區域的請求量:

requests 
| project client_CountryOrRegion, client_City 
| summarize count() by client_CountryOrRegion, client_City 

請注意,這些列中包含該地區的縣,市,所以你需要手動將其轉換成特定的地區。您可以使用Azure regions page在城市/國家和數據中心之間進行轉換。例如,弗吉尼亞州的Boydton是美國東部,德克薩斯州的San Antonio是美國南部的中部。

希望這有助於

阿薩夫

+1

這將只給客戶端位置,如果我有一個AppService託管在eastus,westus和美國中南部,我如何確定客戶端連接到哪裏? –

0

根據你的描述,我認爲你的應用程序部署到屬於特定的數據中心(如美國東部,美國西部,中南部多個Azure的Web應用程序美國等)。您利用Azure Traffic Manager將請求分發到最近的數據中心,以獲得最低的延遲。這裏是我的測試,你可以參考一下吧:

我創建了一個流量管理器,並增加了兩個點:

1)命名Bruce-Chen-001的Web應用程序這是在East Asia

2)Web應用程序託管命名爲Bruce-Chen-003這是在West US

主持通過訪問我的流量管理器的DNS名稱,並直接browsering特定的Web應用程序,我可以得到應用的見解請求數據如下:

據我所知,列名爲cloud_RoleInstance指示哪個您的應用程序運行在主機的身份。根據相關的url列,您可以嘗試手動將cloud_RoleInstance轉換爲特定區域。

+0

謝謝,我的問題是URL列只有流量管理器URL。當你要去交通管理員時,你的第二排是擊中RD0000155x,在那裏你可以說它正在擊中西美,我可以從你的第一排弄出來。 Azure使用哪種模式,我可以說RD0000155x是west-us,RD0000D3X是東亞?你有名單:) –

+0

由於這篇文章(https://azure.microsoft.com/en-us/documentation/articles/app-insights-performance-counters/)提到名爲'cloud_RoleInstance'的列表示運行您的應用的主機服務器實例的身份。而且有太多託管服務器實例用於託管數據中心中的應用程序。對於解決方法,我假定您需要手動將'cloud_RoleInstance'轉換爲請求數據中的特定數據中心。 –

+0

我將如何手動轉換,您的意思是進入appservice找出哪個實例託管服務並將其手動映射到區域。但是這隻顯示當前的實例名稱,我如何轉換過去的所有實例。如果我做了這樣的獨特的話,我會得到105條記錄總結count()by cloud_RoleInstance' –