【问题标题】:Azure set up availability test of internal urlAzure 设置内部 url 的可用性测试
【发布时间】:2019-03-21 13:56:14
【问题描述】:

我有一个公共 Web 应用程序,我可以在其上从 Azure 设置可用性测试。我还有一个可用性测试失败的私有网络应用程序。

我想跟踪我的内部网络应用程序的可用性。在C#中,我发现到现在:

TelemetryConfiguration.Active.InstrumentationKey = "application insights key";
var telemetryClient = new TelemetryClient();
var avail = new Microsoft.ApplicationInsights.DataContracts.AvailabilityTelemetry();
telemetryClient.TrackAvailability(avail);

但是,此代码尚未完成。我不确定如何指定我的内部 url 以及我会在哪里看到结果。

【问题讨论】:

  • 要监控一个内部 url,你应该先阅读这个Can I monitor an intranet web server
  • @IvanYang 可以肯定的是,那篇文章是否还包括一个在 Azure 上但有一个私有 URL(基本可用性测试失败)的 Web 应用程序?
  • 据我所知,没有。但是您可以在那篇文章中提出一个问题 -> 反馈部分。
  • @IvanYang 对不起,我没说清楚,我的私有 Web 应用程序在 Azure 中,这就是我想做可用性测试的地方。
  • 您可以使用您在私有网络应用程序中的代码,然后在门户中检查遥测数据吗?

标签: c# .net azure azure-web-app-service azure-application-insights


【解决方案1】:

对于内部网络,首先,您应该确保“允许通过防火墙例外或代理重定向访问我们的服务。”,详细信息是here

然后只需一行简单的代码,只需在AvailabilityTelemetry 中为您的内部url 定义一些特定的属性或名称即可。

            var client = new TelemetryClient();
            TelemetryConfiguration.Active.InstrumentationKey = "xxxxx";
            AvailabilityTelemetry a = new AvailabilityTelemetry();
            a.Name = "this is your_web_site_name or other unique value";

            //or some properties like below
            //a.Properties.Add("p1", "my internal web");

            client.TrackAvailability(a);

然后在执行后,您可以检查可用性遥测是否在 azure 门户中 -> 您的应用程序洞察服务:

【讨论】:

  • 抱歉,很遗憾,将网站 url 放置为 a.Name 后它根本不起作用。 a.Name 只是测试的名称...如果我输入 a.Name = "Test",它将在 5 分钟后在应用程序洞察中显示 "Test"。早该看到的。
  • 在应用程序洞察中显示消息总是有一些延迟。遥测数据将首先进行批处理,然后发送到应用洞察。
  • 不,但我的意思是它实际上并不监控网站 url,它只会显示在门户中,无论您在代码中为 a.Name 提供什么值。如果你给 a.Name = "dgaagd" 那么它将在 "dgaagd" 上显示 100% 的可用性,举个例子。
  • 我在这里发现的另一个问题是,如果函数应用关闭/停止,则此“可用性测试”将不起作用。
猜你喜欢
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多