Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Application Insights Agent ist ein PowerShell-Modul, das im PowerShell-Katalog veröffentlicht wird. Es ersetzt den Statusmonitor. Telemetriedaten werden an das Azure-Portal gesendet, wo Sie Ihre App überwachen können.
Eine vollständige Liste der unterstützten Autoinstrumentationsszenarien finden Sie unter Unterstützte Umgebungen, Sprachen und Ressourcenanbieter.
Hinweis
Das Modul unterstützt derzeit codelose Instrumentierung von ASP.NET und ASP.NET Core-Web-Apps, die mit Internetinformationsserver (IIS) gehostet werden. Verwenden Sie ein SDK zum Instrumentieren von Java- und Node.js-Anwendungen.
Hinweis
Clientseitige Überwachung ist für ASP.NET Core-Apps standardmäßig aktiviert. Wenn Sie die clientseitige Überwachung deaktivieren möchten, definieren Sie mit den folgenden Informationen eine Umgebungsvariable auf dem Server:
-
Name:
APPINSIGHTS_JAVASCRIPT_ENABLED -
Wert:
false
PowerShell-Galerie
Der Application Insights-Agent ist im PowerShell-Katalog zu finden.
Anweisungen
- Auf der Registerkarte Erste Schritte finden Sie Informationen zu den ersten Schritten mit präzisen Codebeispielen.
- Auf der Registerkarte Ausführliche Anweisungen finden Sie detaillierte Informationen zu den ersten Schritten.
- Eine PowerShell-API-Referenz finden Sie auf der Registerkarte API-Referenz.
- Aktualisierungen der Versionshinweise finden Sie auf der Registerkarte Versionshinweise.
Diese Registerkarte enthält die Schnellstartbefehle, die für die meisten Umgebungen geeignet sein dürften. Die Anweisungen hängen von der PowerShell-Galerie ab, um Aktualisierungen zu verteilen. Diese Befehle unterstützen den -Proxy-Parameter von PowerShell.
Eine Erläuterung der Befehle, Anpassungsanweisungen und Informationen zur Problembehandlung finden Sie unter Ausführliche Anleitungen.
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Herunterladen und Installieren über PowerShell Gallery
Verwenden Sie den PowerShell-Katalog für Downloads und Installationen.
Voraussetzungen für die Installation
Sie benötigen eine Verbindungszeichenfolge, um die Überwachung zu aktivieren. Eine Verbindungszeichenfolge wird im Bereich Übersicht Ihrer Application Insights-Ressource angezeigt. Weitere Informationen finden Sie unter Verbindungszeichenfolgen.
Hinweis
Weitere Erforderliche Komponenten finden Sie unter PowerShell Gallery Transport Layer Security (TLS)-Unterstützung.
Führen Sie PowerShell als Administrator aus.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
Install-Module -Name PowerShellGet -Force
Schließen Sie PowerShell.
Installieren des Application Insights-Agents
Führen Sie PowerShell als Administrator aus.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name Az.ApplicationMonitor -AllowPrerelease -AcceptLicense
Hinweis
Die AllowPrerelease-Option im Cmdlet Install-Module ermöglicht die Installation des Betarelease.
Weitere Informationen finden Sie unter Install-Module.
Aktivieren der Überwachung
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Manuelles Herunterladen und Installieren (Offline-Option)
Sie können den Download und die Installation auch manuell ausführen.
Herunterladen des Moduls
Laden Sie die neueste Version des Moduls aus dem PowerShell-Katalog manuell herunter.
Entzippen und Installieren des Application Insights-Agents
$pathToNupkg = "C:\Users\t\Desktop\Az.ApplicationMonitor.0.3.0-alpha.nupkg"
$pathToZip = ([io.path]::ChangeExtension($pathToNupkg, "zip"))
$pathToNupkg | rename-item -newname $pathToZip
$pathInstalledModule = "$Env:ProgramFiles\WindowsPowerShell\Modules\Az.ApplicationMonitor"
Expand-Archive -LiteralPath $pathToZip -DestinationPath $pathInstalledModule
Aktivieren der Überwachung
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Auf dieser Registerkarte wird beschrieben, wie Sie sich in die PowerShell-Galerie eingliedern und das ApplicationMonitor-Modul herunterladen. Der Artikel enthält die gängigsten Parameter, die für den Einstieg erforderlich sind. Außerdem werden Anweisungen zum manuellen Herunterladen bereitgestellt, falls Sie nicht über Internetzugriff verfügen.
Verbindungszeichenfolge abrufen
Zunächst benötigen Sie eine Verbindungszeichenfolge. Weitere Informationen finden Sie unter Verbindungszeichenfolgen.
Hinweis
Am 31. März 2025 endet der Support für die Erfassung von Instrumentierungsschlüsseln. Die Erfassung von Instrumentierungsschlüsseln funktioniert zwar weiterhin, wir stellen jedoch keine Updates und keinen Support mehr für das Feature bereit. Wechseln Sie zu Verbindungszeichenfolgen, damit Sie neue Funktionen nutzen können.
PowerShell als Administrator mit erhöhten Rechten ausführen
Ausführen als Administrator
PowerShell benötigt Berechtigungen auf Administratorebene, um Änderungen an Ihrem Computer vornehmen zu können.
Ausführungsrichtlinie
- Beschreibung: Die Ausführung von PowerShell-Skripts ist standardmäßig deaktiviert. Es wird empfohlen, RemoteSigned-Skripts nur für den aktuellen Bereich zuzulassen.
- Referenz: Informationen zu Ausführungsrichtlinien und Set-ExecutionPolicy.
- Befehl:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process. - Optionaler Parameter:
-
-Force. Umgeht die Bestätigungsaufforderung.
-
Fehlerbeispiele
Install-Module : The 'Install-Module' command was found in the module 'PowerShellGet', but the module could not be
loaded. For more information, run 'Import-Module PowerShellGet'.
Import-Module : File C:\Program Files\WindowsPowerShell\Modules\PackageManagement\1.3.1\PackageManagement.psm1 cannot
be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
Voraussetzungen für PowerShell
Überwachen Sie Ihre Instanz von PowerShell durch Ausführen des Befehls $PSVersionTable.
Dieser Befehl erstellt die folgende Ausgabe:
Name Value
---- -----
PSVersion 5.1.17763.316
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.316
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Diese Anleitungen wurden auf einem Computer unter Windows 10 sowie den folgenden Versionen geschrieben und getestet.
Voraussetzungen für die PowerShell-Gallery
Diese Schritte bereiten Ihren Server darauf vor, Module aus dem PowerShell-Katalog herunterzuladen.
Hinweis
Die PowerShell Gallery wird auf Windows 10, Windows Server 2016 und PowerShell 6+ unterstützt. Informationen zu früheren Versionen finden Sie unter Installieren von PowerShellGet.
Führen Sie PowerShell als Administrator mit einer Ausführungsrichtlinie mit erhöhten Rechten aus.
Installieren Sie den NuGet-Paketanbieter.
- Beschreibung: Sie benötigen diesen Anbieter für die Interaktion mit NuGet-basierten Repositorys wie dem PowerShell-Katalog.
- Referenz: Install-PackageProvider.
- Befehl:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201. - Optionale Parameter:
-
-Proxy. Gibt einen Proxyserver für die Anforderung an. -
-Force. Umgeht die Bestätigungsaufforderung.
-
Sie erhalten diese Eingabeaufforderung, wenn NuGet nicht eingerichtet ist:
NuGet provider is required to continue PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or 'C:\Users\t\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and import the NuGet provider now? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):Konfigurieren Sie die PowerShell-Galerie als vertrauenswürdiges Repository.
- Beschreibung: Standardmäßig ist der PowerShell-Katalog ein nicht vertrauenswürdiges Repository.
- Referenz: Set-PSRepository.
- Befehl:
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted. - Optionaler Parameter:
-
-Proxy. Gibt einen Proxyserver für die Anforderung an.
-
Sie erhalten diese Eingabeaufforderung, wenn die PowerShell Gallery nicht vertrauenswürdig ist.
Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):Sie können diese Änderung bestätigen und alle
PSRepositoriesüberprüfen, indem Sie den BefehlGet-PSRepositoryausführen.Installieren Sie die neueste Version von PowerShellGet.
- Beschreibung: Dieses Modul enthält die Tools, mit denen andere Module aus dem PowerShell-Katalog abgerufen werden können. Version 1.0.0.1 wird mit Windows 10 und Windows Server ausgeliefert. Erforderlich ist Version 1.6.0 oder höher. Um zu ermitteln, welche Version installiert ist, führen Sie den Befehl
Get-Command -Module PowerShellGetaus. - Referenz: Installieren von PowerShellGet.
- Befehl:
Install-Module -Name PowerShellGet. - Optionale Parameter:
-
-Proxy. Gibt einen Proxyserver für die Anforderung an. -
-Force. Umgeht die Warnung „bereits installiert“ und installiert die neueste Version.
-
Dieser Fehler wird angezeigt, wenn Sie nicht die neueste Version von PowerShellGet verwenden:
Install-Module : A parameter cannot be found that matches parameter name 'AllowPrerelease'. At line:1 char:20 Install-Module abc -AllowPrerelease ~~~~~~~~~~~~~~~~ CategoryInfo : InvalidArgument: (:) [Install-Module], ParameterBindingException FullyQualifiedErrorId : NamedParameterNotFound,Install-Module- Beschreibung: Dieses Modul enthält die Tools, mit denen andere Module aus dem PowerShell-Katalog abgerufen werden können. Version 1.0.0.1 wird mit Windows 10 und Windows Server ausgeliefert. Erforderlich ist Version 1.6.0 oder höher. Um zu ermitteln, welche Version installiert ist, führen Sie den Befehl
Starten Sie PowerShell neu. Sie können die neue Version nicht in der aktuellen Sitzung laden. Neue PowerShell-Sitzungen laden die neueste Version von PowerShellGet.
Laden Sie das Modul über die PowerShell Gallery herunter und installieren Sie es.
Durch die folgenden Schritte wird das Az.ApplicationMonitor-Modul aus der PowerShell Gallery heruntergeladen.
- Stellen Sie sicher, dass alle Voraussetzungen für die PowerShell Gallery erfüllt sind.
- Führen Sie PowerShell als Administrator mit einer Ausführungsrichtlinie mit erhöhten Rechten aus.
- Installieren Sie das Az.ApplicationMonitor-Modul.
- Referenz: Install-Module.
- Befehl:
Install-Module -Name Az.ApplicationMonitor. - Optionale Parameter:
-
-Proxy. Gibt einen Proxyserver für die Anforderung an. -
-AllowPrerelease. Ermöglicht die Installation von Alpha- und Betaversionen. -
-AcceptLicense. Umgeht die Eingabeaufforderung „Lizenz akzeptieren“. -
-Force. Umgeht die Warnung „Nicht vertrauenswürdiges Repository“.
-
Manuelles Herunterladen und Installieren des Moduls (Offline-Option)
Wenn Sie aus irgendeinem Grund keine Verbindung zum PowerShell-Modul herstellen können, können Sie das Az.ApplicationMonitor-Modul manuell herunterladen und installieren.
Manuelles Herunterladen der neuesten Nupkg-Datei
- Gehe zu https://www.powershellgallery.com/packages/Az.ApplicationMonitor.
- Wählen Sie die neueste Version der Datei in der Tabelle Versionsverlauf aus.
- Wählen Sie unter Installationsoptionen die Option Manueller Download aus.
Option 1: Installieren in einem PowerShell-Modulverzeichnis
Installieren Sie das manuell heruntergeladene PowerShell-Modul in einem PowerShell-Verzeichnis, damit es von PowerShell-Sitzungen erkannt werden kann. Weitere Informationen finden Sie unter Installieren eines PowerShell-Moduls.
Entpacken von Nupkg als ZIP-Datei mithilfe von Expand-Archive (v1.0.1.0)
Beschreibung: Die Basisversion der Microsoft.PowerShell.Archive (v1.0.1.0) kann keine Nupkg-Dateien extrahieren. Benennen Sie die Datei mit der Erweiterung „.zip“ um.
Referenz: Expand-Archive.
Befehl:
$pathToNupkg = "C:\az.applicationmonitor.0.3.0-alpha.nupkg" $pathToZip = ([io.path]::ChangeExtension($pathToNupkg, "zip")) $pathToNupkg | rename-item -newname $pathToZip $pathInstalledModule = "$Env:ProgramFiles\WindowsPowerShell\Modules\az.applicationmonitor" Expand-Archive -LiteralPath $pathToZip -DestinationPath $pathInstalledModule
Entpacken von Nupkg mithilfe von Expand-Archive (v1.1.0.0)
Beschreibung: Verwenden Sie eine aktuelle Version von Expand-Archive, um Nupkg-Dateien zu entpacken, ohne die Erweiterung zu ändern.
Referenz: Expand-Archive und Microsoft.PowerShell.Archive.
Befehl:
$pathToNupkg = "C:\az.applicationmonitor.0.2.1-alpha.nupkg" $pathInstalledModule = "$Env:ProgramFiles\WindowsPowerShell\Modules\az.applicationmonitor" Expand-Archive -LiteralPath $pathToNupkg -DestinationPath $pathInstalledModule
Option 2: Manuelles Entpacken und Importieren von Nupkg
Installieren Sie das manuell heruntergeladene PowerShell-Modul in einem PowerShell-Verzeichnis, damit es von PowerShell-Sitzungen erkannt werden kann. Weitere Informationen finden Sie unter Installieren eines PowerShell-Moduls.
Wenn Sie das Modul in einem anderen Verzeichnis installieren, importieren Sie es manuell mithilfe von Import-Module.
Wichtig
Dynamic Link Libraries (DLLs) werden über relative Pfade installiert. Speichern Sie den Inhalt des Pakets in Ihrem vorgesehenen Runtime-Verzeichnis, und bestätigen Sie, dass die Zugriffsrechte Lese-, aber keine Schreibvorgänge erlauben.
- Ändern Sie die Erweiterung auf „.zip“, und extrahieren Sie den Inhalt des Pakets in Ihr gewünschtes Installationsverzeichnis.
- Suchen Sie den Dateipfad zu „Az.ApplicationMonitor.psd1“.
- Führen Sie PowerShell als Administrator mit einer Ausführungsrichtlinie mit erhöhten Rechten aus.
- Laden Sie das Modul mit dem Befehl
Import-Module Az.ApplicationMonitor.psd1.
Weiterleiten von Datenverkehr über einen Proxy
Wenn Sie einen Computer in Ihrem privaten Intranet überwachen, müssen Sie HTTP-Datenverkehr über einen Proxy weiterleiten.
Die PowerShell-Befehle zum Herunterladen und Installieren von Az.ApplicationMonitor aus dem PowerShell-Katalog unterstützen einen -Proxy-Parameter.
Lesen Sie die vorstehenden Anleitungen, wenn Sie Ihre Installationsskripts schreiben.
Das Application Insights SDK muss die Telemetrie Ihrer App an Microsoft senden. Es wird empfohlen, dass Sie die Proxyeinstellungen für Ihre App in der Datei „web.config“ konfigurieren. Weitere Informationen finden Sie unter Erreichen von Proxy-Passthrough.
Aktivieren der Überwachung
Verwenden Sie den Befehl Enable-ApplicationInsightsMonitoring zum Aktivieren der Überwachung.
Lesen Sie die API-Referenz mit einer ausführlichen Beschreibung zur Verwendung dieses Cmdlets.
Auf dieser Registerkarte werden die folgenden Cmdlets beschrieben, die Mitglieder des PowerShell-Moduls Az.ApplicationMonitor sind:
- InstrumentationEngine aktivieren
- App-Insights-Überwachung aktivieren
- Disable-InstrumentationEngine
- Überwachen von Application Insights deaktivieren
- Get-ApplicationInsightsMonitoringConfig
- Get-ApplicationInsightsMonitoringStatus
- Set-ApplicationInsightsMonitoringConfig
- Start-ApplicationInsightsMonitoringTrace
Hinweis
- Zunächst benötigen Sie eine Verbindungszeichenfolge. Weitere Informationen finden Sie unter Erstellen einer Ressource.
- Dieses Cmdlet erfordert, dass Sie unsere Lizenz- und Datenschutzbestimmungen durchlesen und akzeptieren.
Hinweis
Am 31. März 2025 endet der Support für die Erfassung von Instrumentierungsschlüsseln. Die Erfassung von Instrumentierungsschlüsseln funktioniert zwar weiterhin, wir stellen jedoch keine Updates und keinen Support mehr für das Feature bereit. Wechseln Sie zu Verbindungszeichenfolgen, damit Sie neue Funktionen nutzen können.
Wichtig
Dieses Cmdlet erfordert eine PowerShell-Sitzung mit Administratorrechten und einer Ausführungsrichtlinie mit erhöhten Rechten. Weitere Informationen finden Sie unter Ausführen von PowerShell als Administrator mit einer Ausführungsrichtlinie mit erhöhten Rechten.
- Dieses Cmdlet erfordert, dass Sie unsere Lizenz- und Datenschutzbestimmungen durchlesen und akzeptieren.
- Das Instrumentierungsmodul erhöht mehr Aufwand und ist standardmäßig deaktiviert.
Enable-InstrumentationEngine
Aktiviert die Instrumentierungs-Engine durch Festlegen einiger Registrierungsschlüssel. Starten Sie IIS neu, damit die Änderungen wirksam werden.
Das Instrumentierungsmodul kann die von .NET Software Development Kits (SDKs) gesammelten Daten ergänzen. Es werden Ereignisse und Nachrichten gesammelt, die die Ausführung eines verwalteten Prozesses beschreiben. Diese Ereignisse und Nachrichten umfassen Abhängigkeitsergebniscodes, HTTP-Verben und SQL-Befehlstext.
Aktivieren Sie die Instrumentierungs-Engine in den folgenden Fällen:
- Sie haben mithilfe des
Enable-Cmdlets bereits die Überwachung, aber nicht die Instrumentierungs-Engine aktiviert. - Sie haben Ihre App mithilfe der .NET-SDKs manuell instrumentiert und möchten zusätzliche Telemetriedaten erfassen.
Beispiele
Enable-InstrumentationEngine
Parameter
-Lizenz akzeptieren
Fakultativ. Verwenden Sie diesen Schalter, um die Lizenz- und Datenschutzbestimmungen in kopflosen Installationen anzunehmen.
-Verbose
Allgemeiner Parameter. Verwenden Sie diesen Schalter, um detaillierte Protokolle auszugeben.
Ausgabe
Beispielausgabe nach erfolgreicher Aktivierung der Instrumentierungs-Engine
Configuring IIS Environment for instrumentation engine...
Configuring registry for instrumentation engine...
Enable-ApplicationInsightsMonitoring
Ermöglicht die Aktivierung der Überwachung von IIS-Apps auf einem Zielcomputer ohne Code.
Dieses Cmdlet ändert die IIS-Datei „applicationHost.config“ und legt einige Registrierungsschlüssel fest. Es erstellt außerdem die Datei „applicationinsights.ikey.config“, die den von jeder App verwendeten Instrumentierungsschlüssel definiert. IIS lädt das RedfieldModule beim Start. Dieses fügt das Application Insights SDK in Anwendungen ein, wenn diese Anwendungen gestartet werden. Starten Sie IIS neu, damit die Änderungen wirksam werden.
Nachdem Sie die Überwachung aktiviert haben, empfiehlt es sich, Live Metrics Stream zu verwenden, um schnell zu überprüfen, ob Ihre App Telemetrie an uns sendet.
Beispiele
Beispiel mit einer einzigen Verbindungszeichenfolge
In diesem Beispiel werden alle Apps auf dem aktuellen Computer mit einer einzigen Verbindungszeichenfolge bereitgestellt.
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Beispiel mit einem einzelnen Instrumentierungsschlüssel
In diesem Beispiel werden alle Apps auf dem aktuellen Computer mit einem einzigen Instrumentierungsschlüssel bereitgestellt.
Enable-ApplicationInsightsMonitoring -InstrumentationKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Beispiel mit Zuordnung des Instrumentierungsschlüssels
In diesem Beispiel:
-
MachineFiltersucht mithilfe des Platzhalters'.*'nach dem aktuellen Computer. -
AppFilter='WebAppExclude'gibtnullals Instrumentierungsschlüssel an. Die angegebene App ist nicht instrumentiert. -
AppFilter='WebAppOne'weist der angegebenen App einen eindeutigen Instrumentierungsschlüssel zu. -
AppFilter='WebAppTwo'weist der angegebenen App einen eindeutigen Instrumentierungsschlüssel zu. -
AppFilterverwendet den Platzhalter'.*', um alle Web-Apps abzugleichen, für die noch kein Abgleich besteht, und weist einen Instrumentierungsschlüssel standardmäßig zu. - Zur besseren Lesbarkeit werden Leerzeichen hinzugefügt.
Enable-ApplicationInsightsMonitoring -InstrumentationKeyMap `
` @(@{MachineFilter='.*';AppFilter='WebAppExclude'},
` @{MachineFilter='.*';AppFilter='WebAppOne';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx1'}},
` @{MachineFilter='.*';AppFilter='WebAppTwo';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx2'}},
` @{MachineFilter='.*';AppFilter='.*';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxdefault'}})
-
MachineFilter ist ein erforderlicher regulärer C#-Ausdruck des Computer- oder virtuellen Computer (VM)-Namens.
- '.*' findet alle.
- 'ComputerName' findet nur Computer mit exakt dem angegebenen Namen.
-
AppFilter ist ein erforderlicher regulärer C#-Ausdruck des IIS-Websitenamens. Mit dem Befehl get-iissite können Sie eine Liste der Websites auf Ihrem Server abrufen.
- '.*' findet alle.
- 'SiteName' stimmt nur mit der IIS-Website mit exakt dem angegebenen Namen überein.
-
InstrumentationKey ist erforderlich, um die Überwachung der Apps zu aktivieren, die den beiden oben genannten Filtern entsprechen.
- Behalten Sie für diesen Wert NULL bei, wenn Sie Regeln zum Ausschließen der Überwachung definieren möchten.
-EnableInstrumentationEngine
Fakultativ. Verwenden Sie diesen Schalter, um die Instrumentierungs-Engine zu aktivieren, sodass sie Ereignisse und Nachrichten über die Vorgänge bei der Ausführung eines verwalteten Prozesses sammelt. Diese Ereignisse und Nachrichten umfassen Abhängigkeitsergebniscodes, HTTP-Verben und SQL-Befehlstext.
Die Instrumentierungs-Engine erfordert Aufwand und ist standardmäßig deaktiviert.
-Lizenz akzeptieren
Fakultativ. Verwenden Sie diesen Schalter, um die Lizenz- und Datenschutzbestimmungen in kopflosen Installationen anzunehmen.
-IgnoreSharedConfig
Wenn Sie über einen Cluster von Webservern verfügen, verwenden Sie möglicherweise eine gemeinsame Konfiguration. Das HttpModule kann nicht in diese gemeinsame Konfiguration eingebunden werden. Bei diesem Skript tritt ein Fehler auf, und es wird gemeldet, dass zusätzliche Installationsschritte erforderlich sind. Verwenden Sie diesen Schalter, um diese Prüfung zu ignorieren und die Installation der Voraussetzungen fortzusetzen. Weitere Informationen finden Sie unter bekannter Konflikt mit IIS-Gemeinsamer Konfiguration.
-Verbose
Allgemeiner Parameter. Verwenden Sie diesen Parameter, um detaillierte Protokolle anzuzeigen.
-WhatIf
Allgemeiner Parameter. Verwenden Sie diesen Schalter, um Ihre Eingabeparameter zu testen und zu überprüfen, ohne die Überwachung tatsächlich zu aktivieren.
Ausgabe
Beispielhafte Ergebnisse einer erfolgreichen Aktivierung
Initiating Disable Process
Applying transformation to 'C:\Windows\System32\inetsrv\config\applicationHost.config'
'C:\Windows\System32\inetsrv\config\applicationHost.config' backed up to 'C:\Windows\System32\inetsrv\config\applicationHost.config.backup-2019-03-26_08-59-52z'
in :1,237
No element in the source document matches '/configuration/location[@path='']/system.webServer/modules/add[@name='ManagedHttpModuleHelper']'
Not executing RemoveAll (transform line 1, 546)
Transformation to 'C:\Windows\System32\inetsrv\config\applicationHost.config' was successfully applied. Operation: 'disable'
GAC Module will not be removed, since this operation might cause IIS instabilities
Configuring IIS Environment for codeless attach...
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS[Environment]
Configuring IIS Environment for instrumentation engine...
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS[Environment]
Configuring registry for instrumentation engine...
Successfully disabled Application Insights Agent
Installing GAC module 'C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\0.2.0\content\Runtime\Microsoft.AppInsights.IIS.ManagedHttpModuleHelper.dll'
Applying transformation to 'C:\Windows\System32\inetsrv\config\applicationHost.config'
Found GAC module Microsoft.AppInsights.IIS.ManagedHttpModuleHelper.ManagedHttpModuleHelper, Microsoft.AppInsights.IIS.ManagedHttpModuleHelper, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
'C:\Windows\System32\inetsrv\config\applicationHost.config' backed up to 'C:\Windows\System32\inetsrv\config\applicationHost.config.backup-2019-03-26_08-59-52z_1'
Transformation to 'C:\Windows\System32\inetsrv\config\applicationHost.config' was successfully applied. Operation: 'enable'
Configuring IIS Environment for codeless attach...
Configuring IIS Environment for instrumentation engine...
Configuring registry for instrumentation engine...
Updating app pool permissions...
Successfully enabled Application Insights Agent
Disable-InstrumentationEngine
Deaktiviert die Instrumentierungs-Engine durch Entfernen einiger Registrierungsschlüssel. Starten Sie IIS neu, damit die Änderungen wirksam werden.
Beispiele
Disable-InstrumentationEngine
Parameter
-Verbose
Allgemeiner Parameter. Verwenden Sie diesen Schalter, um detaillierte Protokolle auszugeben.
Ausgabe
Beispielausgabe nach erfolgreicher Deaktivierung der Instrumentierungs-Engine
Configuring IIS Environment for instrumentation engine...
Registry: removing 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN[Environment]'
Registry: removing 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC[Environment]'
Registry: removing 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS[Environment]'
Configuring registry for instrumentation engine...
Disable-ApplicationInsightsMonitoring
Deaktiviert die Überwachung auf dem Zielcomputer. Dieses Cmdlet entfernt Änderungen an der IIS-Datei „applicationHost.config“ sowie Registrierungsschlüssel.
Beispiele
Disable-ApplicationInsightsMonitoring
Parameter
-Verbose
Allgemeiner Parameter. Verwenden Sie diesen Parameter, um detaillierte Protokolle anzuzeigen.
Ausgabe
Musterausgabe für eine erfolgreiche Deaktivierung der Überwachung
Initiating Disable Process
Applying transformation to 'C:\Windows\System32\inetsrv\config\applicationHost.config'
'C:\Windows\System32\inetsrv\config\applicationHost.config' backed up to 'C:\Windows\System32\inetsrv\config\applicationHost.config.backup-2019-03-26_08-59-00z'
in :1,237
No element in the source document matches '/configuration/location[@path='']/system.webServer/modules/add[@name='ManagedHttpModuleHelper']'
Not executing RemoveAll (transform line 1, 546)
Transformation to 'C:\Windows\System32\inetsrv\config\applicationHost.config' was successfully applied. Operation: 'disable'
GAC Module will not be removed, since this operation might cause IIS instabilities
Configuring IIS Environment for codeless attach...
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS[Environment]
Configuring IIS Environment for instrumentation engine...
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\IISADMIN[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC[Environment]
Registry: skipping non-existent 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WAS[Environment]
Configuring registry for instrumentation engine...
Successfully disabled Application Insights Agent
Get-ApplicationInsightsMonitoringConfig
Ruft die Konfigurationsdatei ab und gibt die Werte in der Konsole aus.
Beispiele
Get-ApplicationInsightsMonitoringConfig
Parameter
Es müssen keine Parameter angegeben werden.
Ausgabe
Aus der Konfigurationsdatei ausgelesene Beispielausgabe
RedfieldConfiguration:
Filters:
0)InstrumentationKey: AppFilter: WebAppExclude MachineFilter: .*
1)InstrumentationKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx2 AppFilter: WebAppTwo MachineFilter: .*
2)InstrumentationKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxdefault AppFilter: .* MachineFilter: .*
Get-ApplicationInsightsMonitoringStatus
Dieses Cmdlet stellt Informationen zur Problembehandlung zu Application Insights Agent bereit. Sie können mithilfe dieses Cmdlets den Überwachungsstatus, die Version des PowerShell-Moduls und den laufenden Prozess untersuchen. Dieses Cmdlet meldet Versionsinformationen und Informationen über Schlüsseldateien, die für die Überwachung erforderlich sind.
Beispiele
Beispiel: Anwendungsstatus
Führen Sie den Befehl Get-ApplicationInsightsMonitoringStatus aus, um den Status der Überwachung von Websites anzuzeigen.
Get-ApplicationInsightsMonitoringStatus
IIS Websites:
SiteName : Default Web Site
ApplicationPoolName : DefaultAppPool
SiteId : 1
SiteState : Stopped
SiteName : DemoWebApp111
ApplicationPoolName : DemoWebApp111
SiteId : 2
SiteState : Started
ProcessId : not found
SiteName : DemoWebApp222
ApplicationPoolName : DemoWebApp222
SiteId : 3
SiteState : Started
ProcessId : 2024
Instrumented : true
InstrumentationKey : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx123
SiteName : DemoWebApp333
ApplicationPoolName : DemoWebApp333
SiteId : 4
SiteState : Started
ProcessId : 5184
AppAlreadyInstrumented : true
In diesem Beispiel:
Machine Identifier ist eine anonyme ID, mit der der Server eindeutig identifiziert wird. Wenn Sie eine Supportanfrage erstellen, benötigen wir diese ID, um die Protokolle für Ihren Server zu finden.
Default Web Site ist in IIS gestoppt.
IIS zeigt DemoWebApp111 wie gestartet an, aber die App empfängt keine Anforderungen. Der Bericht zeigt keinen ausgeführten Prozess an (ProcessId: nicht gefunden).
DemoWebApp222 wird ausgeführt und überwacht („Instrumented: true“). Basierend auf der Benutzerkonfiguration wurde der Instrumentierungsschlüssel „xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx123“ für diese Website gefunden.
DemoWebApp333 wird manuell mithilfe des Application Insights SDK instrumentiert. Der Application Insights-Agent erkennt das SDK und überwacht diese Website nicht.
Das Vorhandensein von
AppAlreadyInstrumented : truebedeutet, dass der Application Insights-Agent eine widersprüchliche DLL identifiziert hat, die in der Webanwendung geladen wurde, und davon ausgeht, dass die Webanwendung manuell instrumentiert ist. Daher hat der Agent sich zurückgezogen und instrumentiert diesen Prozess nicht.Instrumented : truegibt an, dass der Application Insights-Agent die Web-App erfolgreich instrumentiert hat, die im angegebenen w3wp.exe-Prozess ausgeführt wird.
Beispiel: Informationen zum PowerShell-Modul
Führen Sie den Befehl Get-ApplicationInsightsMonitoringStatus -PowerShellModule aus, um Informationen über das aktuelle Modul anzuzeigen:
Get-ApplicationInsightsMonitoringStatus -PowerShellModule
PowerShell Module version:
0.4.0-alpha
Application Insights SDK version:
2.9.0.3872
Executing PowerShell Module Assembly:
Microsoft.ApplicationInsights.Redfield.Configurator.PowerShell, Version=2.8.14.11432, Culture=neutral, PublicKeyToken=31bf3856ad364e35
PowerShell Module Directory:
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\0.2.2\content\PowerShell
Runtime Paths:
ParentDirectory (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content
ConfigurationPath (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\applicationInsights.ikey.config
ManagedHttpModuleHelperPath (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AppInsights.IIS.ManagedHttpModuleHelper.dll
RedfieldIISModulePath (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.dll
InstrumentationEngine86Path (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation32\MicrosoftInstrumentationEngine_x86.dll
InstrumentationEngine64Path (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\MicrosoftInstrumentationEngine_x64.dll
InstrumentationEngineExtensionHost86Path (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation32\Microsoft.ApplicationInsights.ExtensionsHost_x86.dll
InstrumentationEngineExtensionHost64Path (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.ExtensionsHost_x64.dll
InstrumentationEngineExtensionConfig86Path (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation32\Microsoft.InstrumentationEngine.Extensions.config
InstrumentationEngineExtensionConfig64Path (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.InstrumentationEngine.Extensions.config
ApplicationInsightsSdkPath (Exists: True)
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.dll
Beispiel: Laufzeitstatus
Sie können den Prozess auf dem instrumentierten Computer überprüfen, um herauszufinden, ob alle DLLs geladen wurden. Wenn die Überwachung funktioniert, sollten mindestens 12 DLLS geladen worden sein.
Führen Sie den Befehl Get-ApplicationInsightsMonitoringStatus -InspectProcess aus:
Get-ApplicationInsightsMonitoringStatus -InspectProcess
iisreset.exe /status
Status for IIS Admin Service ( IISADMIN ) : Running
Status for Windows Process Activation Service ( WAS ) : Running
Status for Net.Msmq Listener Adapter ( NetMsmqActivator ) : Running
Status for Net.Pipe Listener Adapter ( NetPipeActivator ) : Running
Status for Net.Tcp Listener Adapter ( NetTcpActivator ) : Running
Status for World Wide Web Publishing Service ( W3SVC ) : Running
handle64.exe -accepteula -p w3wp
BF0: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.ServerTelemetryChannel.dll
C58: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.AzureAppServices.dll
C68: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.DependencyCollector.dll
C78: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.WindowsServer.dll
C98: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.Web.dll
CBC: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.PerfCounterCollector.dll
DB0: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.AI.Agent.Intercept.dll
B98: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.dll
BB4: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.Contracts.dll
BCC: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.Redfield.Lightup.dll
BE0: File (R-D) C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.dll
listdlls64.exe -accepteula w3wp
0x0000000019ac0000 0x127000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\MicrosoftInstrumentationEngine_x64.dll
0x00000000198b0000 0x4f000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.ExtensionsHost_x64.dll
0x000000000c460000 0xb2000 C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Instrumentation64\Microsoft.ApplicationInsights.Extensions.Base_x64.dll
0x000000000ad60000 0x108000 C:\Windows\TEMP\2.4.0.0.Microsoft.ApplicationInsights.Extensions.Intercept_x64.dll
Parameter
(Keine Parameter)
Standardmäßig meldet dieses Cmdlet den Überwachungsstatus von Webanwendungen. Verwenden Sie diese Option, um zu überprüfen, ob Ihre Anwendung erfolgreich instrumentiert wurde. Sie können auch überprüfen, welcher Instrumentierungsschlüssel Ihrer Website zugeordnet wurde.
-PowerShellModule
Optional Dieser Schalter meldet die Versionsnummern und Pfade von DLLs, die für die Überwachung erforderlich sind. Verwenden Sie diese Option, wenn Sie die Version einer DLL ermitteln müssen (einschließlich Application Insights SDK).
-InspectProcess
Optional Verwenden Sie diesen Schalter, um zu melden, ob IIS ausgeführt wird. Es lädt auch externe Tools herunter, um zu ermitteln, ob die erforderlichen DLLs in die IIS-Runtime geladen werden.
Wenn dieser Prozess aus irgendeinem Grund fehlschlägt, können Sie diese Befehle auch manuell ausführen:
iisreset.exe /status[handle64.exe](/sysinternals/downloads/handle) -p w3wp | findstr /I "InstrumentationEngine AI. ApplicationInsights"[listdlls64.exe](/sysinternals/downloads/listdlls) w3wp | findstr /I "InstrumentationEngine AI ApplicationInsights"
-Kraft
Optional Nur mit InspectProcess verwendet. Verwenden Sie diese Option, um die Benutzereingabeaufforderung zu überspringen, die angezeigt wird, bevor weitere Tools heruntergeladen werden.
Set-ApplicationInsightsMonitoringConfig
Legt die Konfigurationsdatei fest, ohne eine vollständige Neuinstallation auszuführen. Starten Sie IIS neu, damit die Änderungen wirksam werden.
Wichtig
Dieses Cmdlet erfordert eine PowerShell-Sitzung mit Administratorberechtigungen.
Beispiele
Beispiel mit einem einzelnen Instrumentierungsschlüssel
In diesem Beispiel werden alle Apps auf dem aktuellen Computer mit einem einzigen Instrumentierungsschlüssel bereitgestellt.
Enable-ApplicationInsightsMonitoring -InstrumentationKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Beispiel mit Zuordnung des Instrumentierungsschlüssels
In diesem Beispiel:
-
MachineFiltersucht mithilfe des Platzhalters'.*'nach dem aktuellen Computer. -
AppFilter='WebAppExclude'gibtnullals Instrumentierungsschlüssel an. Die angegebene App ist nicht instrumentiert. -
AppFilter='WebAppOne'weist der angegebenen App einen eindeutigen Instrumentierungsschlüssel zu. -
AppFilter='WebAppTwo'weist der angegebenen App einen eindeutigen Instrumentierungsschlüssel zu. -
AppFilterverwendet den Platzhalter'.*', um Web-Apps zu erkennen, für die noch keine Übereinstimmung besteht, und weist einen Standardinstrumentierungsschlüssel zu. - Zur besseren Lesbarkeit werden Leerzeichen hinzugefügt.
Enable-ApplicationInsightsMonitoring -InstrumentationKeyMap `
` @(@{MachineFilter='.*';AppFilter='WebAppExclude'},
` @{MachineFilter='.*';AppFilter='WebAppOne';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx1'}},
` @{MachineFilter='.*';AppFilter='WebAppTwo';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx2'}},
` @{MachineFilter='.*';AppFilter='.*';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxdefault'}})
Parameter
-InstrumentationKey
Erforderlich. Verwenden Sie diesen Parameter, um einen einzelnen Instrumentierungsschlüssel für die Verwendung durch alle Apps auf dem Zielcomputer bereitzustellen.
-InstrumentationKeyMap
Erforderlich. Verwenden Sie diesen Parameter, um mehrere Instrumentierungsschlüssel und eine Zuordnung der von jeder einzelnen App verwendeten Instrumentierungsschlüssel bereitzustellen.
Durch Festlegen von MachineFilter können Sie ein einzelnes Installationsskript für mehrere Computer erstellen.
Wichtig
Apps stimmen Regeln in der Reihenfolge ab, in der Sie sie angeben. Geben Sie zuerst die spezifischsten Regeln und die generischsten Regeln an.
Wichtig
InstrumentationKeyMap ist eine erweiterte Routingfunktion, die IIS-Apps (Internetinformationsdienste) auf demselben Computer den Ressourcen von Application Insights zuordnet. Das Feature gilt für von IIS gehostete ASP.NET und ASP.NET Core-Apps, die vom Application Insights Agent automatisch instrumentiert werden.
Funktionsweise des Abgleichs
- Die Abbildung definiert eine sortierte Regel-Liste mit dem Namen
filters. Die erste übereinstimmende Regel wird wirksam. Setzen Sie spezifische Regeln zuerst und schließen Sie mit einer allgemeinen Regel ab. - Jede Regel kann einer anderen Application Insights-Ressource übereinstimmende Apps zuweisen. Bevorzugen Sie Verbindungszeichenfolgen in unterstützten Szenarien, da Instrumentierungsschlüssel veraltet sind.
Verfügbare Filter
-
MachineFilterodermachineFilter: C# regulärer Ausdruck, der dem Namen des Computers oder virtuellen Computers (VM) entspricht..*passt zu allen Namen. -
AppFilteroderappFilter: C#-regulärer Ausdruck, der dem IIS-Websitenamen (HostingEnvironment.SiteName) entspricht. Dieser Filter ist erforderlich, wenn entwederVirtualPathFilterodervirtualPathFilternicht angegeben wird. -
VirtualPathFilterodervirtualPathFilter: C#-regulärer Ausdruck, der dem virtuellen IIS-Pfad (HostingEnvironment.ApplicationVirtualPath) entspricht. Verwenden Sie diesen Filter, um eine einzelne App unter einer Website als Ziel zu verwenden.
Terminologiezuordnung
- PowerShell-Cmdlets verwenden
MachineFilter,AppFilterundVirtualPathFilter. - Azure VM und VM Scale Sets Erweiterung JSON verwendet
machineFilter,appFilterundvirtualPathFilterund legt die Ressource mitinstrumentationSettingsfest.
Tipp
Schließen Sie eine endgültige Regel ein, die auf alle Apps zutrifft, wie zum Beispiel .*, und weisen Sie eine Standardressource zu, um das Verhalten explizit zu machen.
Die Struktur dieses Cmdlet
- Bereitstellen
-InstrumentationKeyMapals PowerShell-Array von Hashtables. - Legen Sie für dieses Cmdlet die Zielressource pro Regel mit
InstrumentationSettings=@{ InstrumentationKey = '<ikey>' }. - Wenn Sie eine einzelne Ressource für alle Apps auf dem Computer verwenden möchten, nutzen Sie stattdessen
-ConnectionStringoder-InstrumentationKey.
Start-ApplicationInsightsMonitoringTrace
Erfasst ETW-Ereignisse (Ereignisablaufverfolgung für Windows), die von der codelosen Anfügen-Runtime ausgegeben werden. Verwenden Sie dieses Cmdlet als einfachere Alternative zum Ausführen von PerfView.
Ereignisse werden in Echtzeit auf die Konsole gedruckt und auch in eine .etl Datei geschrieben. Sie können die .etl Datei mit PerfView für eine tiefere Analyse öffnen.
Dieses Cmdlet wird ausgeführt, bis es das Timeout erreicht, der Standardwert ist 5 Minuten oder bis Sie es manuell beenden.Ctrl + C
Beispiele
Vorgehensweise beim Sammeln von Ereignissen
Verwenden Sie diesen Fluss, wenn Sie untersuchen müssen, warum eine IIS-App nicht instrumentiert wird.
Die codelose Anfügen-Runtime sendet ETW-Ereignisse beim Start von IIS und beim Start Ihrer Anwendung.
- Führen Sie
iisreset /stopan einer Administratorbefehlsaufforderung aus, um IIS und alle Web-Apps zu beenden. - Beginnen Sie mit der Ablaufverfolgung, indem Sie dieses Cmdlet ausführen.
- Führen Sie an einer Administrator-Eingabeaufforderung
iisreset /startaus, um IIS zu starten. - Starten Sie die Anwendung, indem Sie zu Ihrer App navigieren.
- Nachdem die App das Laden beendet hat, drücken
Ctrl + CSie die Taste, um den Vorgang zu beenden, oder lassen Sie das Timeout zum Beenden der Sitzung zu.
Welche Ereignisse sollen gesammelt werden?
Sie können auswählen, welche Ereignisquellen einbezogen werden sollen:
-
-CollectSdkEventserfasst Ereignisse aus dem Application Insights SDK. -
-CollectRedfieldEventssammelt Ereignisse aus dem Application Insights-Agent und der Redfield-Laufzeit, die für die IIS- und App-Startdiagnose nützlich ist. - Sammeln Sie beide Sätze, indem Sie beide Schalter angeben.
- Wenn Sie keinen Schalter angeben, werden beide Sätze standardmäßig erfasst.
Parameter
-MaxDauerInMinuten
Fakultativ. Legt fest, wie lange vor dem Timeout gesammelt werden soll. Der Standardwert ist 5 Minuten.
-LogDirectory
Fakultativ. Verzeichnis, in das die .etl Datei geschrieben werden soll. Standardmäßig wird die Datei unter dem PowerShell-Modulverzeichnis erstellt. Der vollständige Pfad wird angezeigt, wenn die Sitzung gestartet wird.
-SDK-Ereignisse sammeln
Fakultativ. Schließen Sie Application Insights SDK-Ereignisse ein.
-EreignisseInRedfieldSammeln
Fakultativ. Schließen Sie Ereignisse aus dem Application Insights Agent und der Redfield Runtime ein.
-Verbose
Allgemeiner Parameter. Gibt detaillierte Protokolle aus.
Ausgabe
Beispiel für Anwendungsstartprotokolle
Start-ApplicationInsightsMonitoringTrace -CollectRedfieldEvents
Starting...
Log File: C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\logs\20190627_144217_ApplicationInsights_ETW_Trace.etl
Tracing enabled, waiting for events.
Tracing will timeout in 5 minutes. Press CTRL+C to cancel.
2:42:31 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace Resolved variables to: MicrosoftAppInsights_ManagedHttpModulePath='C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.dll', MicrosoftAppInsights_ManagedHttpModuleType='Microsoft.ApplicationInsights.RedfieldIISModule.RedfieldIISModule'
2:42:31 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace Resolved variables to: MicrosoftDiagnosticServices_ManagedHttpModulePath2='', MicrosoftDiagnosticServices_ManagedHttpModuleType2=''
2:42:31 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace Environment variable 'MicrosoftDiagnosticServices_ManagedHttpModulePath2' or 'MicrosoftDiagnosticServices_ManagedHttpModuleType2' is null, skipping managed dll loading
Feedback
War diese Seite hilfreich?
No
Benötigen Sie Hilfe zu diesem Thema?
Möchten Sie versuchen, Ask Learn zu verwenden, um Sie durch dieses Thema zu klären oder zu leiten?
Zusätzliche Ressourcen
-
Last updated on
2025-09-25