.NET 6.0 —— 网络监视器 (TODO)
dotnet monitor
是容器的重要诊断工具。它作为 sidecar 容器镜像已经有一段时间了,但处于不受支持的“实验”状态。作为 .NET 6 的一部分,我们将发布一个完全支持生产的基于 .NET 6 的dotnet monitor映像。
dotnet monitor已被 Azure 应用服务
用作其 http://ASP.NET Core Linux 诊断体验的实现细节。这是预期的场景之一,建立在 dotnet monitor 之上以提供更高级别和更高价值的体验。
您现在可以拉取新图像:
docker pull mcr.microsoft.com/dotnet/monitor:6.0
dotnet monitor
使从 .NET 进程访问诊断信息(日志、跟踪、进程转储)变得更加容易。在台式机上很容易访问您想要的所有诊断信息,但是,例如,那些熟悉的技术在使用容器的生产中可能不起作用。dotnet monitor
提供了一种统一的方法来收集这些诊断工件,无论是在您的台式机上还是在 Kubernetes 集群中运行。收集这些诊断工件有两种不同的机制:
- 用于临时收集工件的HTTP API。当您已经知道您的应用程序遇到问题并且您有兴趣收集更多信息时,您可以调用这些 API 端点。
- 基于规则的配置触发器,用于始终在线的工件集合。您可以配置规则以在满足所需条件时收集诊断数据,例如,在持续高 CPU 时收集进程转储。
dotnet monitor
为 .NET 应用程序提供了一个通用的诊断 API,可以使用任何工具在任何地方使用。“通用 API”不是 .NET API,而是您可以调用和查询的 Web API。dotnet monitor
包括一个 ASP.NET Web 服务器,它直接与 .NET 运行时中的诊断服务器交互并公开数据。的设计dotnet monitor
支持生产中的高性能监控和安全使用,以控制对特权信息的访问。dotnet monitor
通过非互联网可寻址的unix 域套接字与运行时交互——跨越容器边界。该模型通信模型非常适合此用例。
作者:醉书生
链接:https://www.zhihu.com/question/449756804/answer/2219422015
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。