本文适用于:✔️ 版本 6.0.0 及更高版本
安装
有两种方法可以下载 dotnet-monitor:
dotnet 全局工具:
若要安装最新版
dotnet-monitorNuGet 包,请使用 dotnet tool install 命令:dotnet tool install --global dotnet-monitorDocker 映像:
下载 Docker 映像,以便在多容器环境中使用:
docker pull mcr.microsoft.com/dotnet/monitor
摘要
dotnet-monitor [-h|--help] [--version] <command>
说明
dotnet-monitor 全局工具是用于监视生产环境中的 .NET 应用程序以及按需收集诊断项目(例如转储、跟踪、日志和指标)或使用自动规则在指定条件下收集的方法。
选项
--version显示 dotnet-monitor 实用工具的版本。
-h|--help显示命令行帮助。
命令
| Command |
|---|
| dotnet monitor collect |
| dotnet monitor config show |
| dotnet monitor generatekey |
dotnet-monitor collect
监视 .NET 应用程序,允许收集诊断项目,并将结果发送到所选目标。
摘要
dotnet-monitor collect [-h|--help] [-u|--urls] [-m|--metrics] [--metricUrls] [--diagnostic-port] [--no-auth] [--temp-apikey] [--no-http-egress]
选项
-h|--help显示命令行帮助。
-u|--urls <urls>HTTP API 的绑定。 默认值为
https://localhost:52323。-m|--metrics [true|false]启用向
/metrics路由发布指标。 默认为true--metricUrls <urls>指标 HTTP API 的绑定。 默认值为
http://localhost:52325。--diagnostic-port <path>运行时实例可以连接到的诊断端口的完全限定路径和文件名。 指定此选项会将
dotnet-monitor置于“侦听”模式。 如果未指定,则dotnet-monitor处于“连接”模式。在 Windows 上,这必须是有效的命名管道名称。 在 Linux 和 macOS 上,这必须是有效的 Unix 域套接字路径。
--no-auth禁用 API 密钥身份验证。 默认值为
false。强烈建议不要在生产环境中使用此选项。
--temp-apikey为
dotnet-monitor实例生成临时 API 密钥。--no-http-egress通过 HTTP 响应禁用诊断项目的出口。 指定后,必须使用出口提供程序输出项目。
dotnet-monitor config show
显示配置,就好像 dotnet-monitor collect 是使用这些参数执行的。
摘要
dotnet-monitor config show [-h|--help] [-u|--urls] [-m|--metrics] [--metricUrls] [--diagnostic-port] [--no-auth] [--temp-apikey] [--no-http-egress] [--level] [--show-sources]
选项
-h|--help显示命令行帮助。
-u|--urls <urls>HTTP API 的绑定。 默认值为
https://localhost:52323。此值作为
urls键映射到配置中。-m|--metrics [true|false]启用向
/metrics路由发布指标。 默认值为true。此值作为
Metrics:Enabled键映射到配置中。--metricUrls <urls>指标 HTTP API 的绑定。 默认值为
http://localhost:52325。此值作为
Metrics:Endpoints键映射到配置中。--diagnostic-port <path>运行时实例可以连接到的诊断端口的完全限定路径和文件名。 指定此选项会将
dotnet-monitor置于“侦听”模式。 如果未指定,则dotnet-monitor处于“连接”模式。在 Windows 上,这必须是有效的命名管道名称。 在 Linux 和 macOS 上,这必须是有效的 Unix 域套接字路径。
此值作为
DiagnosticPort:EndpointName键映射到配置中。--no-auth禁用 API 密钥身份验证。 默认值为
false。强烈建议不要在生产环境中使用此选项。
此值未映射到配置中。
--temp-apikey为
dotnet-monitor实例生成临时 API 密钥。此值作为
Authentication:MonitorApiKey键映射到配置中。--no-http-egress通过 HTTP 响应禁用诊断项目的出口。 指定后,必须使用出口提供程序输出项目。
此值未映射到配置中。
--level配置级别。
Full配置可以显示敏感信息。 有两个级别:-
Full- 完整配置,无需编修任何值。 -
Redacted- 完整配置,但敏感信息(如已知机密)已编修。
-
--show-sources标识提供每个有效配置值的配置源。
dotnet-monitor generatekey
生成用于 HTTP 身份验证的 API 密钥和哈希。
摘要
dotnet-monitor generatekey [-h|--help] [-o|--output] [-e|--expiration]
选项
-h|--help显示命令行帮助。
-o|--output <Cmd|Json|MachineJson|PowerShell|Shell|Text>将 API 密钥信息写入标准输出的输出格式。
允许的值为:
-
Cmd- 采用在 Windows 命令提示符或批处理文件中可用的格式的输出。 -
Json- 采用 JSON 对象格式的输出。 -
MachineJson- 采用 JSON 对象的格式输出,不带注释和说明。 适用于自动化方案。 -
PowerShell- 采用在 PowerShell 提示和脚本中可用的格式的输出。 -
Shell- 采用在 Linux shell(如 Bash)中可用的格式的输出。 -
Text- 采用纯文本格式的输出。
-
-e|--expiration <expiration>生成的 API 密钥不再被接受的过期时间。 该值必须采用 TimeSpan 格式(例如,7 天为“7.00:00:00”。 默认值:“7.00:00:00”(7 天)。