Utilità di monitoraggio e raccolta di diagnostica (dotnet-monitor)

Questo articolo si applica a: ✔️ dotnet-monitor versione 6.0.0 e versioni successive

Installare

È possibile procedere in due modi per scaricare dotnet-monitor:

  • Strumento globale dotnet:

    Per installare la versione più recente del dotnet-monitorpacchetto NuGet, usare il comando dotnet tool install:

    dotnet tool install --global dotnet-monitor
    
  • Immagine docker:

    Scaricare un'immagine Docker da usare in ambienti multi-contenitore:

    docker pull mcr.microsoft.com/dotnet/monitor
    

Riepilogo

dotnet-monitor [-h|--help] [--version] <command>

Descrizione

Lo strumento globale dotnet-monitor consente di monitorare le applicazioni .NET negli ambienti di produzione e di raccogliere artefatti di diagnostica (ad esempio dump, tracce, log e metriche) su richiesta o usando regole automatizzate per la raccolta in condizioni specificate.

Opzioni

  • --version

    Visualizza la versione dell'utilità dotnet-monitor.

  • -h|--help

    Mostra la Guida della riga di comando.

Comandi

Comando
dotnet monitor collect
dotnet monitor config show
dotnet monitor generatekey

dotnet-monitor collect

Monitorare le applicazioni .NET, consentire la raccolta di artefatti di diagnostica e inviare i risultati a una destinazione scelta.

Riepilogo

dotnet-monitor collect [-h|--help] [-u|--urls] [-m|--metrics] [--metricUrls] [--diagnostic-port] [--no-auth] [--temp-apikey] [--no-http-egress]

Opzioni

  • -h|--help

    Mostra la Guida della riga di comando.

  • -u|--urls <urls>

    Binding per l'API HTTP. Il valore predefinito è https://localhost:52323.

  • -m|--metrics [true|false]

    Abilitare la pubblicazione delle metriche nella route /metrics. L'impostazione predefinita è true

  • --metricUrls <urls>

    Binding per l'API HTTP delle metriche. Il valore predefinito è http://localhost:52325.

  • --diagnostic-port <path>

    Percorso completo e nome di file della porta di diagnostica a cui possono connettersi le istanze di runtime. Se si specifica questa opzione, per dotnet-monitor viene attivata la modalità 'listen'. Se non viene specificata, dotnet-monitor è in modalità 'connect'.

    In Windows deve essere un nome di named pipe valido. In Linux e macOS, questo deve essere un percorso di socket di dominio Unix valido.

  • --no-auth

    Disabilita l'autenticazione della chiave API. Il valore predefinito è false.

    È consigliabile non usare questa opzione negli ambienti di produzione.

  • --temp-apikey

    Genera una chiave API temporanea per l'istanza di dotnet-monitor.

  • --no-http-egress

    Disabilita l'uscita degli artefatti di diagnostica tramite la risposta HTTP. Se viene specificata, l'uscita degli artefatti deve essere gestita con un provider di uscita.

dotnet-monitor config show

Mostra la configurazione, come se si eseguisse dotnet-monitor collect con questi parametri.

Riepilogo

dotnet-monitor config show [-h|--help] [-u|--urls] [-m|--metrics] [--metricUrls] [--diagnostic-port] [--no-auth] [--temp-apikey] [--no-http-egress] [--level] [--show-sources]

Opzioni

  • -h|--help

    Mostra la Guida della riga di comando.

  • -u|--urls <urls>

    Binding per l'API HTTP. Il valore predefinito è https://localhost:52323.

    Questo valore viene mappato nella configurazione come chiave urls.

  • -m|--metrics [true|false]

    Abilitare la pubblicazione delle metriche nella route /metrics. Il valore predefinito è true.

    Questo valore viene mappato nella configurazione come chiave Metrics:Enabled.

  • --metricUrls <urls>

    Binding per l'API HTTP delle metriche. Il valore predefinito è http://localhost:52325.

    Questo valore viene mappato nella configurazione come chiave Metrics:Endpoints.

  • --diagnostic-port <path>

    Percorso completo e nome di file della porta di diagnostica a cui possono connettersi le istanze di runtime. Se si specifica questa opzione, per dotnet-monitor viene attivata la modalità 'listen'. Se non viene specificata, dotnet-monitor è in modalità 'connect'.

    In Windows deve essere un nome di named pipe valido. In Linux e macOS, questo deve essere un percorso di socket di dominio Unix valido.

    Questo valore viene mappato nella configurazione come chiave DiagnosticPort:EndpointName.

  • --no-auth

    Disabilita l'autenticazione della chiave API. Il valore predefinito è false.

    È consigliabile non usare questa opzione negli ambienti di produzione.

    Questo valore non viene mappato nella configurazione.

  • --temp-apikey

    Genera una chiave API temporanea per l'istanza di dotnet-monitor.

    Questo valore viene mappato nella configurazione come chiave Authentication:MonitorApiKey.

  • --no-http-egress

    Disabilita l'uscita degli artefatti di diagnostica tramite la risposta HTTP. Se viene specificata, l'uscita degli artefatti deve essere gestita con un provider di uscita.

    Questo valore non viene mappato nella configurazione.

  • --level

    Livello di configurazione. La configurazione Full può mostrare informazioni sensibili. Esistono due livelli:

    • Full - Configurazione completa senza oscurare alcun valore.
    • Redacted - Configurazione completa, ma le informazioni sensibili, ad esempio i segreti noti, vengono oscurate.
  • --show-sources

    Identifica da quale origine di configurazione viene fornito ogni valore di configurazione effettivo.

dotnet-monitor generatekey

Generare una chiave API e un hash per l'autenticazione HTTP.

Riepilogo

dotnet-monitor generatekey [-h|--help] [-o|--output]

Opzioni

  • -h|--help

    Mostra la Guida della riga di comando.

  • -o|--output <Cmd|Json|MachineJson|PowerShell|Shell|Text>

    Formato di output in cui le informazioni sulla chiave API vengono scritte nell'output standard.

    I valori consentiti sono:

    • Cmd - Output in un formato utilizzabile nel prompt dei comandi di Windows o nei file batch.
    • Json - Output nel formato di un oggetto JSON.
    • MachineJson - Output nel formato di un oggetto JSON senza commenti e spiegazioni. Utile per scenari di automazione.
    • PowerShell - Output in un formato utilizzabile nei prompt e negli script di PowerShell.
    • Shell - Output in un formato utilizzabile nelle shell Linux, come Bash.
    • Text - Output nel formato testo normale.

Vedi anche