如何使用 Application Insights 监控 .NET 微服务?

煙雲
发布: 2025-09-28 12:08:01
原创
955人浏览过
答案:集成Application Insights需在.NET微服务中安装SDK并配置遥测,自动收集请求、依赖项、日志和异常等数据,通过W3C标准实现分布式跟踪,确保traceparent头传递以形成完整调用链,同时可自定义事件和指标监控业务操作,最终在Azure门户实现端到端可观测性。

如何使用 application insights 监控 .net 微服务?

要使用 Application Insights 监控 .NET 微服务,核心是集成 SDK、配置遥测收集,并在微服务架构中实现分布式跟踪。只要正确设置,就能实时掌握服务健康状况、性能瓶颈和异常情况。

启用 Application Insights SDK

在每个 .NET 微服务项目中启用 Application Insights,最简单的方式是通过 NuGet 安装 SDK 包:

  • 安装 Microsoft.ApplicationInsights.AspNetCore 包(适用于 ASP.NET Core 服务)
  • Program.csStartup.cs 中调用 AddApplicationInsightsTelemetry()
  • 确保 appsettings.json 中包含有效的 Instrumentation Key 或连接字符串
例如:
builder.Services.AddApplicationInsightsTelemetry("your-instrumentation-key");
登录后复制

自动收集常见遥测数据

启用后,SDK 会自动收集以下信息:

  • 请求:HTTP 入站请求的路径、响应时间、状态码
  • 依赖项:对外部服务、数据库、Azure 服务的调用
  • 日志:通过 ILogger 写入的日志会自动发送到 Application Insights
  • 异常:未处理的异常会被捕获并上报
  • 性能计数器:CPU、内存、请求率等基础指标

这些数据无需额外编码即可在 Azure 门户中查看。

实现分布式跟踪

在微服务间追踪请求流,需要确保请求上下文正确传递:

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店
  • 使用 W3C Trace Context 标准(默认启用)
  • 出站 HTTP 调用建议使用 HttpClient 并配合 Microsoft.Extensions.Http 集成
  • 确保请求头中的 traceparenttracestate 正确传播
  • 跨服务调用时,Application Insights 会自动关联请求与依赖项,形成完整的调用链

在“应用映射”视图中,你可以直观看到服务之间的调用关系和延迟分布。

自定义遥测与业务监控

除了自动收集的数据,你还可以添加业务相关的监控:

  • 注入 TelemetryClient 实例,手动发送事件或度量值
  • 记录关键业务操作,如订单创建、支付完成等
  • 使用 TrackEvent()GetMetric().TrackValue() 上报自定义数据
  • 为遥测添加自定义属性,便于后续查询和分组分析
示例:
_telemetryClient.TrackEvent("OrderSubmitted", new Dictionary<string, string> { ["UserId"] = userId });
登录后复制

基本上就这些。只要每个服务都接入 Application Insights,并保持上下文传播一致,就能获得端到端的可观测性。关键是配置准确、遥测丰富、调用链完整。不复杂但容易忽略细节。

以上就是如何使用 Application Insights 监控 .NET 微服务?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号