Menyebarkan Agen Azure Monitor Application Insights untuk server lokal
- Artikel
Agen Application Insights (sebelumnya bernama Status Monitor V2) adalah modul PowerShell yang diterbitkan ke Galeri PowerShell. Agen Application Insights menggantikan Status Monitor. Telemetri dikirim ke portal Microsoft Azure, tempat Anda dapat memantau aplikasi.
Untuk daftar lengkap skenario autoinstrumentasi yang didukung, lihat Lingkungan, bahasa, dan penyedia sumber daya yang didukung.
Catatan
Saat ini, modul ini hanya mendukung instrumentasi tanpa kode dari aplikasi web ASP.NET dan ASP.NET Core yang dihosting dengan IIS. Gunakan SDK untuk membuat instrumen aplikasi Java dan Node.js.
Galeri PowerShell
Application Insights Agent terletak di Galeri PowerShell.
Petunjuk
- Untuk mulai menggunakan sampel kode ringkas, lihat tab Memulai .
- Untuk penyelaman mendalam tentang cara memulai, lihat tab Instruksi terperinci.
- Untuk referensi PowerShell API, lihat tab referensi API.
- Untuk pembaruan catatan rilis, lihat tab Catatan rilis .
Tab ini berisi perintah mulai cepat yang diharapkan berfungsi untuk sebagian besar lingkungan. Instruksi bergantung pada Galeri PowerShell untuk mendistribusikan pembaruan. Perintah ini mendukung parameter -Proxy
PowerShell.
Untuk penjelasan tentang perintah ini, instruksi kustomisasi, dan informasi tentang pemecahan masalah, lihat instruksi detail.
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Mengunduh dan menginstal melalui PowerShell Gallery
Gunakan Galeri PowerShell untuk mengunduh dan menginstal.
Prasyarat penginstalan
Untuk mengaktifkan pemantauan, Anda harus memiliki string koneksi. string koneksi ditampilkan di panel Gambaran Umum sumber daya Application Insights Anda. Untuk informasi selengkapnya, lihat String koneksi.
Catatan
Mulai bulan April 2020, PowerShell Gallery telah menghentikan TLS 1.1 dan 1.0.
Untuk prasyarat selengkapnya yang mungkin Anda butuhkan, lihat Dukungan PowerShell Gallery TLS.
Jalankan PowerShell sebagai admin.
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
Tutup PowerShell.
Menginstal Application Insights Agent
Jalankan PowerShell sebagai admin.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name Az.ApplicationMonitor -AllowPrerelease -AcceptLicense
Catatan
Sakelar AllowPrerelease
dalam Install-Module
cmdlet memungkinkan penginstalan rilis beta.
Untuk informasi selengkapnya, lihat Install-Module.
Mengaktifkan pemantauan
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Mengunduh dan menginstal secara manual (opsi offline)
Anda juga dapat mengunduh dan menginstal secara manual.
Mengunduh modul
Unduh modul versi terbaru secara manual dari PowerShell Gallery.
Mengekstrak dan menginstal Application Insights Agent
$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
Mengaktifkan pemantauan
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Tab ini menjelaskan cara onboarding ke Galeri PowerShell dan mengunduh modul ApplicationMonitor. Disertakan adalah parameter paling umum yang Anda butuhkan untuk memulai. Kami juga memberikan petunjuk pengunduhan manual jika Anda tidak memiliki akses internet.
Dapatkan string koneksi
Untuk memulai, Anda memerlukan string koneksi. Untuk informasi selengkapnya, lihat String koneksi.
Catatan
Pada tanggal 31 Maret 2025, dukungan untuk penyerapan kunci instrumentasi akan berakhir. Penyerapan kunci instrumentasi akan berjalan terus, namun kami tidak akan lagi menyediakan pembaruan atau dukungan terhadap fitur tersebut. Transisi ke string koneksi untuk memanfaatkan kemampuan baru.
Jalankan PowerShell sebagai Admin dengan kebijakan eksekusi yang lebih tinggi
Jalankan sebagai admin
PowerShell memerlukan izin tingkat Admin untuk membuat perubahan pada komputer Anda.
Kebijakan eksekusi
- Deskripsi: Secara default, menjalankan skrip PowerShell dinonaktifkan. Sebaiknya izinkan skrip RemoteSigned hanya untuk cakupan Saat Ini.
- Referensi: Tentang Kebijakan Eksekusi dan Set-ExecutionPolicy.
- Perintah:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
. - Parameter opsional:
-Force
. Melewati permintaan konfirmasi.
Contoh kesalahan
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.
Prasyarat untuk PowerShell
Audit instans PowerShell Anda dengan menjalankan perintah $PSVersionTable
.
Perintah ini menghasilkan output berikut:
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
Instruksi ini ditulis dan diuji pada komputer yang menjalankan Windows 10 dan versi berikut.
Prasyarat untuk PowerShell Gallery
Langkah-langkah ini menyiapkan server Anda untuk mengunduh modul dari Galeri PowerShell.
Catatan
PowerShell Gallery didukung pada Windows 10, Windows Server 2016, dan PowerShell 6+. Untuk informasi tentang versi sebelumnya, lihat Memasang PowerShellGet.
Jalankan PowerShell sebagai Admin dengan kebijakan eksekusi yang lebih tinggi.
Pasang penyedia paket NuGet.
- Deskripsi: Anda memerlukan penyedia ini untuk berinteraksi dengan repositori berbasis NuGet seperti PowerShell Gallery.
- Referensi: Install-PackageProvider.
- Perintah:
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201
. - Parameter opsional:
-Proxy
. Menentukan server proksi untuk permintaan.-Force
. Melewati permintaan konfirmasi.
Anda menerima perintah ini jika NuGet tidak disiapkan:
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"):
Konfigurasikan PowerShell Gallery sebagai repositori tepercaya.
- Deskripsi: Secara default, PowerShell Gallery adalah repositori yang tidak tepercaya.
- Referensi: Set-PSRepository.
- Perintah:
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
. - Parameter opsional:
-Proxy
. Menentukan server proksi untuk permintaan.
Anda menerima perintah ini jika Galeri PowerShell tidak tepercaya:
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"):
Anda dapat mengonfirmasi perubahan ini dan mengaudit semua
PSRepositories
dengan menjalankanGet-PSRepository
perintah .Pasang PowerShellGet versi terbaru.
- Deskripsi: Modul ini berisi peralatan yang digunakan untuk mendapatkan modul lain dari PowerShell Gallery. Versi 1.0.0.1 dikirim dengan Windows 10 dan Windows Server. Diperlukan versi 1.6.0 atau yang lebih tinggi. Untuk menentukan versi yang pasang, jalankan perintah
Get-Command -Module PowerShellGet
. - Referensi: Memasang PowerShellGet.
- Perintah:
Install-Module -Name PowerShellGet
. - Parameter opsional:
-Proxy
. Menentukan server proksi untuk permintaan.-Force
. Melewati peringatan "sudah dipasang" dan memasang versi terbaru.
Anda menerima kesalahan ini jika Anda tidak menggunakan versi terbaru PowerShellGet:
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
- Deskripsi: Modul ini berisi peralatan yang digunakan untuk mendapatkan modul lain dari PowerShell Gallery. Versi 1.0.0.1 dikirim dengan Windows 10 dan Windows Server. Diperlukan versi 1.6.0 atau yang lebih tinggi. Untuk menentukan versi yang pasang, jalankan perintah
Mulai ulang PowerShell. Anda tidak dapat memuat versi baru di sesi saat ini. Sesi PowerShell baru memuat versi terbaru PowerShellGet.
Mengunduh dan memasang modul melalui PowerShell Gallery
Langkah-langkah ini mengunduh modul Az.ApplicationMonitor dari Galeri PowerShell.
- Pastikan semua prasyarat untuk PowerShell Gallery terpenuhi.
- Jalankan PowerShell sebagai Admin dengan kebijakan eksekusi yang lebih tinggi.
- Pasang modul Az.ApplicationMonitor.
- Referensi: Modul-Pemasangan.
- Perintah:
Install-Module -Name Az.ApplicationMonitor
. - Parameter opsional:
-Proxy
. Menentukan server proksi untuk permintaan.-AllowPrerelease
. Memungkinkan pemasangan rilis alfa dan beta.-AcceptLicense
. Melewati perintah "Setujui Lisensi"-Force
. Melewati peringatan "Repositori Tidak Tepercaya".
Mengunduh dan memasang modul secara manual (opsi offline)
Jika karena alasan apa pun Anda tidak dapat tersambung ke modul PowerShell, Anda dapat mengunduh dan memasang modul Az.ApplicationMonitor secara manual.
Mengunduh file nupkg terbaru secara manual
- Buka https://www.powershellgallery.com/packages/Az.ApplicationMonitor.
- Pilih file versi terbaru dalam tabel Riwayat Versi.
- Di bagian Opsi Pemasangan, pilih Unduh Secara Manual.
Opsi 1: Pasang ke direktori modul PowerShell
Instal modul PowerShell yang diunduh secara manual ke direktori PowerShell sehingga dapat ditemukan oleh sesi PowerShell. Untuk informasi selengkapnya, lihat Memasang Modul PowerShell.
Unzip nupkg sebagai file zi dengan menggunakan Expand-Archive (v1.0.1.0)
Deskripsi: Microsoft.PowerShell.Archive (v1.0.1.0) versi dasar tidak dapat meng-unzip file nupkg. Ganti nama file dengan ekstensi .zip.
Referensi: Expand-Archive.
Perintah:
$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
Unzip nupkg menggunakan Expand-Archive (v1.1.0.0)
Deskripsi: Gunakan Expand-Archive versi terbaru untuk meng-unzip file nupkg tanpa mengubah ekstensi.
Referensi: Expand-Archive dan Microsoft.PowerShell.Archive.
Perintah:
$pathToNupkg = "C:\az.applicationmonitor.0.2.1-alpha.nupkg" $pathInstalledModule = "$Env:ProgramFiles\WindowsPowerShell\Modules\az.applicationmonitor" Expand-Archive -LiteralPath $pathToNupkg -DestinationPath $pathInstalledModule
Opsi 2: Unzip dan impor nupkg secara manual
Instal modul PowerShell yang diunduh secara manual ke direktori PowerShell sehingga dapat ditemukan oleh sesi PowerShell. Untuk informasi selengkapnya, lihat Memasang Modul PowerShell.
Jika Anda memasang modul ke direktori lain, impor modul secara manual menggunakan Modul-Impor.
Penting
DLL akan dipasang melalui jalur relatif. Simpan konten paket di direktori runtime yang diinginkan dan konfirmasi bahwa izin akses memperbolehkan baca tetapi tidak tulis.
- Ubah ekstensi menjadi ".zip" dan ekstrak isi paket ke direktori pemasangan yang diinginkan.
- Cari jalur file Az.ApplicationMonitor.psd1.
- Jalankan PowerShell sebagai Admin dengan kebijakan eksekusi yang lebih tinggi.
- Muat modul menggunakan perintah
Import-Module Az.ApplicationMonitor.psd1
.
Merutekan lalu lintas melalui proksi
Saat memantau komputer di intranet privat, Anda perlu merutekan lalu lintas HTTP melalui proksi.
Perintah PowerShell untuk mengunduh dan menginstal Az.ApplicationMonitor dari PowerShell Gallery mendukung -Proxy
parameter.
Tinjau petunjuk sebelumnya saat Anda menulis skrip pemasangan.
Application Insights SDK perlu mengirim telemetri aplikasi Anda ke Microsoft. Sebaiknya konfigurasikan pengaturan proksi untuk aplikasi di file web.config Anda. Untuk informasi selengkapnya, lihat Bagaimana cara mencapai passthrough proksi?.
Mengaktifkan pemantauan
Gunakan perintah Enable-ApplicationInsightsMonitoring
untuk mengaktifkan pemantauan.
Lihat referensi API untuk deskripsi terperinci tentang cara menggunakan cmdlet ini.
Tab ini menjelaskan cmdlet berikut, yang merupakan anggota modul Az.ApplicationMonitor PowerShell:
- Enable-InstrumentationEngine
- Enable-ApplicationInsightsMonitoring
- Disable-InstrumentationEngine
- Disable-ApplicationInsightsMonitoring
- Get-ApplicationInsightsMonitoringConfig
- Get-ApplicationInsightsMonitoringStatus
- Set-ApplicationInsightsMonitoringConfig
- Start-ApplicationInsightsMonitoringTrace
Catatan
- Untuk memulai, Anda memerlukan string koneksi. Untuk informasi selengkapnya, lihat Membuat sumber daya.
- Cmdlet ini mengharuskan Anda meninjau dan menerima lisensi serta pernyataan privasi kami.
Catatan
Pada tanggal 31 Maret 2025, dukungan untuk penyerapan kunci instrumentasi akan berakhir. Penyerapan kunci instrumentasi akan berjalan terus, namun kami tidak akan lagi menyediakan pembaruan atau dukungan terhadap fitur tersebut. Transisi ke string koneksi untuk memanfaatkan kemampuan baru.
Penting
Cmdlet ini memerlukan sesi PowerShell dengan izin Admin dan kebijakan eksekusi yang ditinggikan. Untuk informasi selengkapnya, lihat Menjalankan PowerShell sebagai administrator dengan kebijakan eksekusi yang ditinggikan.
- Cmdlet ini mengharuskan Anda meninjau dan menerima lisensi serta pernyataan privasi kami.
- Mesin instrumentasi menambahkan overhead tambahan dan nonaktif secara default.
Enable-InstrumentationEngine
Mengaktifkan mesin instrumentasi dengan mengatur beberapa kunci registri. Menghidupkan ulang IIS agar perubahan diterapkan.
Mesin instrumentasi dapat melengkapi data yang dikumpulkan oleh .NET SDK. Mesin ini mengumpulkan peristiwa dan pesan yang menggambarkan eksekusi proses terkelola. Peristiwa dan pesan ini termasuk kode hasil dependensi, kata kerja HTTP, dan teks perintah SQL.
Mengaktifkan mesin instrumentasi jika:
- Anda telah mengaktifkan pemantauan dengan Mengaktifkan cmdlet tetapi tidak mengaktifkan mesin instrumentasi.
- Anda telah melengkapi aplikasi anda secara manual dengan .NET SDK dan ingin mengumpulkan telemetri tambahan.
Contoh
Enable-InstrumentationEngine
Parameter
-AcceptLicense
Opsional. Gunakan switch ini untuk menerima lisensi dan pernyataan privasi dalam instalasi tanpa kepala.
-Verbose
Parameter umum. Gunakan switch ini ke output log terperinci.
Output
Contoh output berhasil mengaktifkan mesin instrumentasi
Configuring IIS Environment for instrumentation engine...
Configuring registry for instrumentation engine...
Enable-ApplicationInsightsMonitoring
Mengaktifkan pemantauan lampirkan tanpa kode aplikasi IIS di komputer target.
Cmdlet ini memodifikasi applicationHost.config IIS dan mengatur beberapa kunci registri. Ini membuat file applicationinsights.ikey.config, yang menentukan kunci instrumentasi yang digunakan oleh setiap aplikasi. IIS memuat RedfieldModule saat startup, yang menyuntikkan Application Insights SDK ke dalam aplikasi saat aplikasi dimulai. Menghidupkan ulang IIS agar perubahan diterapkan.
Setelah mengaktifkan pemantauan, sebaiknya gunakan Live Metrics untuk memeriksa apakah aplikasi Anda mengirimkan telemetri kepada kami dengan cepat.
Contoh
Contoh dengan satu string koneksi
Dalam contoh ini, semua aplikasi di komputer saat ini diberi satu string koneksi.
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'
Contoh dengan kunci instrumentasi tunggal
Dalam contoh ini, semua aplikasi di komputer saat ini ditetapkan kunci instrumentasi tunggal.
Enable-ApplicationInsightsMonitoring -InstrumentationKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Contoh dengan peta kunci instrumentasi
Dalam contoh ini:
MachineFilter
mencocokkan komputer saat ini dengan menggunakan'.*'
kartubebas.AppFilter='WebAppExclude'
menyediakannull
kunci instrumentasi. Aplikasi yang ditentukan tidak diinstrumentasikan.AppFilter='WebAppOne'
menetapkan aplikasi yang ditentukan kunci instrumentasi unik.AppFilter='WebAppTwo'
menetapkan aplikasi yang ditentukan kunci instrumentasi unik.AppFilter
'.*'
menggunakan wildcard untuk mencocokkan aplikasi web apa pun yang belum cocok dan menetapkan kunci instrumentasi default.- Spasi ditambahkan untuk keterbacaan.
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'}})
Catatan
Penamaan AppFilter dalam konteks ini dapat membingungkan, AppFilter
mengatur filter regex nama aplikasi (HostingEnvironment.SiteName dalam kasus .NET di IIS). VirtualPathFilter
mengatur filter regex jalur virtual (HostingEnvironment.ApplicationVirtualPath dalam kasus .NET di IIS). Untuk menginstrumentasikan aplikasi tunggal Anda akan menggunakan VirtualPathFilter sebagai berikut: Enable-ApplicationInsightsMonitoring -InstrumentationKeyMap @(@{VirtualPathFilter="^/MyAppName$"; InstrumentationSettings=@{InstrumentationKey='<your ikey>'}})
Parameter
-ConnectionString
Harus diisi. Gunakan parameter ini untuk menyediakan satu string koneksi untuk digunakan oleh semua aplikasi di komputer target.
-InstrumentationKey
Harus diisi. Gunakan parameter ini untuk menyediakan kunci instrumentasi tunggal untuk digunakan oleh semua aplikasi di komputer target.
-InstrumentationKeyMap
Harus diisi. Gunakan parameter ini untuk menyediakan beberapa kunci instrumentasi dan pemetaan kunci instrumentasi yang digunakan oleh setiap aplikasi.
Anda dapat membuat skrip instalasi tunggal untuk beberapa komputer dengan mengatur MachineFilter
.
Penting
Aplikasi cocok dengan aturan dalam urutan aturan disediakan. Jadi Anda harus menentukan aturan yang paling spesifik terlebih dahulu dan aturan paling umum terakhir.
Skema
@(@{MachineFilter='.*';AppFilter='.*';InstrumentationSettings=@{InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'}})
- MachineFilter adalah regex C# yang diperlukan komputer atau nama Komputer Virtual.
- '.*' cocok dengan semua
- 'ComputerName' hanya cocok dengan komputer dengan nama yang tepat yang ditentukan.
- AppFilter adalah regex C# yang diperlukan dari Nama Situs IIS. Anda bisa mendapatkan daftar situs di server Anda dengan menjalankan perintah get-iissite.
- '.*' cocok dengan semua
- 'SiteName' hanya cocok dengan Situs IIS dengan nama yang tepat yang ditentukan.
- InstrumentationKey diperlukan untuk mengaktifkan pemantauan aplikasi yang cocok dengan dua filter sebelumnya.
- Biarkan nilai ini null jika Anda ingin menentukan aturan untuk mengecualikan pemantauan.
-EnableInstrumentationEngine
Opsional. Gunakan switch ini untuk mengaktifkan mesin instrumentasi untuk mengumpulkan peristiwa dan pesan tentang apa yang terjadi selama pelaksanaan eksekusi proses terkelola. Peristiwa dan pesan ini termasuk kode hasil dependensi, kata kerja HTTP, dan teks perintah SQL.
Mesin instrumentasi menambahkan overhead dan nonaktif secara default.
-AcceptLicense
Opsional. Gunakan switch ini untuk menerima lisensi dan pernyataan privasi dalam instalasi tanpa kepala.
-IgnoreSharedConfig
Jika Anda memiliki kluster server web, Anda mungkin menggunakan konfigurasi bersama. HttpModule tidak dapat dimasukkan ke dalam konfigurasi bersama ini. Skrip ini gagal dengan pesan bahwa langkah-langkah penginstalan tambahan diperlukan. Gunakan switch ini untuk mengabaikan pemeriksaan ini dan lanjutkan pemasangan prasyarat. Untuk informasi selengkapnya, lihat konfigurasi bersama konflik-dengan-iis-yang diketahui
-Verbose
Parameter umum. Gunakan switch ini untuk menampilkan log terperinci.
-WhatIf
Parameter umum. Gunakan switch ini untuk menguji dan memvalidasi parameter input Anda tanpa benar-benar mengaktifkan pemantauan.
Output
Contoh output pemanfaatan yang berhasil
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
Menonaktifkan mesin instrumentasi dengan menghapus beberapa kunci registri. Menghidupkan ulang IIS agar perubahan diterapkan.
Contoh
Disable-InstrumentationEngine
Parameter
-Verbose
Parameter umum. Gunakan switch ini ke output log terperinci.
Output
Contoh output berhasil menonaktifkan mesin instrumentasi
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
Menonaktifkan pemantauan pada komputer target. Cmdlet ini menghapus pengeditan ke applicationHost.config IIS dan menghapus kunci registri.
Contoh
Disable-ApplicationInsightsMonitoring
Parameter
-Verbose
Parameter umum. Gunakan switch ini untuk menampilkan log terperinci.
Output
Contoh output berhasil menonaktifkan pemantauan
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
Mendapatkan file konfigurasi dan mencetak nilai ke konsol.
Contoh
Get-ApplicationInsightsMonitoringConfig
Parameter
Tidak diperlukan parameter.
Output
Contoh output membaca file konfigurasi
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
Cmdlet ini menyediakan informasi pemecahan masalah tentang Agen Application Insights. Gunakan cmdlet ini untuk menyelidiki status pemantauan, versi Modul PowerShell, dan untuk memeriksa proses yang sedang berjalan. Cmdlet ini melaporkan informasi versi dan informasi tentang file kunci yang diperlukan untuk pemantauan.
Contoh
Contoh: Status aplikasi
Jalankan perintah Get-ApplicationInsightsMonitoringStatus
untuk menampilkan status pemantauan situs web.
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
Dalam contoh ini;
Pengidentifikasi Mesin adalah ID anonim yang digunakan untuk mengidentifikasi server Anda secara unik. Jika Anda membuat permintaan dukungan, kami memerlukan ID ini untuk menemukan log untuk server Anda.
Situs Web Default Dihentikan di IIS
DemoWebApp111 telah dimulai di IIS, tetapi belum menerima permintaan apa pun. Laporan ini menunjukkan bahwa tidak ada proses yang berjalan (ProcessId: tidak ditemukan).
DemoWebApp222 sedang berjalan dan sedang dipantau (Terinstrumentasi: benar). Berdasarkan konfigurasi pengguna, Kunci Instrumentasi xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxx123 dicocokkan untuk situs ini.
DemoWebApp333 telah terinstrumentasi secara manual menggunakan Application Insights SDK. Agen Application Insights mendeteksi SDK dan tidak memantau situs ini.
Kehadiran
AppAlreadyInstrumented : true
menandakan bahwa agen Application Insights mengidentifikasi dll yang bertentangan yang dimuat dalam aplikasi web, mengasumsikan bahwa aplikasi web diinstrumentasikan secara manual, dan agen telah mundur dan tidak melengkapi proses ini.Instrumented : true
menunjukkan bahwa agen Application Insights berhasil melengkapi aplikasi web yang berjalan dalam proses w3wp.exe yang ditentukan.
Contoh: Informasi modul PowerShell
Jalankan perintah Get-ApplicationInsightsMonitoringStatus -PowerShellModule
untuk menampilkan informasi tentang modul saat ini:
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
Contoh: Status runtime bahasa umum
Anda dapat memeriksa proses pada komputer terinstrumentasi untuk melihat apakah semua DLL termuat. Jika pemantauan berfungsi, setidaknya 12 DLL harus dimuat.
Jalankan Get-ApplicationInsightsMonitoringStatus -InspectProcess
perintah:
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
(Tidak ada parameter)
Secara default, cmdlet ini melaporkan status pemantauan aplikasi web. Gunakan opsi ini untuk meninjau apakah aplikasi Anda berhasil terinstrumentasi. Anda juga dapat meninjau Kunci Instrumentasi mana yang cocok dengan situs Anda.
-PowerShellModule
Opsional. Gunakan switch ini untuk melaporkan nomor versi dan jalur DL yang diperlukan untuk pemantauan. Gunakan opsi ini jika Anda perlu mengidentifikasi versi DLL apa pun, termasuk SDK Application Insights.
-InspectProcess
Opsional. Gunakan switch ini untuk melaporkan apakah IIS sedang berjalan. Ini mengunduh alat eksternal untuk menentukan apakah DLL yang diperlukan dimuat ke dalam runtime IIS.
Jika proses ini gagal karena alasan apa pun, Anda dapat menjalankan perintah ini secara manual:
- iisreset.exe /status
- handle64.exe -p w3wp | findstr /I "InstrumentationEngine AI. ApplicationInsights”
- listdlls64.exe w3wp | findstr / I "InstrumentationEngine AI ApplicationInsights"
-Force
Opsional. Hanya digunakan dengan InspectProcess. Gunakan sakelar ini untuk melewati perintah pengguna yang muncul sebelum lebih banyak alat diunduh.
Set-ApplicationInsightsMonitoringConfig
Menyetel file konfigurasi tanpa melakukan penginstalan ulang penuh. Menghidupkan ulang IIS agar perubahan diterapkan.
Penting
Cmdlet ini memerlukan sesi PowerShell dengan izin Admin.
Contoh
Contoh dengan kunci instrumentasi tunggal
Dalam contoh ini, semua aplikasi di komputer saat ini ditetapkan kunci instrumentasi tunggal.
Enable-ApplicationInsightsMonitoring -InstrumentationKey xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Contoh dengan peta kunci instrumentasi
Dalam contoh ini:
MachineFilter
mencocokkan komputer saat ini dengan menggunakan'.*'
kartubebas.AppFilter='WebAppExclude'
menyediakannull
kunci instrumentasi. Aplikasi yang ditentukan tidak diinstrumentasikan.AppFilter='WebAppOne'
menetapkan aplikasi yang ditentukan kunci instrumentasi unik.AppFilter='WebAppTwo'
menetapkan aplikasi yang ditentukan kunci instrumentasi unik.AppFilter
'.*'
menggunakan wildcard untuk mencocokkan aplikasi web yang belum cocok dan menetapkan kunci instrumentasi default.- Spasi ditambahkan untuk keterbacaan.
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
Harus diisi. Gunakan parameter ini untuk menyediakan kunci instrumentasi tunggal untuk digunakan oleh semua aplikasi di komputer target.
-InstrumentationKeyMap
Harus diisi. Gunakan parameter ini untuk menyediakan beberapa kunci instrumentasi dan pemetaan kunci instrumentasi yang digunakan oleh setiap aplikasi.
Anda dapat membuat skrip instalasi tunggal untuk beberapa komputer dengan mengatur MachineFilter
.
Penting
Aplikasi cocok dengan aturan dalam urutan aturan disediakan. Jadi Anda harus menentukan aturan yang paling spesifik terlebih dahulu dan aturan paling umum terakhir.
Skema
@(@{MachineFilter='.*';AppFilter='.*';InstrumentationKey='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'})
- MachineFilter adalah regex C# yang diperlukan komputer atau nama Komputer Virtual.
- '.*' cocok dengan semua
- 'ComputerName' hanya cocok dengan komputer dengan nama yang ditentukan.
- AppFilter adalah regex C# yang diperlukan nama komputer atau Komputer Virtual.
- '.*' cocok dengan semua
- 'ApplicationName' hanya cocok dengan aplikasi IIS dengan nama yang ditentukan.
- InstrumentationKey diperlukan untuk mengaktifkan pemantauan aplikasi yang cocok dengan dua filter sebelumnya.
- Biarkan nilai ini null jika Anda ingin menentukan aturan untuk mengecualikan pemantauan.
-Verbose
Parameter umum. Gunakan switch ini untuk menampilkan log terperinci.
Output
Secara default, tidak ada output.
Contoh output verbose dari pengaturan file konfigurasi melalui -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
Contoh output verbose dari pengaturan file konfigurasi melalui -InstrumentationMap
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
Mengumpulkan Peristiwa ETW dari runtime bahasa umum lampirkan tanpa kode. Cmdlet ini adalah alternatif untuk menjalankan PerfView.
Peristiwa dikumpulkan, dicetak ke konsol secara real time, dan disimpan ke file ETL. Anda dapat membuka file ETL output dengan PerfView untuk penyelidikan lebih lanjut.
Cmdlet ini berjalan hingga mencapai durasi batas waktu (default 5 menit) atau dihentikan secara manual (Ctrl + C
).
Contoh
Cara mengumpulkan peristiwa
Biasanya kami akan meminta Anda mengumpulkan peristiwa untuk menyelidiki alasan aplikasi Anda tidak di-instrumentasi.
Runtime lampiran tanpa kode memancarkan peristiwa ETW saat IIS dimulai dan ketika aplikasi Anda dimulai.
Untuk mengumpulkan peristiwa ini:
- Di konsol cmd dengan hak istimewa admin, jalankan
iisreset /stop
untuk menghentikan IIS dan semua aplikasi web. - Jalankan cmdlet ini
- Di konsol cmd dengan hak istimewa admin, jalankan
iisreset /start
untuk memulai IIS. - Coba telusuri ke aplikasi Anda.
- Setelah aplikasi selesai dimuat, Anda dapat menghentikannya secara manual (
Ctrl + C
) atau menunggu waktu habis.
Peristiwa apa yang akan dikumpulkan
Anda memiliki tiga opsi saat mengumpulkan peristiwa:
- Gunakan switch
-CollectSdkEvents
untuk mengumpulkan peristiwa yang dipancarkan dari Application Insights SDK. - Gunakan sakelar
-CollectRedfieldEvents
untuk mengumpulkan peristiwa yang dipancarkan oleh Application Insights Agent dan Redfield Runtime. Log ini sangat membantu saat mendiagnosis IIS dan aplikasi pengaktifan. - Gunakan kedua switch untuk mengumpulkan kedua jenis peristiwa.
- Secara default, jika tidak ada sakelar yang ditentukan, kedua jenis peristiwa dikumpulkan.
Parameter
-MaxDurationInMinutes
Opsional. Gunakan parameter ini untuk mengatur berapa lama skrip ini harus mengumpulkan peristiwa. Defaultnya adalah 5 menit.
-LogDirectory
Opsional. Gunakan switch ini untuk mengatur direktori output dari file ETL. Secara default, file ini dibuat di direktori Modul PowerShell. Jalur lengkap ditampilkan selama eksekusi skrip.
-CollectSdkEvents
Opsional. Gunakan switch ini untuk mengumpulkan peristiwa SDK Application Insights.
-CollectRedfieldEvents
Opsional. Gunakan sakelar ini untuk mengumpulkan peristiwa dari Application Insights Agent dan runtime Redfield.
-Verbose
Parameter umum. Gunakan switch ini ke output log terperinci.
Output
Contoh log aplikasi pengaktifan
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...
Pembaruan catatan rilis tercantum di sini.
2.0.0
- Memperbarui Application Insights .NET/.NET Core SDK ke
2.21.0-redfield
2.0.0-beta3
- Memperbarui Application Insights .NET/.NET Core SDK ke
2.20.1-redfield
- Mengaktifkan kumpulan kueri SQL
2.0.0-beta2
Memperbarui Application Insights .NET/.NET Core SDK ke 2.18.1-redfield
2.0.0-beta1
Menambahkan fitur autoinstrumentasi ASP.NET Core
Tanya jawab umum
Bagian ini menyediakan jawaban atas pertanyaan umum.
Apakah Agen Application Insights mendukung penginstalan proksi?
Ya. Ada beberapa cara untuk mengunduh Agen Application Insights:
- Jika komputer Anda memiliki akses internet, Anda dapat masuk ke Galeri PowerShell dengan menggunakan parameter
-Proxy
. - Anda juga dapat mengunduh modul secara manual dan memasangnya di komputer Anda atau menggunakannya secara langsung.
Masing-masing opsi ini dijelaskan dalam instruksi terperinci.
Apakah Agen Application Insights mendukung aplikasi ASP.NET Core?
Ya. Di Application Insights Agent 2.0.0 dan yang lebih baru, aplikasi ASP.NET Core yang dihosting di IIS didukung.
Bagaimana cara memverifikasi bahwa pengaktifan telah berhasil?
- Anda dapat menggunakan cmdlet Get-ApplicationInsightsMonitoringStatus untuk memverifikasi bahwa pengaktifan berhasil.
Gunakan Metrik Langsung untuk menentukan dengan cepat apakah aplikasi Anda mengirim telemetri.
Anda juga dapat menggunakan Analitik Log untuk mencantumkan semua peran cloud yang saat ini mengirimkan telemetri:
union * | summarize count() by cloud_RoleName, cloud_RoleInstance
Bagaimana cara mencapai passthrough proksi?
Untuk mencapai passthrough proksi, konfigurasikan proksi tingkat mesin atau proksi tingkat aplikasi. Lihat DefaultProxy.
Contoh Web.config:
<system.net>
<defaultProxy>
<proxy proxyaddress="http://xx.xx.xx.xx:yyyy" bypassonlocal="true"/>
</defaultProxy>
</system.net>
Pemecahan Masalah
Lihat artikel pemecahan masalah khusus.
Menguji konektivitas antara host aplikasi Anda dan layanan penyerapan
Application Insights SDK dan agen mengirim telemetri untuk diserap sebagai panggilan REST ke titik akhir penyerapan kami. Anda dapat menguji konektivitas dari server web atau komputer host aplikasi Anda ke titik akhir layanan penyerapan dengan menggunakan klien REST mentah dari PowerShell atau perintah curl. Lihat Memecahkan masalah telemetri aplikasi yang hilang di Azure Monitor Application Insights.
Langkah berikutnya
Menampilkan telemetri Anda:
- Jelajahi metrik untuk memantau performa dan penggunaan.
- Cari peristiwa dan log untuk mendiagnosis masalah.
- Gunakan Analitik Log untuk kueri yang lebih canggih.
- Buat dasbor.
Tambahkan lebih banyak telemetri:
- Gambaran umum ketersediaan
- Tambahkan telemetri klien web untuk melihat pengecualian dari kode halaman web dan untuk mengaktifkan panggilan pelacakan.
- Tambahkan Application Insights SDK ke kode Anda sehingga Anda dapat menyisipkan jejak dan panggilan log.
Lakukan lebih banyak hal dengan Agen Application Insights:
- Memecahkan masalah Agen Application Insights.
Saran dan Komentar
Apakah halaman ini membantu?