Memantau peristiwa terjadwal untuk Azure VM Anda

Berlaku untuk: Mesin Virtual ✔️ Mesin Virtual Windows ✔️ Set skala fleksibel ✔️ Set skala seragam

Pembaruan diterapkan ke berbagai bagian Azure setiap hari, untuk menjaga agar layanan tetap berjalan dengan aman, dan terbaru. Selain pembaruan yang direncanakan, peristiwa yang tidak direncanakan juga mungkin terjadi. Misalnya, jika ada degradasi atau kesalahan perangkat keras yang terdeteksi, layanan Azure mungkin perlu melakukan pemeliharaan yang tidak direncanakan. Menggunakan migrasi langsung, pembaruan yang mempertahankan memori, dan umumnya menjaga batasan ketat pada dampak pembaruan, dalam banyak kasus peristiwa ini hampir transparan bagi pelanggan, dan tidak berdampak atau paling banyak menyebabkan beberapa detik pembekuan komputer virtual. Namun, untuk beberapa aplikasi, bahkan beberapa detik pembekuan komputer virtual dapat menyebabkan dampak. Penting untuk mengetahui terlebih dahulu tentang pemeliharaan Azure yang akan datang, untuk memastikan pengalaman terbaik untuk aplikasi tersebut. Layanan Peristiwa Terjadwal memberi Anda antarmuka terprogram untuk diberi tahu tentang pemeliharaan yang akan datang, dan memungkinkan Anda menangani pemeliharaan dengan baik.

Dalam artikel ini, kami akan menunjukkan bagaimana Anda dapat menggunakan peristiwa terjadwal untuk diberi tahu tentang peristiwa pemeliharaan yang dapat memengaruhi VM Anda dan membuat beberapa otomatisasi dasar yang dapat membantu pemantauan dan analisis.

Merutekan peristiwa terjadwal ke Log Analytics

Peristiwa Terjadwal tersedia sebagai bagian dari Azure Instance Metadata Service, yang tersedia di setiap komputer virtual Azure. Pelanggan dapat menulis otomatisasi untuk meminta titik akhir komputer virtual mereka untuk menemukan pemberitahuan pemeliharaan terjadwal dan melakukan mitigasi, seperti menyimpan status dan mengeluarkan komputer virtual dari rotasi. Sebaiknya bangun otomatisasi untuk merekam Peristiwa Terjadwal sehingga Anda bisa memiliki log audit peristiwa pemeliharaan Azure.

Pada artikel ini, kami akan memandu Anda melalui cara merekam Peristiwa Terjadwal pemeliharaan ke Log Analytics. Kemudian, kami akan memicu beberapa tindakan pemberitahuan dasar, seperti mengirim email ke tim Anda dan mendapatkan tampilan historis dari semua peristiwa yang memengaruhi komputer virtual Anda. Untuk agregasi dan otomatisasi peristiwa, kami akan menggunakan Log Analytics, namun Anda dapat menggunakan solusi pemantauan apa pun untuk mengumpulkan log ini dan memicu otomatisasi.

Diagram menunjukkan siklus hidup peristiwa

Prasyarat

Untuk contoh ini, Anda perlu membuat Komputer Virtual Windows dalam Kumpulan Ketersediaan. Peristiwa Terjadwal memberikan pemberitahuan tentang perubahan yang dapat memengaruhi komputer virtual apa pun di kumpulan ketersediaan Anda, Layanan Cloud, Kumpulan Skala Komputer Virtual, atau VM mandiri. Kami akan menjalankan layanan yang melakukan polling untuk peristiwa terjadwal di salah satu VM yang akan bertindak sebagai pengumpul, untuk mendapatkan peristiwa untuk semua VM lain di kumpulan ketersediaan.

Jangan hapus grup sumber daya grup di akhir tutorial.

Anda juga perlu membuat ruang kerja Log Analytics yang akan kami gunakan untuk menggabungkan informasi dari VM dalam kumpulan ketersediaan.

Menyiapkan lingkungan

Anda sekarang harus memiliki 2 VM awal dalam kumpulan ketersediaan. Sekarang kita perlu membuat VM ke-3, yang disebut myCollectorVM, dalam kumpulan ketersediaan yang sama.

New-AzVm `
   -ResourceGroupName "myResourceGroupAvailability" `
   -Name "myCollectorVM" `
   -Location "East US" `
   -VirtualNetworkName "myVnet" `
   -SubnetName "mySubnet" `
   -SecurityGroupName "myNetworkSecurityGroup" `
   -OpenPorts 3389 `
   -PublicIpAddressName "myPublicIpAddress3" `
   -AvailabilitySetName "myAvailabilitySet" `
   -Credential $cred

Unduh file .zip penginstalan proyek dari GitHub.

Sambungkan ke myCollectorVM dan salin file .zip ke komputer virtual dan ekstrak semua file. Di VM Anda, buka permintaan PowerShell. Pindahkan perintah Anda ke dalam folder yang berisi SchService.ps1, misalnya: PS C:\Users\azureuser\AzureScheduledEventsService-master\AzureScheduledEventsService-master\Powershell>, dan siapkan layanan.

.\SchService.ps1 -Setup

Mulai layanan.

.\SchService.ps1 -Start

Layanan sekarang akan memulai polling setiap 10 detik untuk setiap peristiwa terjadwal dan menyetujui peristiwa untuk mempercepat pemeliharaan. Freeze, Reboot, Redeploy, dan Preempt adalah peristiwa yang diambil oleh peristiwa Jadwal. Perhatikan bahwa Anda dapat memperluas skrip untuk memicu beberapa mitigasi sebelum menyetujui peristiwa.

Validasi status layanan dan pastikan statusnya berjalan.

.\SchService.ps1 -status  

Proses validasi ini akan mengembalikan Running.

Layanan sekarang akan memulai polling setiap 10 detik untuk setiap peristiwa terjadwal dan menyetujui peristiwa untuk mempercepat pemeliharaan. Freeze, Reboot, Redeploy, dan Preempt adalah peristiwa yang diambil oleh peristiwa Jadwal. Anda dapat memperluas skrip untuk memicu beberapa mitigasi sebelum menyetujui peristiwa.

Ketika salah satu dari peristiwa di atas diambil oleh layanan Jadwal Peristiwa, peristiwa tersebut akan dicatat dalam Status Peristiwa Log Peristiwa Aplikasi, Jenis Peristiwa, Sumber Daya (Nama komputer virtual) dan NotBefore (periode pemberitahuan minimum). Anda dapat menemukan peristiwa dengan ID 1234 di Log Peristiwa Aplikasi.

Setelah layanan disiapkan dan dimulai, layanan akan mencatat peristiwa di log Aplikasi Windows. Untuk memverifikasi layanan berfungsi, hidupkan ulang salah satu mesin virtual di set ketersediaan dan Anda akan melihat peristiwa yang dicatat di Penampil peristiwa di Log Windows > Log aplikasi yang menunjukkan Mesin Virtual dihidupkan ulang.

Cuplikan layar penampil peristiwa.

Ketika peristiwa diambil oleh layanan Jadwal Peristiwa, peristiwa tersebut akan masuk ke aplikasi bahkan masuk dengan Status Peristiwa, Jenis Peristiwa, Sumber Daya (nama VM) dan NotBefore (periode pemberitahuan minimum). Anda dapat menemukan peristiwa dengan ID 1234 di Log Peristiwa Aplikasi.

Catatan

Dalam contoh ini, komputer virtual berada dalam kumpulan ketersediaan, yang memungkinkan kami untuk menetapkan satu komputer virtual sebagai pengumpul untuk mendengarkan dan merutekan peristiwa terjadwal ke ruang kerja Log Analytics kami. Jika Anda memiliki komputer virtual mandiri, Anda dapat menjalankan layanan di setiap komputer virtual, lalu menyambungkannya satu per satu ke ruang kerja Log Analytics Anda.

Untuk pengaturan kami, kami memilih Windows, tetapi Anda dapat merancang solusi serupa di Linux.

Kapan pun Anda dapat menghentikan/menghapus Layanan Peristiwa Terjadwal menggunakan sakelar –stop dan –remove.

Menyambungkan ke ruang kerja

Kini kami ingin menyambungkan Ruang Kerja Log Analytics ke VM pengumpul. Ruang kerja Log Analytics bertindak sebagai repositori dan kami akan mengonfigurasi pengumpulan log peristiwa untuk mengambil log aplikasi dari VM pengumpul.

Untuk merutekan Peristiwa Terjadwal ke Log Peristiwa, yang akan disimpan sebagai log Aplikasi oleh layanan kami, Anda perlu menyambungkan komputer virtual ke ruang kerja Log Analytics Anda.

  1. Buka halaman untuk ruang kerja yang Anda buat.

  2. Di bawah Hubungkan ke sumber data pilih Komputer virtual Azure (VM) .

    Menyambungkan ke VM sebagai sumber data

  3. Cari dan pilih myCollectorVM.

  4. Pada halaman baru untuk myCollectorVM, pilih Sambungkan.

Ini akan menginstal Microsoft Monitoring Agent di komputer virtual Anda. Diperlukan beberapa menit untuk menyambungkan VM Anda ke ruang kerja dan menginstal ekstensi.

Mengonfigurasi ruang kerja

  1. Buka halaman untuk ruang kerja Anda dan pilih Pengaturan tingkat lanjut.

  2. Pilih Data dari menu sebelah kiri, lalu pilih Log Peristiwa Windows.

  3. Di Kumpulkan dari log peristiwa berikut, mulailah mengetik aplikasi lalu pilih Aplikasi dari daftar.

    Pilih Pengaturan tingkat lanjut

  4. Biarkan ERROR, WARNING, dan INFORMATION dipilih, lalu pilih Simpan untuk menyimpan pengaturan.

Catatan

Akan ada beberapa penundaan, dan mungkin diperlukan waktu hingga 10 menit sebelum log tersedia.

Membuat aturan pemberitahuan dengan Azure Monitor

Setelah peristiwa didorong ke Log Analytics, Anda dapat menjalankan kueri berikut untuk mencari Jadwal Peristiwa.

  1. Di bagian atas halaman, pilih Log dan tempel kode berikut ke dalam kotak teks:

    Event
    | where EventLog == "Application" and Source contains "AzureScheduledEvents" and RenderedDescription contains "Scheduled" and RenderedDescription contains "EventStatus" 
    | project TimeGenerated, RenderedDescription
    | extend ReqJson= parse_json(RenderedDescription)
    | extend EventId = ReqJson["EventId"]
    ,EventStatus = ReqJson["EventStatus"]
    ,EventType = ReqJson["EventType"]
    ,NotBefore = ReqJson["NotBefore"]
    ,ResourceType = ReqJson["ResourceType"]
    ,Resources = ReqJson["Resources"]
    | project-away RenderedDescription,ReqJson
    
  2. Pilih Simpan, lalu ketik ogQuery untuk namanya, biarkan Kueri sebagai jenisnya, ketik VMLogs sebagai Kategori, lalu pilih Simpan.

    Menyimpan kueri

  3. Pilih pengaturan peringatan baru .

  4. Di halaman Buat aturan, biarkan collectorworkspace sebagai Sumber Daya.

  5. Di bawah Kondisi, pilih entri Setiap kali pencarian log pelanggan <login tidak ditentukan>. Halaman Konfigurasikan logika sinyal akan terbuka.

  6. Di bawah Nilai ambang, masukkan 0 lalu pilih Selesai.

  7. Di bawah Tindakan, pilih Buat grup tindakan. Halaman Tambahkan grup tindakan akan terbuka.

  8. Di Nama grup tindakan, ketik myActionGroup.

  9. Di Nama pendek, ketik myActionGroup.

  10. Di Grup sumber daya, pilih myResourceGroupAvailability.

  11. Di bawah Tindakan, di ACTION NAME ketik Email, lalu pilih Email/SMS/Push/Voice. Halaman Email/SMS/Push/Voice akan terbuka.

  12. Pilih Email, ketik alamat email Anda, lalu pilih OK.

  13. Di halaman Tambahkan grup tindakan, pilih OK.

  14. Di halaman Buat aturan, di bawah DETAIL PEMBERITAHUANketik myAlert untuk Nama aturan pemberitahuan, lalu ketik Aturan pemberitahuan email untuk Deskripsi.

  15. Setelah selesai, pilih Buat aturan pemberitahuan.

  16. Hidupkan ulang salah satu VM dalam kumpulan ketersediaan. Dalam beberapa menit, Anda akan mendapatkan email bahwa pemberitahuan telah dipicu.

Untuk mengelola aturan pemberitahuan, buka grup sumber daya, pilih Pemberitahuan dari menu sebelah kiri, lalu pilih Kelola aturan pemberitahuan dari bagian atas halaman.

Langkah berikutnya

Untuk mempelajari selengkapnya, lihat halaman Layanan peristiwa terjadwal di GitHub.