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.
-
2025-05-15
Application Insights-Agent (früher Statusmonitor V2) ist ein im PowerShell-Katalog veröffentlichtes PowerShell-Modul. 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 Szenarien für die automatische Instrumentierung finden Sie unter Unterstützte Umgebungen, Sprachen und Ressourcenanbieter.
Hinweis
Das Modul unterstützt derzeit die codelose Instrumentierung von mit IIS gehosteten ASP.NET- und ASP.NET Core-Web-Apps. 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
Im April 2020 wurden TLS 1.1 und 1.0 im PowerShell-Katalog als veraltet markiert.
Informationen zu weiteren möglichen Voraussetzungen finden Sie unter PowerShell-Katalog: 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-PSRepository
ausfü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 PowerShellGet
aus. - 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
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.
- Die Instrumentierungs-Engine erfordert zusätzlichen 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.
Die Instrumentierungs-Engine kann Daten ergänzen, die mit .NET SDKs gesammelt wurden. 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 wird allen Apps auf dem aktuellen Computer eine einzige Verbindungszeichenfolge zugewiesen.
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Beispiel mit einem einzelnen Instrumentierungsschlüssel
In diesem Beispiel wird allen Apps auf dem aktuellen Computer ein einziger Instrumentierungsschlüssel zugewiesen.
Enable-ApplicationInsightsMonitoring -InstrumentationKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Beispiel mit Zuordnung des Instrumentierungsschlüssels
In diesem Beispiel:
MachineFilter
sucht mithilfe des Platzhalters'.*'
nach dem aktuellen Computer.AppFilter='WebAppExclude'
gibtnull
als 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.AppFilter
verwendet 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'}})
Hinweis
Die Benennung von „AppFilter“ in diesem Kontext kann verwirrend sein. AppFilter
legt den RegEx-Filter für den Anwendungsnamen fest („HostingEnvironment.SiteName“ im Fall von .NET unter IIS). VirtualPathFilter
legt den RegEx-Filter für den virtuellen Pfad fest („HostingEnvironment.ApplicationVirtualPath“ im Fall von .NET unter IIS). Zum Instrumentieren einer einzelnen App verwenden Sie dann „VirtualPathFilter“ wie folgt: Enable-ApplicationInsightsMonitoring -InstrumentationKeyMap @(@{VirtualPathFilter="^/MyAppName$"; InstrumentationSettings=@{InstrumentationKey='<your ikey>'}})
Parameter
-ConnectionString
Erforderlich. Verwenden Sie diesen Parameter, um eine einzige Verbindungszeichenfolge für die Verwendung durch alle Apps auf dem Zielcomputer bereitzustellen.
-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 werden mit den Regeln in der Reihenfolge abgeglichen, in der diese Regeln bereitgestellt wurden. Geben Sie daher zuerst die spezifischsten Regeln und am Schluss die allgemeinsten Regeln an.
Schema
@(@{MachineFilter='.*';AppFilter='.*';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}})
- MachineFilter ist ein erforderlicher regulärer C#-Ausdruck des Computer- oder 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.
DemoWebApp111 wurde in IIS gestartet, hat aber noch keine Anforderungen empfangen. Dieser Bericht zeigt an, dass dieser Prozess derzeit nicht ausgeführt wird („ProcessId: not found“).
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 wurde manuell mit dem Application Insights-SDK instrumentiert. Der Application Insights-Agent hat das SDK erkannt und überwacht diese Website nicht.
Das Vorhandensein von
AppAlreadyInstrumented : true
bedeutet, 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 : true
gibt 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 -p w3wp | findstr /I "InstrumentationEngine AI. ApplicationInsights"
- listdlls64.exe 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 wird allen Apps auf dem aktuellen Computer ein einziger Instrumentierungsschlüssel zugewiesen.
Enable-ApplicationInsightsMonitoring -InstrumentationKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Beispiel mit Zuordnung des Instrumentierungsschlüssels
In diesem Beispiel:
MachineFilter
sucht mithilfe des Platzhalters'.*'
nach dem aktuellen Computer.AppFilter='WebAppExclude'
gibtnull
als 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.AppFilter
verwendet 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 werden mit den Regeln in der Reihenfolge abgeglichen, in der diese Regeln bereitgestellt wurden. Geben Sie daher zuerst die spezifischsten Regeln und am Schluss die allgemeinsten Regeln an.
Schema
@(@{MachineFilter='.*';AppFilter='.*';InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'})
- MachineFilter ist ein erforderlicher regulärer C#-Ausdruck des Computer- oder VM-Namens.
- '.*' findet alle.
- 'ComputerName' findet nur Computer mit dem angegebenen Namen.
- AppFilter ist ein erforderlicher regulärer C#-Ausdruck des Computer- oder VM-Namens.
- '.*' findet alle.
- 'ApplicationName' findet nur IIS-Anwendungen mit dem angegebenen Namen.
- InstrumentationKey ist erforderlich, um die Überwachung der Apps zu aktivieren, die den beiden obigen Filtern entsprechen.
- Behalten Sie für diesen Wert NULL bei, wenn Sie Regeln zum Ausschließen der Überwachung definieren möchten.
-Verbose
Allgemeiner Parameter. Verwenden Sie diesen Parameter, um detaillierte Protokolle anzuzeigen.
Ausgabe
Standardmäßig erfolgt keine Ausgabe.
Beispielhafte ausführliche Ausgabe beim Festlegen der Konfigurationsdatei mit -InstrumentationKey
VERBOSE: Operation: InstallWithIkey
VERBOSE: InstrumentationKeyMap parsed:
Filters:
0)InstrumentationKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx AppFilter: .* MachineFilter: .*
VERBOSE: set config file
VERBOSE: Config File Path:
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\applicationInsights.ikey.config
Beispielhafte ausführliche Ausgabe beim Festlegen der Konfigurationsdatei mit -InstrumentationKeyMap
VERBOSE: Operation: InstallWithIkeyMap
VERBOSE: InstrumentationKeyMap parsed:
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: .*
VERBOSE: set config file
VERBOSE: Config File Path:
C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\applicationInsights.ikey.config
Start-ApplicationInsightsMonitoringTrace
Sammelt ETW-Ereignisse aus der codeless Attach-Laufzeitumgebung. Dieses Cmdlet ist eine Alternative zur Ausführung von PerfView.
Ereignisse werden erfasst, in Echtzeit an der Konsole ausgegeben und in einer ETL-Datei gespeichert. Sie können die ETL-Ausgabedatei zur weiteren Untersuchung mit PerfView öffnen.
Dieses Cmdlet wird ausgeführt, bis es die Timeoutdauer erreicht (standardmäßig 5 Minuten) oder manuell beendet wird (Ctrl + C
).
Beispiele
Vorgehensweise beim Sammeln von Ereignissen
Normalerweise würden wir Sie auffordern, Ereignisse zu sammeln, um zu untersuchen, warum Ihre Anwendung nicht instrumentiert wird.
Die Runtime des Anfügens ohne Code sendet ETW-Ereignisse beim Start von IIS und beim Start Ihrer Anwendung.
So sammeln Sie diese Ereignisse:
- Führen Sie
iisreset /stop
in einer Befehlszeilenkonsole mit Administratorrechten aus, um IIS und alle Webanwendungen zu beenden. - Ausführen dieses Cmdlets
- Führen Sie
iisreset /start
in einer Befehlszeilenkonsole mit Administratorrechten aus, um IIS zu starten. - Versuchen Sie, zu Ihrer App zu navigieren.
- Nachdem Ihre App geladen ist, können Sie sie manuell beenden (
Ctrl + C
) oder auf das Timeout warten.
Welche Ereignisse sollen gesammelt werden?
Beim Sammeln von Ereignissen haben Sie drei Möglichkeiten:
- Verwenden Sie den Schalter
-CollectSdkEvents
zum Sammeln von Ereignissen, die vom Application Insights SDK ausgegeben werden. - Verwenden Sie den Schalter
-CollectRedfieldEvents
zum Sammeln von Ereignissen, die von Application Insights Agent und Redfield Runtime ausgegeben werden. Diese Protokolle sind hilfreich zur Diagnose von IIS und Start der Anwendung. - Verwenden Sie beide Schalter, um beide Ereignistypen zu sammeln.
- Wenn kein Schalter angegeben ist, werden standardmäßig beide Ereignistypen erfasst.
Parameter
-MaxDauerInMinuten
Fakultativ. Verwenden Sie diesen Parameter, um festzulegen, wie lange das Skript Ereignisse sammeln soll. Die Standardeinstellung ist 5 Minuten.
-LogDirectory
Fakultativ. Verwenden Sie diesen Schalter, um das Ausgabeverzeichnis der ETL-Datei festzulegen. Standardmäßig wird diese Datei im PowerShell Modules-Verzeichnis erstellt. Der vollständige Pfad wird während der Ausführung des Skripts angezeigt.
-SDK-Ereignisse sammeln
Fakultativ. Verwenden Sie diesen Schalter, um Application Insights SDK-Ereignisse zu sammeln.
-EreignisseInRedfieldSammeln
Fakultativ. Verwenden Sie diesen Schalter zum Sammeln von Ereignissen von Application Insights Agent und Redfield Runtime.
-Verbose
Allgemeiner Parameter. Verwenden Sie diesen Schalter, um detaillierte Protokolle auszugeben.
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
2:42:31 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace MulticastHttpModule.constructor, success, 70 ms
2:42:31 PM EVENT: Microsoft-ApplicationInsights-RedfieldIISModule Trace Current assembly 'Microsoft.ApplicationInsights.RedfieldIISModule, Version=2.8.18.27202, Culture=neutral, PublicKeyToken=f23a46de0be5d6f3' ___location 'C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.RedfieldIISModule.dll'
2:42:31 PM EVENT: Microsoft-ApplicationInsights-RedfieldIISModule Trace Matched filter '.*'~'STATUSMONITORTE', '.*'~'DemoWithSql'
2:42:31 PM EVENT: Microsoft-ApplicationInsights-RedfieldIISModule Trace Lightup assembly calculated path: 'C:\Program Files\WindowsPowerShell\Modules\Az.ApplicationMonitor\content\Runtime\Microsoft.ApplicationInsights.Redfield.Lightup.dll'
2:42:31 PM EVENT: Microsoft-ApplicationInsights-FrameworkLightup Trace Loaded applicationInsights.config from assembly's resource Microsoft.ApplicationInsights.Redfield.Lightup, Version=2.8.18.27202, Culture=neutral, PublicKeyToken=f23a46de0be5d6f3/Microsoft.ApplicationInsights.Redfield.Lightup.ApplicationInsights-recommended.config
2:42:34 PM EVENT: Microsoft-ApplicationInsights-FrameworkLightup Trace Successfully attached ApplicationInsights SDK
2:42:34 PM EVENT: Microsoft-ApplicationInsights-RedfieldIISModule Trace RedfieldIISModule.LoadLightupAssemblyAndGetLightupHttpModuleClass, success, 2687 ms
2:42:34 PM EVENT: Microsoft-ApplicationInsights-RedfieldIISModule Trace RedfieldIISModule.CreateAndInitializeApplicationInsightsHttpModules(lightupHttpModuleClass), success
2:42:34 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace ManagedHttpModuleHelper, multicastHttpModule.Init() success, 3288 ms
2:42:35 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:35 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace Resolved variables to: MicrosoftDiagnosticServices_ManagedHttpModulePath2='', MicrosoftDiagnosticServices_ManagedHttpModuleType2=''
2:42:35 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace Environment variable 'MicrosoftDiagnosticServices_ManagedHttpModulePath2' or 'MicrosoftDiagnosticServices_ManagedHttpModuleType2' is null, skipping managed dll loading
2:42:35 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace MulticastHttpModule.constructor, success, 0 ms
2:42:35 PM EVENT: Microsoft-ApplicationInsights-RedfieldIISModule Trace RedfieldIISModule.CreateAndInitializeApplicationInsightsHttpModules(lightupHttpModuleClass), success
2:42:35 PM EVENT: Microsoft-ApplicationInsights-IIS-ManagedHttpModuleHelper Trace ManagedHttpModuleHelper, multicastHttpModule.Init() success, 0 ms
Timeout Reached. Stopping...
Die Updates der Versionshinweise sind hier aufgeführt.
2.0.0
- Das Application Insights .NET/.NET Core SDK wurde auf
2.21.0-redfield
aktualisiert.
2.0.0-beta3
- Das Application Insights .NET/.NET Core SDK wurde auf
2.20.1-redfield
aktualisiert. - Aktivierte SQL-Abfragesammlung
2.0.0-beta2
Das Application Insights .NET/.NET Core SDK wurde auf 2.18.1-redfield
aktualisiert.
2.0.0-beta1
Das ASP.NET Core-Feature zur automatischen Instrumentierung wurde hinzugefügt.
Problembehandlung
Informationen finden Sie in dem dedizierten Artikel zur Problembehandlung.
Testen der Konnektivität zwischen Ihrem Anwendungshost und dem Erfassungsdienst
Application Insights SDKs und -Agents senden Telemetriedaten, die als REST-Aufrufe unserer Erfassungsendpunkte erfasst werden sollen. Sie können die Konnektivität Ihres Webservers oder Anwendungshostcomputers mit den Endpunkten des Erfassungsdiensts testen, indem Sie unformatierte REST-Clients über PowerShell- oder cURL-Befehle verwenden. Weitere Informationen finden Sie unter Problembehandlung bei fehlender Anwendungstelemetrie in Azure Monitor Application Insights.
Nächste Schritte
Häufig gestellte Fragen überprüfen (FAQ):
Anzeigen der Telemetrie:
- Untersuchen Sie Metriken zum Überwachen der Leistung und Nutzung.
- Durchsuchen Sie Ereignisse und Protokolle, um Probleme zu diagnostizieren.
- Verwenden Sie Log Analytics für erweiterte Abfragen.
- Erstellen Sie Dashboards.
Hinzufügen weiterer Telemetrieelemente:
- Übersicht über die Verfügbarkeit
- Fügen Sie Webclient-Telemetriedaten hinzu, um Ausnahmen von Webseitencode anzuzeigen und Ablaufverfolgungsaufrufe zu aktivieren.
- Fügen Sie Ihrem Code das Application Insights-SDK hinzu, um Ablaufverfolgungs- und Protokollaufrufe einfügen zu können.
Weitere Verwendungsmöglichkeiten für den Application Insights-Agent:
- Probleme beheben beim Application Insights-Agent
Feedback
War diese Seite hilfreich?