簡體   English   中英

Application Insights - 沒有“進程 CPU”的數據

[英]Application Insights - No data for 'process cpu'

我正在為 WCF 項目設置應用程序洞察。 我遇到的問題是我似乎無法讓它報告進程 cpu、可用內存等。圖表只是說沒有數據。

我有

<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector">

包含在我的 applicationinsights.config 文件中,正如我在另一篇文章中看到的那樣,這是必需的,但這似乎沒有對其進行排序。

有誰知道我是否需要在我的項目中添加任何其他內容才能使其正常工作? 我假設默認情況下會收集這些信息。

我遇到了非常相似的問題。 獲取有關應用程序洞察的所有其他數據,但沒有服務器數據,例如平均進程 CPU、可用內存、進程 IO 率等。

我發現在服務器上,我在應用程序池下運行的應用程序沒有足夠的權限來收集性能數據。(您可以在 Application Insights Status Monitor Preview 中查看,通常如果您有權限問題,會出現警告消息關於它)

做這兩個步驟:

  1. 在 IIS 管理器中,選擇您的應用程序池,打開高級設置,然后在進程模型下記下標識。
  2. 在計算機管理控制面板中,將此標識添加到性能監視器用戶組。

一旦應用程序池有足夠的權限來收集性能數據。 服務器的所有數據都顯示在洞察力上。

https://azure.microsoft.com/en-us/documentation/articles/app-insights-monitor-performance-live-website-now/

因為您說您將性能計數器模塊手動添加到配置文件中,所以我假設您沒有使用應該自動添加此模塊的Web SDK nuget包。 如果是這樣,您需要在代碼中配置它而不是創建配置文件。 您需要在代碼中創建此模塊並設置檢測密鑰。

TelemetryConfiguration.Active.InstrumentationKey = "Foo";
this.perfCounterCollectorModule = new PerformanceCollectorModule();

更多在這里

我必須將 appPool 用戶添加到“性能日志用戶”和“性能監視器用戶”組並循環 appPool。

我可以通過 Application Insights 從 Azure 或我的本地計算機中的 IIS 托管的 .NET Framework 應用程序收集performanceCounters的唯一方法是安裝 Microsoft.Azure.Diagnostics.ApplicationMonitoringWindows 代理

我發現這可能需要的唯一跡象是AIS 故障排除文檔中的這一小信息:

無性能數據

如果安裝 Application Insights Agent和 Azure 雲服務, 性能數據(CPU、IO 速率等)可用於 Java Web 服務、Windows 桌面應用程序、 IIS Web 應用程序和服務。 您可以在“設置”、“服務器”下找到它。

遵循ASP.NET App Insights示例行...我沒有看到收集到的性能計數器

我覺得這個模塊在 IIS 中運行有些不兼容

Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector

這似乎唯一一次是如果我將我的應用程序作為 .exe 托管在 Windows 服務中……此時我終於通過 SDK 看到了 perfCounters,而沒有安裝代理

Application Insights - Log Analytics PerfCounters kusto 查詢

並顯示在性能刀片/角色選項卡中Application Insights 性能刀片 - CPU

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM