Cara memantau koneksi titik-ke-situs untuk Virtual WAN

Bagian ini mendokumentasikan cara membuat Buku Kerja Azure yang menampilkan data relevan klien VPN Pengguna yang terhubung ke Azure Virtual WAN.

Sebelum Anda mulai

Untuk melengkapi langkah-langkah dalam artikel ini, Anda harus memiliki WAN virtual, hub, dan VPN Gateway Pengguna. Untuk membuat sumber daya, ikuti langkah-langkah dalam artikel ini: Membuat WAN virtual, hub, dan gateway

Arsitektur solusi buku kerja

Saat Anda bekerja dengan Azure Virtual WAN dan melihat metrik, paling sering dilakukan dari dalam konteks buku kerja Azure. Dalam solusi ini, kita akan menggunakan apa yang sudah tersedia di buku kerja Azure dan memperkayanya dengan detail lebih lanjut, terutama tentang koneksi aktif.

  • AzureDiagnostics: Log ini diterima dengan mengaktifkan Debugging P2S melalui pengaturan debug Azure Monitor dan mengaktifkan log berikut: GatewayDiagnosticLog, IKEDiagnosticLog, P2SDiagnosticLog, AllMetrics. Beberapa log berisik dan mahal dalam hal biaya Analitik Log, khususnya IKEDiagnostics.

  • Get-AzP2sVpnGatewayDetailedConnectionHealth: Ini adalah perintah PowerShell (berjalan di aplikasi fungsi) untuk mendapatkan detail sesi aktif. Perintah ini hanya mendukung penyimpanan data di akun penyimpanan berdasarkan Kunci SAS.

Gambar berikut menunjukkan komponen yang terlibat dalam solusi yang disarankan:

Cuplikan layar memperlihatkan arsitektur buku kerja.

Layanan VPN berjalan di gateway VPN Azure vWAN P2S. Layanan ini memiliki pengaturan metrik dan debug terkait yang dapat dibaca dari dalam buku kerja Azure. Untuk mendapatkan informasi tambahan yang dapat diberikan oleh perintah PowerShell, kami memilih untuk menjalankan perintah ini di aplikasi fungsi Azure. Dari aplikasi fungsi, kami menyimpan output di akun penyimpanan Azure.

Output yang disimpan di akun penyimpanan diambil dari dalam buku kerja dengan menggunakan fungsi khusus yang disebut "externaldata".

Membuat akun penyimpanan Azure

  1. Di portal, di bilah Sumber daya pencarian, ketik Akun penyimpanan.

  2. Pilih Akun Penyimpanan dari hasil. Pada halaman akun Penyimpanan, pilih + Buat untuk membuka halaman Buat akun penyimpanan.

  3. Di halaman Buat WAN, pada tab Dasar, isi bidang. Ubah contoh nilai untuk diterapkan ke lingkungan Anda.

    Cuplikan layar memperlihatkan bagian dasar-dasar pembuatan akun penyimpanan.

    • Langganan: Pilih langganan yang ingin Anda gunakan
    • Grup Sumber Daya: Buat yang baru atau gunakan yang sudah ada
    • Nama akun penyimpanan: Ketik nama panggilan akun penyimpanan yang Anda inginkan
    • Wilayah: Pilih wilayah untuk akun penyimpanan Anda
    • Performa: Standar atau Premium. Standar memadai untuk tujuan pemantauan kami
    • Redundansi: Memilih antara penyimpanan yang redundan secara Lokal, penyimpanan yang redundan secara Geografis, penyimpanan yang redundan secara Zona, dan penyimpanan yang redundan secara Geografis dan Zona

    Setelah selesai mengisi bidang, di bagian bawah halaman, pilih Selanjutnya: Tingkat lanjut>.

  4. Pada halaman Tingkat lanjut, lengkapi bidang berikut.

    Cuplikan layar memperlihatkan bagian tingkat lanjut dalam membuat akun penyimpanan.

    • Memerlukan transfer aman untuk operasi REST API: Pilih Aktifkan.
    • Mengaktifkan akses publik blob: Pilih Dinonaktifkan.
    • Mengaktifkan akses kunci akun penyimpanan: Pilih Aktifkan.
    • Default ke otorisasi Azure Active Directory di portal Microsoft Azure: Pilih Diaktifkan.
    • Versi TLS minimum: Pilih Versi 1.2.
  5. Pilih Tinjau + Buat di bagian bawah layar untuk menjalankan validasi.

  6. Setelah lolos validasi, pilih Buat untuk membuat akun penyimpanan.

Membuat kontainer

  1. Setelah penyebaran selesai, masuk ke sumber daya.

  2. Di panel kiri, pilih Kontainer di bawah Penyimpanan data.

    Cuplikan layar memperlihatkan halaman kontainer awal.

  3. Pilih + Kontainer untuk membuat kontainer baru.

  4. Ketik Nama untuk kontainer Anda dan pilih Buat.

Membuat dan mengunggah blob ke kontainer

  1. Di komputer Anda, buka aplikasi editor teks seperti Notepad.

    Cuplikan layar memperlihatkan cara membuka notepad.

  2. Biarkan file teks kosong dan pilih File -> Simpan Sebagai.

  3. Simpan file teks kosong dengan nama pilihan Anda diikuti oleh ekstensi .json.

    Cuplikan layar memperlihatkan cara menyimpan file json.

  4. Kembali ke bagian Kontainer di portal.

    Cuplikan layar memperlihatkan bagian kontainer setelah membuat kontainer baru.

  5. Pilih pada baris kedua, yang sesuai dengan kontainer yang Anda buat (bukan $logs).

  6. Jika Anda melihat pesan peringatan merah ini bertuliskan ""Anda tidak memiliki izin ..."", maka pilih Beralih ke tombol Akses sebagai metode autentikasi Anda. Tombolnya terletak tepat di bawah kotak peringatan merah.

  7. Pilih Unggah.

    Cuplikan layar memperlihatkan kontainer tertentu yang dibuat oleh pengguna.

  8. Pilih file yang sesuai dengan file JSON kosong Anda di komputer Anda dan pilih Mengunggah.

  9. Setelah file diunggah, pilih pada file JSON dan masuk ke tab Hasilkan SAS.

    Cuplikan layar memperlihatkan bidang Buat SAS untuk blob.

  10. Di bawah Metode masuk, pilih Kunci akun.

  11. Di bawah Izin, berikan kunci izin berikut: Baca, Tambahkan, Buat, dan Tulis.

  12. Pilih tanggal dan waktu Kedaluwarsa untuk kunci.

  13. Pilih Buat token SAS dan URL.

  14. Salin dan tempel Token SAS Blob dan URL SAS Blob di lokasi yang aman.

Membuat aplikasi fungsi Azure

  1. Di portal, di bilah Sumber Daya pencarian, ketik Aplikasi Fungsi.

  2. Pilih Aplikasi Fungsi dari hasil. Pada halaman Aplikasi Fungsi, pilih + Buat untuk membuka halaman Membuat Aplikasi Fungsi.

  3. Di halaman Buat WAN, pada tab Dasar, isi bidang. Ubah contoh nilai untuk diterapkan ke lingkungan Anda.

    Cuplikan layar memperlihatkan tab dasar aplikasi fungsi.

    • Langganan: Pilih langganan yang ingin Anda gunakan
    • Grup Sumber Daya: Buat yang baru atau gunakan yang sudah ada
    • Nama Aplikasi Fungsi: Pilih nama untuk Aplikasi Fungsi
    • Terbitkan: Pilih Kode
    • Tumpukan runtime bahasa umum: Pilih PowerShell Core
    • Versi: Pilih 7.0 (atau versi pilihan Anda)
    • Wilayah: Pilih wilayah pilihan Anda
  4. Tab yang tersisa bersifat opsional untuk diubah, sehingga Anda dapat memilih Tinjau + buat lalu pilih Buat saat validasi selesai.

  5. Masuk ke sumber daya Aplikasi Fungsi.

  6. Pilih Identitas di bawah Pengaturan di panel kiri. Alihkan tombol Status ke On untuk Sistem yang ditetapkan dan pilih Simpan.

    Cuplikan layar memperlihatkan tab identitas aplikasi fungsi.

  7. Pilih Konfigurasi di bagian Pengaturan di panel kiri.

  8. Pilih + Pengaturan aplikasi baru. Cuplikan layar memperlihatkan tab menambahkan pengaturan aplikasi.

  9. Buat 7 entri berikut dengan memasukkan Nama dan Nilai, lalu pilih OK setelah setiap nilai.

    Nama Nilai
    "resourcegroup" grup sumber daya Anda
    "sasuri" @Microsoft.KeyVault(SecretUri=https://\<keyvaultname>.vault.azure.net/secrets/sasuri/\<version>)
    --> perbarui sesuai setelah keyvault dibuat di bagian berikutnya.
    "subscription" ID langganan Anda
    "tenantname" ID penyewa Anda
    "vpngw" Nama ini seperti -eastus-ps2-gw <guid>. Anda dapat memperolehnya dari pengaturan VPN Pengguna vWAN HUB.
  10. Pilih Simpan.

  11. Pilih Fungsi di panel kiri dan pilih + Buat.

  12. Isi bidang.

    Cuplikan layar memperlihatkan halaman saat membuat fungsi.

    • Lingkungan Pengembangan: Berkembang di portal
    • Templat: Pemicu Timer
    • Fungsi Baru: Pilih nama untuk Fungsi
    • Jadwal: Masukkan ekspresi cron format '{second} {minute} {hour} {day} {month} {day of the week}' untuk menentukan jadwal
  13. Pilih Kode + Uji di panel kiri, dan ketik kode berikut dalam file run.ps1. Pilih Simpan.

    # Input bindings are passed in via param block.
    param($Timer)
    
    # Get the current universal time in the default string format.
    $currentUTCtime = (Get-Date).ToUniversalTime()
    
    # The 'IsPastDue' property is "true" when the current function invocation is later than scheduled.
    if($Timer.IsPastDue){
    Write-Host "PowerShell timer is running late!"
    }
    
    ## Write an information log with current time.
    Write-Host "PowerShell timer trigger function ran! TIME:$currentUTCtime"
    
    $tenantname = $env:appsetting_tenantname
    $subscription = $env:appsetting_subscription
    $resourceGroup = $env:appsetting_resourcegroup
    $vpngw = $env:appsetting_vpngw
    $sasuri = $env:appsetting_sasuri
    
    Write-Host "Connecting to Managed Identity..."
    connect-azaccount -tenant $tenantname -identity -subscription $subscription
    
    Write-Host "Executing File Update..."
    Get-AzP2sVpnGatewayDetailedConnectionHealth -name $vpngw -ResourceGroupName $resourceGroup -OutputBlobSasUrl $sasuri
    
    Write-Host "Function Execution Completed!"
    
  14. Masuk kembali ke halaman Aplikasi Fungsi dan pilih di Editor App Service di panel kiri di bawah Alat Pengembangan. Kemudian, pilih Go -->.

  15. Buka requirements.psd1 dan batalkan komentar baris yang dimulai dengan 'Az' ... seperti yang ditunjukkan.

    Cuplikan layar memperlihatkan file persyaratan untuk aplikasi fungsi.

  16. Agar perintah get-AzP2sVpnGatewayDetailedConnectionHealth berhasil, Anda harus memiliki izin yang tepat untuk informasi tersebut. Masuk ke grup sumber daya Anda dan pilih "Microsoft Azure Access Control Service (IAM)" di panel kiri. Ini sesuai dengan manajemen identitas dan akses. Tetapkan akses baca FunctionApp melalui grup sumber daya.

Buat Azure Key Vault

  1. Di portal, di bilah Sumber daya pencarian, ketik Brankas kunci.

  2. Pilih + Buat dari hasil untuk membuka halaman Buat brankas kunci.

  3. Pada tab Dasar, isi bidangnya. Ubah contoh nilai untuk diterapkan ke lingkungan Anda.

    Cuplikan layar memperlihatkan bagian dasar pembuatan brankas kunci.

    • Langganan: Pilih langganan yang ingin digunakan.
    • Grup Sumber Daya: Buat yang baru atau gunakan yang sudah ada.
    • Nama akun penyimpanan: Ketik nama brankas kunci yang Anda inginkan.
    • Wilayah: Pilih wilayah untuk akun penyimpanan Anda.
    • Tingkat harga: Standar atau Premium. Standar memadai untuk tujuan pemantauan kami.
  4. Pilih Berikutnya: Kebijakan akses >.

  5. Di bawah Model izin, pilih Kebijakan akses brankas.

  6. Biarkan opsi di bawah Akses sumber daya sebagai dinonaktifkan.

  7. Di bawah Kebijakan akses, pilih + Buat.

    Cuplikan layar memperlihatkan layar pertama dalam membuat kebijakan akses.

  8. Pilih Berikutnya untuk masuk ke tab Prinsipal. Ketik nama aplikasi fungsi Anda dan pilih.

  9. Pilih Berikutnya dua kali untuk sampai ke tab keempat: Tinjau + buat dan pilih Buat di bagian bawah.

  10. Anda sekarang akan melihat kebijakan akses yang baru dibuat, di bawah bagian Kebijakan akses. Memodifikasi nilai default di bawah tab Jaringan bersifat opsional, jadi pilih Tinjau + buat di sudut kiri bawah.

  11. Buka Rahasia di bawah Objek di bawah panel kiri sumber daya brankas kunci. Pilih + Hasilkan/Impor dan tambahkan rahasia sebagai berikut:

    • Nama: sasuri
    • nilai: <SASURI>
    • Diaktifkan: Ya
  12. Kembali ke tab Konfigurasi untuk Aplikasi Fungsi dan ubah entri berikut. Nilai berasal dari bidang Pengidentifikasi Rahasia yang muncul setelah mengklik rahasia:

    • Nama: "sasuri"
    • Nilai: @Microsoft.KeyVault(SecretUri=https://\<keyvaultname>.vault.azure.net/secrets/sasuri/\<version>)

Membuat Buku Kerja Azure

Buku kerja Azure sekarang siap dibuat. Kami akan menggunakan campuran fungsionalitas bawaan dan detail sesi tambahan dari solusi aplikasi fungsi kami.

  1. Masuk ke sumber daya Azure Virtual WAN Anda dan pilih Insight di bawah Monitor di panel kiri. Pilih di Buku Kerja lalu pilih + Baru. Cuplikan layar memperlihatkan langkah pertama dalam pembuatan Buku Kerja Azure.

  2. Tambahkan kueri berikut ke dalam buku kerja. Ganti "SASURI" dengan uri sas Anda.

     let P2Svpnconnections = (externaldata (resource:string, UserNameVpnConnectionHealths: dynamic) [
         @"SASURI"
     ] with(format="multijson"));
    
     P2Svpnconnections
     | mv-expand UserNameVpnConnectionHealths
     | extend Username = parse_json(UserNameVpnConnectionHealths).UserName
     | extend VpnConnectionHealths = parse_json(parse_json(UserNameVpnConnectionHealths).VpnConnectionHealths)
     | mv-expand VpnConnectionHealths
     | extend VpnConnectionId = parse_json(VpnConnectionHealths).VpnConnectionId, VpnConnectionDuration = parse_json(VpnConnectionHealths).VpnConnectionDuration, VpnConnectionTime = parse_json(VpnConnectionHealths).VpnConnectionTime, PublicIpAddress = parse_json(VpnConnectionHealths).PublicIpAddress, PrivateIpAddress = parse_json(VpnConnectionHealths).PrivateIpAddress, MaxBandwidth = parse_json(VpnConnectionHealths).MaxBandwidth, EgressPacketsTransferred = parse_json(VpnConnectionHealths).EgressPacketsTransferred, EgressBytesTransferred = parse_json(VpnConnectionHealths).EgressBytesTransferred, IngressPacketsTransferred = parse_json(VpnConnectionHealths).IngressPacketsTransferred, IngressBytesTransferred = parse_json(VpnConnectionHealths).IngressBytesTransferred, MaxPacketsPerSecond = parse_json(VpnConnectionHealths).MaxPacketsPerSecond
     | extend PubIp = tostring(split(PublicIpAddress, ":").[0])
     | project Username, VpnConnectionId, VpnConnectionDuration, VpnConnectionTime, PubIp, PublicIpAddress, PrivateIpAddress, MaxBandwidth, EgressPacketsTransferred, EgressBytesTransferred, IngressPacketsTransferred, IngressBytesTransferred, MaxPacketsPerSecond;
    
    
  3. Untuk melihat hasilnya, pilih tombol biru Jalankan Kueri untuk melihat hasilnya.

  4. Jika Anda melihat kesalahan berikut, masuk kembali ke file (vpnstatfile.json) di blob kontainer penyimpanan, dan hasilkan kembali URL SAS. Kemudian tempelkan URL SAS yang diperbarui dalam kueri.

    Cuplikan layar memperlihatkan kesalahan saat menjalankan kueri dalam buku kerja.

  5. Simpan buku kerja untuk kembali lagi nanti.

  6. Untuk metrik berikut, Anda harus mengaktifkan pembuatan log diagnostik dengan menambahkan pengaturan diagnostik di portal Microsoft Azure. Isi bidang yang diperlukan untuk langganan dan grup sumber daya. Untuk jenis sumber daya, ketik "microsoft.network/p2svpngateways". Tambahkan pengaturan diagnostik (atau edit pengaturan diagnostik saat ini) untuk gateway titik-ke situs yang ingin Anda pantau.

    Cuplikan layar memperlihatkan halaman Pengaturan diagnostik pertama di Azure Monitor.

  7. Aktifkan allLogs dan allMetrics, dan pilih untuk mengirim ke "Ruang kerja Analitik Log" sebagai tujuan. Beberapa log berisik dan mungkin mahal (khususnya IKEDiagnosticLog). Karenanya, jangan ragu untuk mengaktifkan hanya log tertentu yang ingin Anda lihat alih-alih mengaktifkan allLogs.

    Cuplikan layar memperlihatkan halaman Pengaturan diagnostik kedua di Azure Monitor.

Contoh kueri

Bagian berikut menampilkan contoh kueri.

Koneksi pengguna P2S yang berhasil dengan IP

Cuplikan layar memperlihatkan kueri untuk koneksi P2S yang berhasil dengan IP.

Autentikasi EAP (Extensible Authentication Protocol) berhasil

Cuplikan layar memperlihatkan kueri untuk metrik Autentikasi EAP.

Info pengguna P2S VPN

Cuplikan layar memperlihatkan kueri untuk Info Pengguna VPN P2S.

Koneksi P2S VPN yang sukses per pengguna

Cuplikan layar memperlihatkan kueri untuk koneksi P2S VPN berhasil.

Koneksi VPN P2S

Cuplikan layar memperlihatkan kueri untuk koneksi VPN P2S.

Koneksi VPN P2S yang berhasil

Cuplikan layar memperlihatkan kueri untuk koneksi VPN P2S yang berhasil.

Koneksi VPN P2S yang gagal

Cuplikan layar memperlihatkan kueri untuk koneksi VPN P2S yang gagal.

Penghitungan koneksi VPN oleh P2SDiagnosticLog

Cuplikan layar memperlihatkan kueri untuk jumlah koneksi VPN.

IKEDiagnosticLog

Cuplikan layar memperlihatkan kueri untuk IKEDiagnosticLog.

Detail diagnostik IKE tambahan

Cuplikan layar memperlihatkan kueri untuk detail Diagnostik IKE.

Statistik VPN P2S

Cuplikan layar memperlihatkan kueri untuk statistik VPN P2S.

Langkah berikutnya

Untuk mempelajari lebih lanjut tentang pertanyaan yang sering diajukan, lihat halaman Tanya Jawab Umum Virtual WAN.