c# - Azure Application Insights 自定义响应指标

标签 c# azure azure-application-insights

我需要一些帮助来找到自定义应用程序洞察指标的良好模式。

环境

我有一个在多个 Azure VM 上运行的自定义 Windows 服务。 我可以成功地将事件添加到 Azure 上的监控实例。

目标

我想创建一个自定义指标,使我能够监控每个实例的 Windows 服务是否正在运行和响应。如果它像网站指标中的响应超时一样,那就完美了。 每个服务实例都有一个与机器相关的自定义标识符,例如:

TelemetryClient telemetry = new TelemetryClient();
telemetry.Context.Device.Id = FingerPrint.Instance;

现在,如果我的一个服务实例 (Context.Device.Id) 未运行或未响应,我想创建一个警报。

enter image description here

问题

如何实现这一目标? 在应用程序洞察中监控一种服务类型的多个实例是否可能或有用?或者我必须为每个实例打开一个应用程序洞察? 有人可以帮助我吗?

对 Paul 的回答的回应

Track Metric Use TrackMetric to send metrics that are not attached to particular events. For example, you could monitor a queue length at regular intervals.

如果我这样做,如果我的服务器重新启动(更新或其他)并且我的服务未启动,会发生什么情况。现在,该服务没有向应用程序洞察发送 TrackMetric,并且不会引发任何警报,因为该值没有降至 1 以下,但该服务仍未运行。

问候史蒂芬

最佳答案

我找到了一个很好的可行解决方案,只需几个简单的步骤。

1) 在服务端口(例如 8181)上实现一个 HttpListener 实例,并使用简单的文本响应“200:OK”

2) 将匹配端点添加到 azure VM imstande

3) 在“myVM.cloudapp.net:8181”上创建默认 Web 测试,并检查响应文本

到目前为止效果很好,满足我的所有需求! :)

关于c# - Azure Application Insights 自定义响应指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32273158/

相关文章:

Azure App Insights — 如何获取经过 AAD 身份验证的访问者的用户 ID 或电子邮件?

asp.net-core - 使用 Application Insights 在 Azure 上进行 ASP.NET Core 跟踪日志记录

c# - Elasticsearch(C# 嵌套) : Map abstract property

c# - 使用访问器公开类属性

使用 Azure AD 的 C# MVC Web 应用程序在失败之前随机开始重定向大约 10 次

azure - 浏览器将使用 SSL 的 Azure CDN 报告为不安全

c# - 更改 Windows 窗体应用程序中菜单的字体,.net3.5

c# - Linq 到 NHibernate : 'System.Linq.EnumerableQuery` 1[Entity]' cannot be converted

azure - 为 Azure CDN 创建服务主体失败,并出现租户权限错误

c# - 在 Application Insights 依赖项跟踪中,如何设置依赖项类型和结果代码?