Sumber daya Application Insights berbasis ruang kerja

Sumber daya berbasis ruang kerja Azure MonitorApplication Insights mengintegrasikan Application Insights dan Analitik Log.

Dengan sumber daya berbasis ruang kerja, Application Insights mengirimkan telemetri ke ruang kerja Analitik Log umum, menyediakan akses penuh ke semua fitur Analitik Log sambil menjaga aplikasi, infrastruktur, dan log platform Anda dalam satu lokasi terkonsolidasi. Integrasi ini memungkinkan kontrol akses berbasis peran Azure umum di seluruh sumber daya Anda dan menghilangkan kebutuhan akan kueri lintas aplikasi/ruang kerja.

Catatan

Penyerapan dan penyimpanan data untuk sumber daya Application Insights berbasis ruang kerja ditagih melalui ruang kerja Log Analytics tempat data berada. Untuk mempelajari lebih lanjut tentang tagihan untuk sumber daya Application Insights berbasis ruang kerja, lihat detail harga Log Azure Monitor.

Kapabilitas baru

Application Insights berbasis ruang kerja terintegrasi dengan Azure Monitor dan Analitik Log untuk meningkatkan kemampuan:

Membuat sumber daya berbasis ruang kerja

Masuk ke portal Azure, dan buat sumber daya Application Insights.

Cuplikan layar yang menunjukkan sumber daya Application Insights berbasis ruang kerja.

Jika Anda tidak memiliki ruang kerja Log Analytics yang ada, lihat dokumentasi pembuatan ruang kerja Log Analytics.

Sumber daya berbasis ruang kerja saat ini tersedia di semua wilayah komersial dan Azure Government. Memiliki Application Insights dan Analitik Log di dua wilayah yang berbeda dapat memengaruhi latensi dan mengurangi keandalan solusi pemantauan secara keseluruhan.

Setelah membuat sumber daya, Anda akan melihat informasi ruang kerja yang sesuai di panel Gambaran Umum.

Cuplikan layar yang menunjukkan nama ruang kerja.

Memilih teks link biru untuk membuka ruang kerja Log Analytics terkait tempat Anda dapat memanfaatkan lingkungan kueri ruang kerja terpadu yang baru.

Catatan

Kami masih menyediakan kompatibilitas mundur penuh untuk kueri sumber daya klasik Application Insights, buku kerja, dan peringatan berbasis log. Untuk membuat kueri atau menampilkan struktur atau skema tabel berbasis ruang kerja baru, Anda harus terlebih dahulu membuka ruang kerja Log Analytics Anda. Pilih Log (Analytics) di panel Application Insights untuk mengakses pengalaman kueri Application Insights klasik.

Salin string koneksi

String koneksi mengidentifikasi sumber daya yang ingin Anda kaitkan dengan data telemetri. Anda juga dapat menggunakannya untuk memodifikasi titik akhir yang digunakan sumber daya Anda sebagai tujuan telemetri Anda. Anda harus menyalin string koneksi dan menambahkannya ke kode aplikasi Anda atau ke variabel lingkungan.

Mengonfigurasi pemantauan

Setelah membuat sumber daya Application Insights berbasis ruang kerja, Anda mengonfigurasi pemantauan.

Pemantauan aplikasi berbasis kode

Untuk pemantauan aplikasi berbasis kode, Anda menginstal SDK Application Insights yang sesuai dan mengarahkan string koneksi ke sumber daya yang baru dibuat.

Untuk informasi tentang cara menyiapkan Application Insights SDK untuk pemantauan berbasis kode, lihat dokumentasi khusus berikut untuk bahasa atau kerangka kerja:

Pemantauan tanpa kode dan pembuatan sumber daya Visual Studio

Untuk pemantauan layanan tanpa kode seperti Azure Functions dan Azure App Services, Anda terlebih dahulu membuat sumber daya Application Insights berbasis ruang kerja. Kemudian Anda mengarahkan ke sumber daya tersebut saat Anda mengonfigurasi pemantauan.

Layanan ini menawarkan opsi untuk membuat sumber daya Application Insights baru dalam proses pembuatan sumber daya mereka sendiri. Tetapi sumber daya yang dibuat melalui opsi antarmuka pengguna ini saat ini dibatasi pada pengalaman Application Insights klasik.

Pembatasan yang sama berlaku untuk pengalaman pembuatan sumber daya Application Insights di Visual Studio untuk ASP.NET dan ASP.NET Core. Anda harus memilih sumber daya berbasis ruang kerja yang ada di antarmuka pengguna Visual Studio tempat Anda mengaktifkan pemantauan. Memilih Membuat sumber daya baru di Visual Studio membatasi Anda untuk membuat sumber daya Application Insights klasik.

Membuat sumber daya secara otomatis

Azure CLI

Untuk mengakses perintah pratinjau Application Insights Azure CLI, Anda harus menjalankan terlebih dahulu:

 az extension add -n application-insights

Jika Anda tidak menjalankan az extension add perintah, Anda akan melihat pesan kesalahan yang menyatakan az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'.

Sekarang Anda dapat menjalankan kode berikut untuk membuat sumber daya Application Insights Anda:

az monitor app-insights component create --app
                                         --location
                                         --resource-group
                                         [--application-type]
                                         [--ingestion-access {Disabled, Enabled}]
                                         [--kind]
                                         [--only-show-errors]
                                         [--query-access {Disabled, Enabled}]
                                         [--tags]
                                         [--workspace]

Contoh

az monitor app-insights component create --app demoApp --location eastus --kind web -g my_resource_group --workspace "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

Untuk dokumentasi Azure CLI lengkap untuk perintah ini, lihat dokumentasi Azure CLI.

Azure PowerShell

Membuat sumber daya Application Insights berbasis ruang kerja baru.

New-AzApplicationInsights -Name <String> -ResourceGroupName <String> -Location <String> -WorkspaceResourceId <String>
   [-SubscriptionId <String>]
   [-ApplicationType <ApplicationType>]
   [-DisableIPMasking]
   [-DisableLocalAuth]
   [-Etag <String>]
   [-FlowType <FlowType>]
   [-ForceCustomerStorageForProfiler]
   [-HockeyAppId <String>]
   [-ImmediatePurgeDataOn30Day]
   [-IngestionMode <IngestionMode>]
   [-Kind <String>]
   [-PublicNetworkAccessForIngestion <PublicNetworkAccessType>]
   [-PublicNetworkAccessForQuery <PublicNetworkAccessType>]
   [-RequestSource <RequestSource>]
   [-RetentionInDays <Int32>]
   [-SamplingPercentage <Double>]
   [-Tag <Hashtable>]
   [-DefaultProfile <PSObject>]
   [-Confirm]
   [-WhatIf]
   [<CommonParameters>]

Contoh

New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

Untuk dokumentasi PowerShell lengkap untuk cmdlet ini, dan untuk mempelajari cara mengambil string koneksi, lihat dokumentasi Azure PowerShell.

Templat Azure Resource Manager

@description('Name of Application Insights resource.')
param name string

@description('Type of app you are deploying. This field is for legacy reasons and will not impact the type of App Insights resource you deploy.')
param type string

@description('Which Azure Region to deploy the resource to. This must be a valid Azure regionId.')
param regionId string

@description('See documentation on tags: https://learn.microsoft.com/azure/azure-resource-manager/management/tag-resources.')
param tagsArray object

@description('Source of Azure Resource Manager deployment')
param requestSource string

@description('Log Analytics workspace ID to associate with your Application Insights resource.')
param workspaceResourceId string

resource component 'Microsoft.Insights/components@2020-02-02' = {
  name: name
  location: regionId
  tags: tagsArray
  kind: 'other'
  properties: {
    Application_Type: type
    Flow_Type: 'Bluefield'
    Request_Source: requestSource
    WorkspaceResourceId: workspaceResourceId
  }
}

File parameter

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "name": {
      "value": "my_workspace_based_resource"
    },
    "type": {
      "value": "web"
    },
    "regionId": {
      "value": "westus2"
    },
    "tagsArray": {
      "value": {}
    },
    "requestSource": {
      "value": "CustomDeployment"
    },
    "workspaceResourceId": {
      "value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testxxxx/providers/microsoft.operationalinsights/workspaces/testworkspace"
    }
  }
}

Memodifikasi ruang kerja terkait

Setelah membuat sumber daya Application Insights berbasis ruang kerja, Anda dapat memodifikasi ruang kerja Analitik Log terkait.

Di panel sumber daya Application Insights, pilih Properti>Ubah Ruang Kerja>Ruang kerja Log Analytics.

Ekspor telemetri

Fungsionalitas ekspor berkelanjutan yang lama tidak didukung untuk sumber daya berbasis ruang kerja. Sebagai gantinya, pilih Pengaturan diagnostik>Tambahkan pengaturan diagnostik di sumber daya Application Insights Anda. Anda dapat memilih semua tabel, atau subset tabel, untuk diarsipkan ke akun penyimpanan. Anda juga dapat melakukan streaming ke hub peristiwa Azure.

Catatan

Mengekspor pengaturan diagnostik dapat meningkatkan biaya. Untuk informasi selengkapnya, lihat Mengekspor telemetri dari Application Insights. Untuk informasi harga fitur ini, lihat halaman harga Azure Monitor. Sebelum dimulainya penagihan, notifikasi akan dikirim. Jika Anda terus menggunakan ekspor telemetri setelah periode pemberitahuan, Anda akan ditagih dengan tarif yang berlaku.

Berapa banyak sumber daya Application Insights yang harus saya sebarkan?

Saat mengembangkan versi aplikasi web berikutnya, Anda tidak ingin mencampur telemetri Application Insights dari versi baru dan versi yang sudah dirilis.

Untuk menghindari kebingungan, kirim telemetri dari berbagai tahap pengembangan untuk memisahkan sumber daya Application Insights dengan string koneksi terpisah.

Jika sistem Anda adalah instans Azure Cloud Services, ada metode lain untuk mengatur string koneksi terpisah.

Tentang sumber daya dan string koneksi

Saat menyiapkan pemantauan Application Insights untuk aplikasi web, Anda membuat sumber daya Application Insights di Azure. Anda membuka sumber daya di portal Azure untuk melihat dan menganalisis telemetri yang dikumpulkan dari aplikasi Anda. string koneksi mengidentifikasi sumber daya. Saat menginstal paket Application Insights untuk memantau aplikasi, Anda mengonfigurasinya dengan string koneksi sehingga tahu di mana harus mengirim telemetri.

Setiap sumber daya Application Insights dilengkapi dengan metrik yang tersedia di luar kotak. Jika komponen terpisah melaporkan ke sumber daya Application Insights yang sama, mungkin tidak masuk akal untuk memberi tahu metrik ini.

Kapan menggunakan satu sumber daya Application Insights

Gunakan satu sumber daya Application Insights untuk:

  • Menyederhanakan manajemen DevOps/ITOps untuk aplikasi yang disebarkan bersama-sama, biasanya dikembangkan dan dikelola oleh tim yang sama.
  • Memusatkan indikator performa utama, seperti waktu respons dan tingkat kegagalan, di dasbor secara default. Segment menurut nama peran di penjelajah metrik jika perlu.
  • Ketika tidak perlu manajemen kontrol akses berbasis peran Azure yang berbeda antar komponen aplikasi.
  • Saat kriteria pemberitahuan metrik yang identik, ekspor berkelanjutan, dan manajemen penagihan/kuota di seluruh komponen sudah cukup.
  • Ketika dapat diterima untuk kunci API untuk mengakses data dari semua komponen secara merata, dan 10 kunci API memenuhi kebutuhan di semua komponen.
  • Saat deteksi pintar dan pengaturan integrasi item kerja yang sama cocok di semua peran.

Catatan

Jika Anda ingin mengonsolidasikan beberapa sumber daya Application Insights, Anda dapat mengarahkan komponen aplikasi yang ada ke sumber daya Application Insights baru yang dikonsolidasikan. Telemetri yang disimpan di sumber daya lama Anda tidak akan ditransfer ke sumber daya baru. Hanya hapus sumber daya lama saat Anda memiliki cukup telemetri di sumber daya baru untuk kelangsungan bisnis.

Pertimbangan lain

Untuk mengaktifkan pengalaman portal, tambahkan kode kustom untuk menetapkan nilai yang bermakna ke atribut Cloud_RoleName . Tanpa nilai-nilai ini, fitur portal tidak berfungsi.

Untuk aplikasi Azure Service Fabric dan layanan cloud klasik, SDK secara otomatis mengonfigurasi layanan dengan membaca dari Lingkungan Peran Azure. Untuk jenis aplikasi lain, Anda biasanya perlu mengaturnya secara eksplisit.

Metrik Langsung tidak dapat membagi data berdasarkan nama peran.

Membuat lebih banyak sumber daya Application Insights

Untuk membuat sumber daya Application Insights, lihat Membuat sumber daya Application Insights.

Peringatan

Anda mungkin dikenakan biaya jaringan tambahan jika sumber daya Application Insights Anda memantau sumber daya Azure (yaitu, produsen telemetri) di wilayah yang berbeda. Biaya akan bervariasi tergantung pada wilayah asal telemetri dan ke mana ia akan pergi. Lihat Harga bandwidth Azure untuk detailnya.

Dapatkan string koneksi

string koneksi mengidentifikasi sumber daya yang Anda buat.

Anda memerlukan string koneksi semua sumber daya tempat aplikasi Anda mengirim data.

Filter pada nomor build

Saat memublikasikan versi baru aplikasi, Anda ingin dapat memisahkan telemetri dari build yang berbeda.

Anda dapat mengatur properti Versi Aplikasi sehingga Anda dapat memfilter hasil pencarian dan penjelajah metrik.

Ada beberapa metode yang berbeda untuk mengatur properti Versi Aplikasi.

  • Atur secara langsung:

    telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;

  • Bungkus garis tersebut dalam penginisialisasi telemetri untuk memastikan bahwa semua TelemetryClient instans diatur secara konsisten.

  • ASP.NET: Atur versi di BuildInfo.config. Modul web mengambil versi dari simpul BuildLabel . Sertakan file ini dalam proyek Anda dan ingatlah untuk mengatur properti Salin Selalu di Penjelajah Solusi.

    <?xml version="1.0" encoding="utf-8"?>
    <DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
      <ProjectName>AppVersionExpt</ProjectName>
      <Build type="MSBuild">
        <MSBuild>
          <BuildLabel kind="label">1.0.0.2</BuildLabel>
        </MSBuild>
      </Build>
    </DeploymentEvent>
    
    
  • ASP.NET: Buat BuildInfo.config secara otomatis di Microsoft Build Engine. Tambahkan beberapa baris ke file Anda .csproj :

    <PropertyGroup>
      <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>    <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
    </PropertyGroup>
    

    Langkah ini menghasilkan file yang disebut yourProjectName.BuildInfo.config. Proses Terbitkan mengganti namanya menjadi BuildInfo.config.

    Label build berisi tempat penampung (*AutoGen_...*) saat Anda membuat dengan Visual Studio. Tetapi saat dibangun dengan Microsoft Build Engine, mesin tersebut diisi dengan nomor versi yang benar.

    Untuk mengizinkan Microsoft Build Engine menghasilkan nomor versi, atur versi seperti 1.0.* di AssemblyReference.cs.

Pelacakan versi dan rilis

Untuk melacak versi aplikasi, pastikan proses Microsoft Build Engine Anda menghasilkan buildinfo.config. Di .csproj file, tambahkan:

<PropertyGroup>
  <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
  <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>

Ketika modul web Application Insights memiliki informasi build, modul web tersebut secara otomatis menambahkan Versi Aplikasi sebagai properti ke setiap item telemetri. Untuk alasan ini, Anda dapat memfilter menurut versi saat melakukan pencarian diagnostik atau saat menjelajahi metrik.

Microsoft Build Engine secara eksklusif menghasilkan nomor versi build, bukan build pengembang dari Visual Studio.

Merilis anotasi

Jika Anda menggunakan Azure DevOps, Anda bisa mendapatkan penanda anotasi yang ditambahkan ke bagan setiap kali merilis versi baru.

Tanya jawab umum

Bagian ini menyediakan jawaban atas pertanyaan umum.

Bagaimana cara memindahkan sumber daya Application Insights ke wilayah baru?

Mentransfer sumber daya Application Insights yang ada antar wilayah tidak didukung, dan Anda tidak dapat memigrasikan data historis ke wilayah baru. Solusinya melibatkan:

  • Membuat sumber daya Application Insights berbasis ruang kerja baru di wilayah yang diinginkan.
  • Membuat ulang kustomisasi unik dari sumber daya asli di yang baru.
  • Memperbarui aplikasi Anda dengan string koneksi sumber daya wilayah baru.
  • Pengujian untuk memastikan semuanya berfungsi seperti yang diharapkan dengan sumber daya Application Insights baru.
  • Putuskan untuk menyimpan atau menghapus sumber daya Application Insights asli. Menghapus sumber daya klasik berarti kehilangan semua data historis. Jika sumber daya berbasis ruang kerja, data tetap berada di Analitik Log, memungkinkan akses ke data historis hingga periode retensi kedaluwarsa.

Penyesuaian unik yang umumnya perlu dibuat ulang atau diperbarui secara manual untuk sumber daya di wilayah baru termasuk tetapi tidak terbatas pada:

  • Buat ulang dasbor dan buku kerja kustom.
  • Buat ulang atau perbarui cakupan pemberitahuan log/metrik kustom apa pun.
  • Buat ulang pemberitahuan ketersediaan.
  • Buat ulang pengaturan kontrol akses berbasis peran Azure kustom yang diperlukan pengguna Anda untuk mengakses sumber daya baru.
  • Mereplikasi pengaturan yang melibatkan pengambilan sampel penyerapan, retensi data, batas harian, dan pengaktifan metrik kustom. Pengaturan ini dikontrol melalui panel Penggunaan dan estimasi biaya.
  • Integrasi apa pun yang bergantung pada kunci API, seperti anotasi rilis dan saluran kontrol aman metrik langsung. Anda perlu membuat kunci API baru dan memperbarui integrasi terkait.
  • Ekspor berkelanjutan dalam sumber daya klasik harus dikonfigurasi lagi.
  • Pengaturan diagnostik dalam sumber daya berbasis ruang kerja harus dikonfigurasi lagi.

Catatan

Jika sumber daya yang Anda buat di wilayah baru menggantikan sumber daya klasik, kami sarankan Anda menjelajahi manfaat membuat sumber daya berbasis ruang kerja baru. Atau, migrasikan sumber daya yang ada ke berbasis ruang kerja.

Dapatkah saya menggunakan penyedia('Microsoft.Insights', 'components').apiVersions[0] di penyebaran Azure Resource Manager saya?

Kami tidak menyarankan penggunaan metode ini untuk mengisi versi API. Versi terbaru dapat mewakili rilis pratinjau, yang mungkin berisi perubahan yang melanggar. Bahkan dengan rilis nonpreview yang lebih baru, versi API tidak selalu kompatibel mundur dengan templat yang ada. Dalam beberapa kasus, versi API mungkin tidak tersedia untuk semua langganan.

Langkah berikutnya