Bagikan melalui


Pantau mesin virtual dengan Azure Monitor: Pemberitahuan

Artikel ini adalah bagian dari panduan Memantau komputer virtual dan beban kerjanya di Azure Monitor. Pemberitahuan di Azure Monitor secara proaktif memberi tahu Anda tentang data dan pola yang menarik dalam data pemantauan Anda. Tidak ada aturan pemberitahuan yang telah dikonfigurasi sebelumnya untuk komputer virtual, tetapi Anda dapat membuat aturan Anda sendiri berdasarkan data yang Anda kumpulkan dari Agen Azure Monitor. Artikel ini menyajikan konsep pemberitahuan khusus untuk komputer virtual dan aturan pemberitahuan umum yang digunakan oleh pelanggan Azure Monitor lainnya.

Skenario ini menjelaskan cara menerapkan pemantauan lengkap lingkungan komputer virtual Azure dan hibrid Anda:

Penting

Sebagian besar aturan pemberitahuan memiliki biaya yang tergantung pada jenis aturan, jumlah dimensi yang dicakup, dan frekuensi aturan itu dijalankan. Sebelum Anda membuat aturan pemberitahuan apa pun, lihat bagian Aturan pemberitahuan di harga Azure Monitor.

Kumpulan data

Aturan pemberitahuan memeriksa data yang sudah dikumpulkan di Azure Monitor. Anda perlu memastikan bahwa data dikumpulkan untuk skenario tertentu sebelum Anda dapat membuat aturan pemberitahuan. Lihat Memantau komputer virtual dengan Azure Monitor: Mengumpulkan data untuk panduan tentang mengonfigurasi pengumpulan data untuk berbagai skenario, termasuk semua aturan pemberitahuan dalam artikel ini.

Azure Monitor menyediakan sekumpulan aturan pemberitahuan yang direkomendasikan yang dapat Anda aktifkan dengan cepat untuk komputer virtual Azure apa pun. Aturan ini adalah titik awal yang bagus untuk pemantauan dasar. Tetapi sendiri, mereka tidak akan memberikan pemberitahuan yang memadai untuk sebagian besar implementasi perusahaan karena alasan berikut:

  • Pemberitahuan yang direkomendasikan hanya berlaku untuk komputer virtual Azure dan bukan komputer hibrid.
  • Pemberitahuan yang direkomendasikan hanya menyertakan metrik host dan bukan metrik atau log tamu. Metrik ini berguna untuk memantau kesehatan komputer itu sendiri. Tetapi mereka memberi Anda visibilitas minimal ke dalam beban kerja dan aplikasi yang berjalan di komputer.
  • Pemberitahuan yang direkomendasikan dikaitkan dengan mesin individual yang membuat sejumlah besar aturan pemberitahuan. Alih-alih mengandalkan metode ini untuk setiap komputer, lihat Menskalakan aturan pemberitahuan untuk strategi penggunaan sejumlah minimal aturan pemberitahuan untuk beberapa komputer.

Jenis pemberitahuan

Jenis aturan pemberitahuan yang paling umum di Azure Monitor adalah pemberitahuan metrik dan pemberitahuan pencarian log. Jenis aturan pemberitahuan yang Anda buat untuk skenario tertentu bergantung pada tempat data yang Anda waspadai berada.

Anda mungkin memiliki kasus di mana data untuk skenario pemberitahuan tertentu tersedia di Metrik dan Log. Jika demikian, Anda perlu menentukan jenis aturan mana yang akan digunakan. Anda mungkin juga memiliki fleksibilitas dalam cara Anda mengumpulkan data tertentu dan membiarkan keputusan Anda tentang jenis aturan pemberitahuan mengarahkan keputusan Anda mengenai metode pengumpulan data.

Peringatan Metrik

Penggunaan umum untuk pemberitahuan metrik:

  • Pemberitahuan saat metrik tertentu melebihi ambang batas. Contohnya adalah ketika CPU mesin berjalan sangat sibuk.

Sumber data untuk pemberitahuan metrik:

  • Metrik host untuk komputer virtual Azure, yang dikumpulkan secara otomatis
  • Metrik yang dikumpulkan oleh Agen Azure Monitor dari sistem operasi tamu

Pemberitahuan pencarian log

Penggunaan umum untuk pemberitahuan pencarian log:

  • Pemberitahuan ketika peristiwa atau pola peristiwa tertentu dari log peristiwa Windows atau Syslog ditemukan. Aturan pemberitahuan ini biasanya mengukur baris tabel yang dikembalikan dari kueri.
  • Pemberitahuan berdasarkan perhitungan data numerik di beberapa komputer. Aturan pemberitahuan ini biasanya mengukur perhitungan kolom numerik dalam hasil kueri.

Sumber data untuk pemberitahuan pencarian log:

  • Semua data yang dikumpulkan di ruang kerja Analitik Log

Aturan pemberitahuan penskalaan

Karena Anda mungkin memiliki banyak komputer virtual yang memerlukan pemantauan yang sama, Anda tidak perlu membuat aturan pemberitahuan individual untuk masing-masing komputer. Anda juga ingin memastikan ada strategi yang berbeda untuk membatasi jumlah aturan pemberitahuan yang perlu Anda kelola, tergantung pada jenis aturan. Masing-masing strategi ini bergantung pada pemahaman sumber daya target aturan pemberitahuan.

Aturan pemberitahuan metrik

Komputer virtual mendukung beberapa aturan pemberitahuan metrik sumber daya seperti yang dijelaskan dalam Memantau beberapa sumber daya. Kemampuan ini memungkinkan Anda membuat aturan pemberitahuan metrik tunggal yang berlaku untuk semua komputer virtual dalam grup sumber daya atau langganan dalam wilayah yang sama.

Mulai dengan pemberitahuan yang direkomendasikan dan buat aturan yang sesuai untuk masing-masing dengan menggunakan langganan atau grup sumber daya Anda sebagai sumber daya target. Anda perlu membuat aturan duplikat untuk setiap wilayah jika Anda memiliki komputer di beberapa wilayah.

Saat Anda mengidentifikasi persyaratan untuk aturan pemberitahuan metrik lainnya, ikuti strategi yang sama ini dengan menggunakan langganan atau grup sumber daya sebagai sumber daya target untuk:

  • Minimalkan jumlah aturan pemberitahuan yang perlu Anda kelola.
  • Pastikan bahwa mereka secara otomatis diterapkan ke komputer baru apa pun.

Aturan pemberitahuan pencarian log

Jika Anda mengatur sumber daya target aturan pemberitahuan pencarian log ke komputer tertentu, kueri dibatasi pada data yang terkait dengan komputer tersebut, yang memberi Anda pemberitahuan individual untuk itu. Pengaturan ini memerlukan aturan pemberitahuan terpisah untuk setiap komputer.

Jika Anda menetapkan sumber daya target aturan pemberitahuan pencarian log ke ruang kerja Analitik Log, Anda memiliki akses ke semua data di ruang kerja tersebut. Untuk alasan ini, Anda dapat memperingatkan data dari semua komputer di grup kerja dengan satu aturan. Pengaturan ini memberi Anda opsi untuk membuat satu pemberitahuan untuk semua komputer. Anda kemudian dapat menggunakan dimensi untuk membuat pemberitahuan terpisah untuk setiap komputer.

Misalnya, Anda mungkin ingin memberi tahu saat peristiwa kesalahan dibuat di log peristiwa Windows oleh komputer apa pun. Anda harus terlebih dahulu membuat aturan pengumpulan data seperti yang dijelaskan dalam Mengumpulkan peristiwa dan penghitung kinerja dari komputer virtual dengan Agen Azure Monitor untuk mengirim peristiwa ini ke Event tabel di ruang kerja Analitik Log. Kemudian Anda membuat aturan pemberitahuan yang mengkueri tabel ini dengan menggunakan ruang kerja sebagai sumber daya target dan kondisi yang diperlihatkan dalam gambar berikut.

Kueri mengembalikan rekaman untuk pesan kesalahan apa pun di komputer apa pun. Gunakan opsi Pisahkan menurut dimensi dan tentukan _ResourceId untuk menginstruksikan aturan untuk membuat pemberitahuan untuk setiap komputer jika beberapa komputer dikembalikan dalam hasilnya.

Cuplikan layar yang memperlihatkan aturan pemberitahuan pencarian log baru dengan pemisahan menurut dimensi.

Dimensi

Bergantung pada informasi yang ingin Anda sertakan dalam pemberitahuan, Anda mungkin perlu membagi dengan menggunakan dimensi yang berbeda. Dalam hal ini, pastikan dimensi yang diperlukan diproyeksikan dalam kueri dengan menggunakan proyek atau operator perluas . Atur bidang kolom ID Sumber Daya ke Jangan pisahkan dan sertakan semua dimensi yang bermakna dalam daftar. Pastikan Sertakan semua nilai di masa mendatang dipilih sehingga nilai apa pun yang dikembalikan dari kueri disertakan.

Cuplikan layar yang memperlihatkan aturan pemberitahuan pencarian log baru dengan dibagi berdasarkan beberapa dimensi.

Ambang dinamis

Manfaat lain menggunakan aturan pemberitahuan pencarian log adalah kemampuan untuk menyertakan logika kompleks dalam kueri untuk menentukan nilai ambang batas. Anda dapat melakukan hardcode ambang batas, menerapkannya ke semua sumber daya, atau menghitungnya secara dinamis berdasarkan beberapa bidang atau nilai terhitung. Ambang batas diterapkan ke sumber daya hanya sesuai dengan kondisi tertentu. Misalnya, Anda dapat membuat pemberitahuan berdasarkan memori yang tersedia tetapi hanya untuk komputer dengan jumlah total memori tertentu.

Aturan pemberitahuan umum

Bagian berikut mencantumkan aturan pemberitahuan umum untuk mesin virtual di Azure Monitor. Detail untuk pemberitahuan metrik dan pemberitahuan pencarian log disediakan untuk masing-masing pemberitahuan. Untuk panduan tentang jenis pemberitahuan mana yang akan digunakan, lihat Jenis pemberitahuan. Jika Anda tidak terbiasa dengan proses pembuatan aturan peringatan di Azure Monitor, lihat petunjuk untuk membuat aturan peringatan baru.

Catatan

Detail untuk pemberitahuan pencarian log yang disediakan di sini menggunakan data yang dikumpulkan dengan menggunakan VM Insights, yang menyediakan serangkaian penghitung kinerja umum untuk sistem operasi klien. Nama ini tidak bergantung pada jenis sistem operasi.

Ketersediaan mesin

Salah satu persyaratan pemantauan paling umum untuk komputer virtual adalah membuat pemberitahuan jika berhenti berjalan. Metode terbaik adalah membuat aturan pemberitahuan metrik di Azure Monitor dengan menggunakan metrik ketersediaan VM, yang saat ini dalam pratinjau publik. Untuk panduan tentang metrik ini, lihat Membuat aturan pemberitahuan ketersediaan untuk komputer virtual Azure.

Aturan pemberitahuan terbatas pada satu sinyal log aktivitas. Jadi untuk setiap kondisi, satu aturan pemberitahuan harus dibuat. Misalnya, "memulai atau menghentikan komputer virtual" memerlukan dua aturan pemberitahuan. Namun, untuk diperingatkan ketika VM dimulai ulang, hanya satu aturan pemberitahuan yang diperlukan.

Seperti yang dijelaskan dalam Menskalakan aturan pemberitahuan, buat aturan pemberitahuan ketersediaan dengan menggunakan langganan atau grup sumber daya sebagai sumber daya target. Aturan ini berlaku untuk beberapa komputer virtual, termasuk komputer baru yang Anda buat setelah aturan pemberitahuan.

Heartbeat agen

Heartbeat agen sedikit berbeda dari peringatan komputer yang tidak tersedia karena bergantung pada Agen Azure Monitor untuk mengirim heartbeat. Heartbeat agen dapat memperingatkan Anda jika mesin berjalan tetapi agen tidak responsif.

Aturan pemberitahuan metrik

Metrik yang disebut Detak Jantung disertakan di setiap ruang kerja Log Analytics. Setiap mesin virtual yang terhubung ke ruang kerja itu mengirimkan nilai metrik detak jantung setiap menit. Karena komputer adalah dimensi pada metrik, Anda dapat memicu pemberitahuan ketika komputer gagal mengirim detak jantung. Tetapkan jenis Agregasi ke Hitungan dan nilai Ambang agar sesuai dengan granularitas Evaluasi.

Aturan pemberitahuan pencarian log

Pemberitahuan pencarian log menggunakan tabel Heartbeat, yang harus memiliki catatan heartbeat setiap menit dari setiap komputer.

Gunakan aturan dengan kueri berikut:

Heartbeat
| summarize TimeGenerated=max(TimeGenerated) by Computer, _ResourceId
| extend Duration = datetime_diff('minute',now(),TimeGenerated)
| summarize MinutesSinceLastHeartbeat = min(Duration) by Computer, bin(TimeGenerated,5m), _ResourceId

Pemberitahuan CPU

Bagian ini menjelaskan pemberitahuan CPU.

Aturan pemberitahuan metrik

Target Metric
Host Persentase CPU (termasuk dalam pemberitahuan yang direkomendasikan)
tamu Windows Informasi Prosesor(_Total)% Waktu Prosesor
Tamu Linux cpu/usage_active

Aturan pemberitahuan pencarian log

Pemanfaatan CPU

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Processor" and Name == "UtilizationPercentage"
| summarize CPUPercentageAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId

Pemberitahuan memori

Bagian ini menjelaskan pemberitahuan memori.

Aturan pemberitahuan metrik

Target Metric
Host Byte Memori yang Tersedia (pratinjau) (disertakan dalam pemberitahuan yang direkomendasikan)
tamu Windows Memory% Byte Penerapan yang Digunakan
\Memory\Bytes Tersedia
Tamu Linux mem/available
mem/available_percent

Aturan pemberitahuan pencarian log

Memori yang Tersedia dalam MB

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Memory" and Name == "AvailableMB"
| summarize AvailableMemoryInMBAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId

Memori yang Tersedia dalam persentase

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Memory" and Name == "AvailableMB"
| extend TotalMemory = toreal(todynamic(Tags)["vm.azm.ms/memorySizeMB"]) | extend AvailableMemoryPercentage = (toreal(Val) / TotalMemory) * 100.0
| summarize AvailableMemoryInPercentageAverage = avg(AvailableMemoryPercentage) by bin(TimeGenerated, 15m), Computer, _ResourceId  

Pemberitahuan disk

Bagian ini menjelaskan pemberitahuan disk.

Aturan pemberitahuan metrik

Target Metric
tamu Windows \Logical Disk(_Total)% Ruang Kosong
\Logical Disk(_Total)\Megabyte Kosong
Tamu Linux disk/kosong
disk/free_percent

Aturan pemberitahuan pencarian log

Disk logis yang digunakan - semua disk pada setiap komputer

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "FreeSpacePercentage"
| summarize LogicalDiskSpacePercentageFreeAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId 

Disk logis yang digunakan - disk individu

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "LogicalDisk" and Name == "FreeSpacePercentage"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize LogicalDiskSpacePercentageFreeAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, Disk 

IOPS disk logis

InsightsMetrics
| where Origin == "vm.azm.ms" 
| where Namespace == "LogicalDisk" and Name == "TransfersPerSecond"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize DiskIOPSAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, Disk 

Laju data disk logis

InsightsMetrics
| where Origin == "vm.azm.ms" 
| where Namespace == "LogicalDisk" and Name == "BytesPerSecond"
| extend Disk=tostring(todynamic(Tags)["vm.azm.ms/mountId"])
| summarize DiskBytesPerSecondAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, Disk 

Pemberitahuan jaringan

Aturan pemberitahuan metrik

Target Metric
Host Total Jaringan Dalam Jumlah, Jaringan Keluar Total (disertakan dalam pemberitahuan yang direkomendasikan)
tamu Windows \Antarmuka Jaringan\Bytes Dikirim/detik
\Logical Disk(_Total)\Megabyte Kosong
Tamu Linux disk/kosong
disk/free_percent

Aturan pemberitahuan pencarian log

Antarmuka jaringan byte yang diterima - semua antarmuka

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "ReadBytesPerSecond"
| summarize BytesReceivedAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId  

Antarmuka jaringan byte yang diterima - antarmuka individual

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "ReadBytesPerSecond"
| extend NetworkInterface=tostring(todynamic(Tags)["vm.azm.ms/networkDeviceId"])
| summarize BytesReceievedAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, NetworkInterface 

Antarmuka jaringan byte yang dikirim - semua antarmuka

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "WriteBytesPerSecond"
| summarize BytesSentAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId 

Antarmuka jaringan byte yang dikirim - antarmuka individual

InsightsMetrics
| where Origin == "vm.azm.ms"
| where Namespace == "Network" and Name == "WriteBytesPerSecond"
| extend NetworkInterface=tostring(todynamic(Tags)["vm.azm.ms/networkDeviceId"])
| summarize BytesSentAverage = avg(Val) by bin(TimeGenerated, 15m), Computer, _ResourceId, NetworkInterface 

Peristiwa Windows dan Linux

Sampel berikut membuat pemberitahuan ketika peristiwa Windows tertentu dibuat. Ini menggunakan aturan pemberitahuan pengukuran metrik untuk membuat pemberitahuan terpisah untuk setiap komputer.

  • Buat aturan pemberitahuan pada peristiwa Windows tertentu. Contoh ini menunjukkan peristiwa dalam log Aplikasi. Tentukan ambang batas 0 dan pelanggaran berturut-turut lebih besar dari 0.

    Event 
    | where EventLog == "Application"
    | where EventID == 123 
    | summarize NumberOfEvents = count() by Computer, bin(TimeGenerated, 15m)
    
  • Buat aturan pemberitahuan tentang peristiwa Syslog dengan tingkat keparahan tertentu. Contoh berikut menunjukkan peristiwa kesalahan otorisasi. Tentukan ambang batas 0 dan pelanggaran berturut-turut lebih besar dari 0.

    Syslog
    | where Facility == "auth"
    | where SeverityLevel == "err"
    | summarize NumberOfEvents = count() by Computer, bin(TimeGenerated, 15m)
    

Penghitung performa kustom

  • Buat pemberitahuan tentang nilai maksimum penghitung.

    Perf 
    | where CounterName == "My Counter" 
    | summarize AggregatedValue = max(CounterValue) by Computer
    
  • Buat pemberitahuan pada nilai rata-rata penghitung.

    Perf 
    | where CounterName == "My Counter" 
    | summarize AggregatedValue = avg(CounterValue) by Computer
    

Langkah berikutnya

Menganalisis data pemantauan yang dikumpulkan untuk mesin virtual