当前位置: 首页 > 知识库问答 >
问题:

将应用程序洞察cloud_RoleName分配给w/OWIN运行的Windows服务

濮阳安澜
2023-03-14

我有一个应用程序是由一系列web服务器和微服务构建的,总共可能有12个。我希望在Applications Insights中监视并映射这套服务。其中一些服务是用Dot Net Framework4.6构建的,并作为Windows服务部署,使用OWIN接收和响应请求。

为了使检测与OWIN一起工作,我使用了ApplicationInsights.OWINExtensions包。我在我的所有服务中使用一个单一的仪表键。

当我查看我的Applications Insights应用程序映射时,我所检测的所有服务似乎都被分组到一个“应用程序”中,并带有一些到外部依赖项的“链接”。我似乎无法生成“复合应用程序映射”(此处建议存在该映射):https://docs.microsoft.com/en-us/azure/application-insights/app-insights-app-map。

我确实看到OwinExtensions包提供了自定义所报告的遥测的某些方面的能力,但是,没有深入了解应用Insights telemetry的内部结构,我无法弄清楚它是否允许设置RoleName,如果允许,如何实现这一点。到目前为止,我尝试了以下方法:

        appBuilder.UseApplicationInsights(
            new RequestTrackingConfiguration
            {
                GetAdditionalContextProperties = 
                    ctx =>
                        Task.FromResult(
                            new [] { new KeyValuePair<string, string>("cloud_RoleName", ServiceConfiguration.SERVICE_NAME) }.AsEnumerable()
                        )
            }
        );

有没有人能告诉我,在这种情况下,我可以如何指导应用程序Insights收集遥测数据,这将导致构建一个复合应用程序地图?

共有1个答案

龙高歌
2023-03-14

下面是关于TelemetryInitializer的全部文档,这正是您希望为收集的遥测设置附加属性的内容-在本例中,设置Cloud Rolename以启用应用程序映射。https://docs.microsoft.com/en-us/azure/application-insights/app-insights-api-filtering-samplication#add-properties-itelemetryinitializer

您的遥测初始值设定器代码应该遵循以下几条线...

public void Initialize(ITelemetry telemetry)
{

if (string.IsNullOrEmpty(telemetry.Context.Cloud.RoleName))
            {
                // set role name correctly here.
                telemetry.Context.Cloud.RoleName = "RoleName";
            }
}

请试试这个,看看这有没有帮助。

 类似资料:
  • 是否可以通过应用程序洞察来检测在前提下运行的windows服务?不需要像Web应用程序那样让它自动收集应用程序的度量,将自定义事件推送到Azure就足够了。

  • 根据微软的文档,Application Insights最好在构建时和运行时部署,并且可以通过“在应用程序的Azure控制面板上选择[ing]Application Insights”在运行时安装。但我在云服务的配置上没有看到它,至少在新门户中没有: 文档是否不正确(使得其他地方所列的长流程仍然是必需的)?如果没有,我应该去哪里找呢?

  • 有没有什么简单的方法可以找到哪些应用程序正在使用azure Portal的特定应用程序洞察? 我已经检查了门户中的各种选项,但没有找到任何易于理解的界面,我可以在其中找到正在向特定应用程序Insights发送数据的应用程序列表。

  • 我们为Azure Portal中托管的Web应用程序安装了应用程序Insights。

  • 我正在尝试配置我的azure ASP.NET网站,以便将log4net跟踪发送到azure Application Insights。我可以看到在我的azure控制台页面视图等,因此我知道这是工作良好的。当配置了文件处理程序时,我还可以看到log4net跟踪,但是当配置log4net以使用application insights处理程序时,我没有看到任何log4net条目出现在applicatio

  • Azure应用程序洞察或日志分析的用例是什么? 我正在使用APIM和Azure函数,并希望对请求执行日志记录。应用洞察和日志分析哪一个最合适? https://docs.microsoft.com/en-gb/Azure/Azure-monitor/overview 更新 特别是关于APIM使用的Azure应用程序洞察与日志分析的任何信息?