Cara mengkueri log dari wawasan VM

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan perencanaan Anda yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Wawasan VM mengumpulkan metrik performa dan koneksi, data inventaris proses dan komputer, serta informasi status kesehatan dan meneruskannya ke ruang kerja Log Analytics di Azure Monitor. Data ini tersedia untuk kueri di Azure Monitor. Anda dapat menerapkan data ini ke skenario yang mencakup perencanaan migrasi, analisis kapasitas, penemuan, dan pemecahan masalah performa sesuai permintaan.

Memetakan rekaman

Penting

Jika komputer virtual Anda menggunakan wawasan VM dengan agen Azure Monitor, maka Anda harus memiliki proses dan dependensi yang diaktifkan agar tabel ini dibuat.

Satu catatan dihasilkan per jam untuk setiap komputer dan proses unik, selain catatan yang dihasilkan saat proses atau komputer dimulai atau ditambahkan ke wawasan VM. Bidang dan nilai dalam peta tabel VMComputer ke bidang sumber daya Komputer di Api ServiceMap Azure Resource Manager. Bidang dan nilai dalam peta tabel VMProcess ke bidang sumber daya Proses di Api ServiceMap Azure Resource Manager. Bidang _ResourceId cocok dengan bidang nama di sumber daya Resource Manager terkait.

Ada properti yang dihasilkan secara internal yang dapat Anda gunakan untuk mengidentifikasi proses unik dan komputer:

  • Komputer: Gunakan _ResourceId untuk mengidentifikasi komputer secara unik dalam ruang kerja Analitik Log.
  • Proses: Gunakan _ResourceId untuk mengidentifikasi proses secara unik dalam ruang kerja Analitik Log.

Karena beberapa rekaman bisa ada untuk proses dan komputer tertentu dalam rentang waktu tertentu, kueri bisa mengembalikan lebih dari satu rekaman untuk komputer atau proses yang sama. Untuk menyertakan hanya rekaman terbaru, tambahkan | summarize arg_max(TimeGenerated, *) by ResourceId ke kueri.

Koneksi dan port

Fitur Metrik Koneksi memperkenalkan dua tabel baru di log Azure Monitor - VMConnection dan VMBoundPort. Tabel ini menyediakan informasi tentang koneksi untuk komputer (masuk dan keluar) dan port server yang terbuka/aktif pada mereka. ConnectionMetrics juga diekspos melalui API yang menyediakan sarana untuk mendapatkan metrik tertentu selama jangka waktu tertentu. Koneksi TCP yang dihasilkan dari penerimaan pada soket pendengar masuk, sedangkan sambungan yang dibuat dengan menghubungkan ke IP dan port tertentu keluar. Arah koneksi diwakili oleh properti Arah, yang dapat diatur ke masuk atau keluar.

Rekaman dalam tabel ini dihasilkan dari data yang dilaporkan oleh agen Dependensi. Setiap rekaman mewakili pengamatan selama interval waktu 1 menit. Properti TimeGenerated menunjukkan awal interval waktu. Setiap rekaman berisi informasi untuk mengidentifikasi entitas masing-masing, yaitu koneksi atau port, serta metrik yang terkait dengan entitas tersebut. Saat ini, hanya aktivitas jaringan yang terjadi menggunakan TCP melalui IPv4 yang dilaporkan.

Bidang dan konvensi umum

Bidang dan konvensi berikut ini berlaku untuk VMConnection dan VMBoundPort:

  • Komputer: Nama domain komputer pelaporan yang sepenuhnya memenuhi syarat
  • AgentId: Pengidentifikasi unik untuk mesin yang menjalankan Agen Azure Monitor atau agen Analitik Log
  • Komputer: Nama sumber daya Azure Resource Manager untuk komputer yang diekspos oleh ServiceMap. Ini adalah bentuk m-{GUID}, di mana GUID adalah GUID yang sama dengan AgentId
  • Proses: Nama sumber daya Azure Resource Manager untuk proses yang diekspos oleh ServiceMap. Ini dari bentuk p-{hex string}. Proses ini unik dalam lingkup komputer dan untuk menghasilkan ID proses yang unik di seluruh komputer, menggabungkan bidang Proses dan Komputer.
  • ProcessName: Nama yang dapat dieksekusi dari proses pelaporan.
  • Semua alamat IP adalah string dalam format kanonis IPv4, misalnya 13.107.3.160

Untuk mengelola biaya dan kompleksitas, rekaman koneksi tidak mewakili koneksi jaringan fisik individual. Beberapa koneksi jaringan fisik dikelompokkan ke dalam koneksi logis, yang kemudian tercermin dalam tabel masing-masing. Artinya, rekaman dalam tabel VMConnection mewakili pengelompokan logis dan bukan koneksi fisik individual yang sedang diamati. Koneksi jaringan fisik yang berbagi nilai yang sama untuk atribut berikut selama interval satu menit tertentu, digabungkan menjadi satu rekaman logis di VMConnection.

Properti Deskripsi
Petunjuk Arah koneksi, nilainya masuk atau keluar
Komputer Komputer FQDN
Proses Identitas proses atau grup proses, memulai/menerima koneksi
SourceIp Alamat IP sumber
DestinationIp Alamat IP tujuan
DestinationPort Nomor port tujuan
Protokol Protokol yang digunakan untuk koneksi tersebut. Nilainya adalah tcp.

Untuk memperhitungkan dampak pengelompokan, informasi tentang jumlah koneksi fisik yang dikelompokkan disediakan di properti rekaman berikut ini:

Properti Deskripsi
LinksEstablished Jumlah koneksi jaringan fisik yang telah dibuat selama jendela waktu pelaporan
LinksTerminated Jumlah koneksi jaringan fisik yang telah dihentikan selama jendela waktu pelaporan
LinksFailed Jumlah koneksi jaringan fisik yang gagal selama jendela waktu pelaporan. Informasi ini saat ini hanya tersedia untuk koneksi keluar.
LinksLive Jumlah koneksi jaringan fisik yang terbuka di akhir jendela waktu pelaporan

Metrik

Selain metrik jumlah koneksi, informasi tentang volume data yang dikirim dan diterima pada koneksi logis atau port jaringan tertentu juga disertakan dalam properti rekaman berikut:

Properti Deskripsi
BytesSent Jumlah total byte yang telah dikirim selama jendela waktu pelaporan
BytesReceived Jumlah total byte yang telah diterima selama jendela waktu pelaporan
Respons Jumlah respons yang diamati selama jendela waktu pelaporan.
ResponseTimeMax Waktu respons terbesar (milidetik) diamati selama jendela waktu pelaporan. Jika tidak ada nilai, properti kosong.
ResponseTimeMin Waktu respons terkecil (milidetik) diamati selama jendela waktu pelaporan. Jika tidak ada nilai, properti kosong.
ResponseTimeSum Jumlah semua waktu respons (milidetik) diamati selama jendela waktu pelaporan. Jika tidak ada nilai, properti kosong.

Jenis data ketiga yang dilaporkan adalah waktu respons - berapa lama penelepon menghabiskan waktu menunggu permintaan yang dikirim melalui koneksi untuk diproses dan ditanggapi oleh titik akhir jarak jauh. Waktu respons yang dilaporkan adalah perkiraan waktu respons sebenarnya dari protokol aplikasi yang mendasarinya. Ini dihitung menggunakan heuristik berdasarkan pengamatan aliran data antara sumber dan tujuan akhir koneksi jaringan fisik. Secara konseptual, ini adalah perbedaan antara waktu byte terakhir permintaan meninggalkan pengirim, dan waktu ketika byte terakhir respons tiba kembali ke sana. Kedua tanda waktu ini digunakan untuk menggambarkan peristiwa permintaan dan respons pada koneksi fisik tertentu. Perbedaan di antara mereka mewakili waktu respons dari satu permintaan.

Dalam rilis pertama fitur ini, algoritme kami adalah perkiraan yang dapat bekerja dengan berbagai tingkat keberhasilan tergantung pada protokol aplikasi aktual yang digunakan untuk koneksi jaringan tertentu. Misalnya, pendekatan saat ini berfungsi dengan baik untuk protokol berbasis respons permintaan seperti HTTP, tetapi tidak berfungsi dengan protokol berbasis antrean satu arah atau pesan.

Berikut adalah beberapa titik penting yang perlu dipertimbangkan:

  1. Jika suatu proses menerima koneksi pada alamat IP yang sama tetapi melalui beberapa antarmuka jaringan, rekaman terpisah untuk setiap antarmuka akan dilaporkan.
  2. Rekaman dengan IP kartubebas tidak akan berisi aktivitas. Mereka disertakan untuk mewakili fakta bahwa port pada komputer terbuka untuk lalu lintas masuk.
  3. Untuk mengurangi verbositas dan volume data, rekaman dengan IP wildcard akan dihilangkan ketika ada rekaman yang cocok (untuk proses, port, dan protokol yang sama) dengan alamat IP tertentu. Ketika rekaman IP kartubebas dihilangkan, properti rekaman IsWildcardBind dengan alamat IP tertentu, akan diatur ke "True" untuk menunjukkan bahwa port terekspos di setiap antarmuka komputer pelaporan.
  4. Port yang hanya terikat pada antarmuka tertentu memiliki IsWildcardBind yang diatur ke False.

Penamaan dan Klasifikasi

Untuk kenyamanan, alamat IP dari akhir jarak jauh untuk koneksi disertakan dalam properti RemoteIp. Untuk koneksi masuk, RemoteIp sama dengan SourceIp, sementara untuk koneksi keluar, sama dengan DestinationIp. Properti RemoteDnsCanonicalNames mewakili nama kanonis DNS yang dilaporkan oleh mesin untuk RemoteIp. Properti RemoteDnsQuestions mewakili pertanyaan DNS yang dilaporkan oleh komputer untuk RemoteIp. Properti RemoveClassification disediakan untuk digunakan di masa mendatang.

Geolokasi

VMConnection juga menyertakan informasi geolokasi untuk akhir jarak jauh untuk setiap rekaman koneksi dalam properti rekaman berikut:

Properti Deskripsi
RemoteCountry Nama negara/wilayah hosting RemoteIp. Misalnya, Amerika Serikat
RemoteLatitude Garis lintang geolokasi. Misalnya, 47.68
RemoteLongitude Bujur geolokasi. Misalnya, -122,12

IP Berbahaya

Setiap properti RemoteIp di tabel VMConnection diperiksa terhadap sekumpulan IP dengan aktivitas berbahaya yang diketahui. Jika RemoteIp diidentifikasi sebagai berbahaya, properti berikut akan diisi (kosong, ketika IP tidak dianggap berbahaya) di properti rekaman berikut:

Properti Deskripsi
MaliciousIp Alamat RemoteIp
IndicatorThreadType Indikator ancaman yang terdeteksi adalah salah satu nilai berikut, Botnet, C2, CryptoMining, Darknet, DDos, MaliciousUrl, Malware, Phishing, Proxy, PUA, Watchlist.
Deskripsi Deskripsi ancaman yang diamati.
TLPLevel Level Protokol Lampu Lalu lintas adalah salah satu nilai yang ditentukan, Putih, Hijau, Kuning, Merah.
Keyakinan Nilainya adalah 0 – 100.
Tingkat keparahan Nilainya adalah 0 – 5, di mana 5 adalah yang paling parah dan 0 tidak parah sama sekali. Nilai defaultnya adalah 3.
FirstReportedDateTime Pertama kali penyedia melaporkan indikator.
LastReportedDateTime Terakhir kali indikator terlihat oleh Interflow.
IsActive Menunjukkan indikator dinonaktifkan dengan nilai True atau False.
ReportReferenceLink Link ke laporan yang terkait dengan pengamatan tertentu. Untuk melaporkan pemberitahuan palsu atau mendapatkan detail selengkapnya tentang IP berbahaya, buka kasus Dukungan dan berikan tautan ini.
AdditionalInformation Memberikan informasi tambahan, jika berlaku, tentang ancaman yang diamati.

Port

Port pada komputer yang secara aktif menerima lalu lintas masuk atau berpotensi menerima lalu lintas, tetapi menganggur selama jendela waktu pelaporan, ditulis ke tabel VMBoundPort.

Setiap rekaman di VMBoundPort diidentifikasi oleh bidang berikut:

Properti Deskripsi
Proses Identitas proses (atau grup proses) yang terkait dengan port.
Ip Alamat IP Port (dapat IP kartubebas, 0.0.0.0)
Port Nomor port
Protokol Protokolnya. Misalnya, tcp atau udp (hanya tcp yang saat ini didukung).

Identitas port berasal dari lima bidang di atas dan disimpan di properti PortId. Properti ini dapat digunakan untuk menemukan rekaman dengan cepat untuk port tertentu sepanjang waktu.

Metrik

Rekaman port termasuk metrik yang mewakili koneksi yang terkait dengannya. Saat ini, metrik berikut dilaporkan (detail untuk setiap metrik dijelaskan di bagian sebelumnya):

  • BytesSent dan BytesReceived
  • LinksEstablished, LinksTerminated, LinksLive
  • ResposeTime, ResponseTimeMin, ResponseTimeMax, ResponseTimeSum

Berikut adalah beberapa titik penting yang perlu dipertimbangkan:

  • Jika suatu proses menerima koneksi pada alamat IP yang sama tetapi melalui beberapa antarmuka jaringan, rekaman terpisah untuk setiap antarmuka akan dilaporkan.
  • Rekaman dengan IP kartubebas tidak akan berisi aktivitas. Mereka disertakan untuk mewakili fakta bahwa port pada komputer terbuka untuk lalu lintas masuk.
  • Untuk mengurangi verbositas dan volume data, rekaman dengan IP wildcard akan dihilangkan ketika ada rekaman yang cocok (untuk proses, port, dan protokol yang sama) dengan alamat IP tertentu. Ketika rekaman IP kartubebas dihilangkan, properti IsWildcardBind untuk rekaman dengan alamat IP tertentu, akan diatur ke True. Ini menunjukkan port terekspos di setiap antarmuka komputer pelaporan.
  • Port yang hanya terikat pada antarmuka tertentu memiliki IsWildcardBind yang diatur ke False.

Rekaman VMComputer

Rekaman dengan jenis VMComputer memiliki data inventaris untuk server dengan agen Dependensi. Rekaman ini memiliki properti dalam tabel berikut:

Properti Deskripsi
TenantId Pengidentifikasi unik untuk ruang kerja
SourceSystem Insights
TimeGenerated Tanda waktu rekaman (UTC)
Komputer Komputer FQDN
AgenId Pengidentifikasi unik untuk komputer yang menjalankan Agen Azure Monitor atau agen Analitik Log
Komputer Nama sumber daya Azure Resource Manager untuk komputer yang diekspos oleh ServiceMap. Ini adalah bentuk m-{GUID}, di mana GUID adalah GUID yang sama dengan AgentId.
DisplayName Nama tampilan
FullDisplayName Nama tampilan penuh
HostName Nama komputer tanpa nama domain
BootTime Waktu boot komputer (UTC)
TimeZone Zona waktu yang dinormalisasi
VirtualizationState virtual, hypervisor, fisik
Ipv4Addresses Array alamat IPv4
Ipv4SubnetMasks Array subnet mask IPv4 (dalam urutan yang sama dengan IPv4Addresses).
Ipv4DefaultGateways Array gateway IPv4
Ipv6Addresses Array alamat IPv6
MacAddresses Array alamat MAC
DnsNames Array nama DNS yang terkait dengan komputer.
DependencyAgentVersion Versi agen Dependensi yang berjalan pada komputer.
OperatingSystemFamily Linux, Windows
OperatingSystemFullName Nama lengkap sistem operasi
PhysicalMemoryMB Memori fisik dalam megabyte
Cpus Jumlah prosesor
CpuSpeed Kecepatan CPU dalam MHz
VirtualMachineType hyperv, vmware, xen
VirtualMachineNativeId ID VM sebagaimana ditetapkan oleh hypervisornya
VirtualMachineNativeName Nama VM
VirtualMachineHypervisorId Pengidentifikasi unik hypervisor yang menghosting VM
HypervisorType hyperv
HypervisorId ID unik hypervisor
HostingProvider azure
_ResourceId Pengidentifikasi unik untuk sumber daya Azure
AzureSubscriptionId Pengidentifikasi unik global yang mengidentifikasi langganan Anda
AzureResourceGroup Nama grup sumber daya Azure tempat komputer tersebut menjadi anggota.
AzureResourceName Nama sumber daya Azure
AzureLocation Lokasi sumber daya Azure
AzureUpdateDomain Nama domain pembaruan Azure
AzureFaultDomain Nama domain kesalahan Azure
AzureVmId Pengidentifikasi unik komputer virtual Azure
AzureSize Ukuran VM Azure
AzureImagePublisher Nama penerbit VM Azure
AzureImageOffering Nama jenis penawaran VM Azure
AzureImageSku SKU gambar VM Azure
AzureImageVersion Versi gambar VM Azure
AzureCloudServiceName Nama layanan cloud Azure
AzureCloudServiceDeployment ID penyebaran untuk Layanan Cloud
AzureCloudServiceRoleName Nama peran Layanan Cloud
AzureCloudServiceRoleType Jenis peran Layanan Cloud: pekerja atau web
AzureCloudServiceInstanceId ID instans peran Layanan Cloud
AzureVmScaleSetName Nama set skala komputer virtual
AzureVmScaleSetDeployment ID penyebaran set skala komputer virtual
AzureVmScaleSetResourceId Pengidentifikasi unik dari sumber daya set skala komputer virtual.
AzureVmScaleSetInstanceId Pengidentifikasi unik dari set skala komputer virtual
AzureServiceFabricClusterId Pengidentifikasi unik dari kluster Azure Service Fabric
AzureServiceFabricClusterName Nama kluster Azure Service Fabric

Rekaman VMProcess

Rekaman dengan jenis VMProcess memiliki data inventaris untuk proses yang terhubung dengan TCP di server dengan agen Dependensi. Rekaman ini memiliki properti dalam tabel berikut:

Properti Deskripsi
TenantId Pengidentifikasi unik untuk ruang kerja
SourceSystem Insights
TimeGenerated Tanda waktu rekaman (UTC)
Komputer Komputer FQDN
AgenId Pengidentifikasi unik untuk komputer yang menjalankan Agen Azure Monitor atau agen Analitik Log
Komputer Nama sumber daya Azure Resource Manager untuk komputer yang diekspos oleh ServiceMap. Ini adalah bentuk m-{GUID}, di mana GUID adalah GUID yang sama dengan AgentId.
Proses Pengidentifikasi unik dari proses Peta Layanan. Ini dalam bentuk p-{GUID}.
ExecutableName Nama proses yang dapat dieksekusi
DisplayName Nama tampilan proses
Peran Peran proses: webserver, appServer, databaseServer, ldapServer, smbServer
Grupkan Nama grup proses. Proses dalam grup yang sama terkait secara logis, misalnya, bagian dari produk atau komponen sistem yang sama.
StartTime Waktu mulai kumpulan proses
FirstPid PID pertama di kumpulan proses
Deskripsi Deskripsi proses
NamaPerusahaan Nama perusahaan
InternalName Nama internal
ProductName Nama produk
ProductVersion Versi produk
FileVersion Versi file
ExecutablePath Jalur yang dapat dieksekusi
CommandLine Baris perintah
WorkingDirectory Direktori kerja
Layanan Array layanan tempat proses sedang dijalankan
UserName Akun tempat proses dijalankan
UserDomain Domain tempat proses dijalankan
_ResourceId Pengidentifikasi unik untuk proses di dalam ruang kerja

Sampel kueri peta

Daftar semua komputer yang diketahui

VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId

Kapan VM terakhir di-boot ulang

let Today = now(); VMComputer | extend DaysSinceBoot = Today - BootTime | summarize by Computer, DaysSinceBoot, BootTime | sort by BootTime asc

Ringkasan VM Azure berdasarkan gambar, lokasi, dan SKU

VMComputer | where AzureLocation != "" | summarize by Computer, AzureImageOffering, AzureLocation, AzureImageSku

Daftar kapasitas memori fisik semua komputer terkelola

VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project PhysicalMemoryMB, Computer

Daftar nama komputer, DNS, IP, dan OS

VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project Computer, OperatingSystemFullName, DnsNames, Ipv4Addresses

Menemukan semua proses dengan "sql" di baris perintah

VMProcess | where CommandLine contains_cs "sql" | summarize arg_max(TimeGenerated, *) by _ResourceId

Menemukan komputer (rekaman terbaru) menurut nama sumber daya

search in (VMComputer) "m-4b9c93f9-bc37-46df-b43c-899ba829e07b" | summarize arg_max(TimeGenerated, *) by _ResourceId

Menemukan komputer (rekaman terbaru) dengan alamat IP

search in (VMComputer) "10.229.243.232" | summarize arg_max(TimeGenerated, *) by _ResourceId

Daftar semua proses yang diketahui pada mesin tertentu

VMProcess | where Machine == "m-559dbcd8-3130-454d-8d1d-f624e57961bc" | summarize arg_max(TimeGenerated, *) by _ResourceId

Daftar semua komputer yang menjalankan SQL Server

VMComputer | where AzureResourceName in ((search in (VMProcess) "*sql*" | distinct Machine)) | distinct Computer

Daftar semua versi produk unik curl di pusat data saya

VMProcess | where ExecutableName == "curl" | distinct ProductVersion

Membuat grup komputer semua komputer yang menjalankan CentOS

VMComputer | where OperatingSystemFullName contains_cs "CentOS" | distinct Computer
VMConnection | summarize sum(BytesSent), sum(BytesReceived) by bin(TimeGenerated,1hr), Computer | order by Computer desc | render timechart

VM Azure mana yang mentransmisikan byte terbanyak

VMConnection | join kind=fullouter(VMComputer) on $left.Computer == $right.Computer | summarize count(BytesSent) by Computer, AzureVMSize | sort by count_BytesSent desc
VMConnection | where TimeGenerated >= ago(24hr) | where Computer == "acme-demo" | summarize dcount(LinksEstablished), dcount(LinksLive), dcount(LinksFailed), dcount(LinksTerminated) by bin(TimeGenerated, 1h) | render timechart

Tren kegagalan koneksi

VMConnection | where Computer == "acme-demo" | extend bythehour = datetime_part("hour", TimeGenerated) | project bythehour, LinksFailed | summarize failCount = count() by bythehour | sort by bythehour asc | render timechart

Port Terikat

VMBoundPort
| where TimeGenerated >= ago(24hr)
| where Computer == 'admdemo-appsvr'
| distinct Port, ProcessName

Jumlah port terbuka di seluruh komputer

VMBoundPort
| where Ip != "127.0.0.1"
| summarize by Computer, Machine, Port, Protocol
| summarize OpenPorts=count() by Computer, Machine
| order by OpenPorts desc

Proses skor di ruang kerja Anda dengan jumlah port yang telah mereka buka

VMBoundPort
| where Ip != "127.0.0.1"
| summarize by ProcessName, Port, Protocol
| summarize OpenPorts=count() by ProcessName
| order by OpenPorts desc

Perilaku agregat untuk setiap port

Kueri ini kemudian dapat digunakan untuk mencetak port berdasarkan aktivitas, misalnya, port dengan lalu lintas masuk/keluar terbanyak, port dengan koneksi terbanyak

// 
VMBoundPort
| where Ip != "127.0.0.1"
| summarize BytesSent=sum(BytesSent), BytesReceived=sum(BytesReceived), LinksEstablished=sum(LinksEstablished), LinksTerminated=sum(LinksTerminated), arg_max(TimeGenerated, LinksLive) by Machine, Computer, ProcessName, Ip, Port, IsWildcardBind
| project-away TimeGenerated
| order by Machine, Computer, Port, Ip, ProcessName

Meringkas koneksi keluar dari grup komputer

// the machines of interest
let machines = datatable(m: string) ["m-82412a7a-6a32-45a9-a8d6-538354224a25"];
// map of ip to monitored machine in the environment
let ips=materialize(VMComputer
| summarize ips=makeset(todynamic(Ipv4Addresses)) by MonitoredMachine=AzureResourceName
| mvexpand ips to typeof(string));
// all connections to/from the machines of interest
let out=materialize(VMConnection
| where Machine in (machines)
| summarize arg_max(TimeGenerated, *) by ConnectionId);
// connections to localhost augmented with RemoteMachine
let local=out
| where RemoteIp startswith "127."
| project ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine=Machine;
// connections not to localhost augmented with RemoteMachine
let remote=materialize(out
| where RemoteIp !startswith "127."
| join kind=leftouter (ips) on $left.RemoteIp == $right.ips
| summarize by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine=MonitoredMachine);
// the remote machines to/from which we have connections
let remoteMachines = remote | summarize by RemoteMachine;
// all augmented connections
(local)
| union (remote)
//Take all outbound records but only inbound records that come from either //unmonitored machines or monitored machines not in the set for which we are computing dependencies.
| where Direction == 'outbound' or (Direction == 'inbound' and RemoteMachine !in (machines))
| summarize by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine
// identify the remote port
| extend RemotePort=iff(Direction == 'outbound', DestinationPort, 0)
// construct the join key we'll use to find a matching port
| extend JoinKey=strcat_delim(':', RemoteMachine, RemoteIp, RemotePort, Protocol)
// find a matching port
| join kind=leftouter (VMBoundPort 
| where Machine in (remoteMachines) 
| summarize arg_max(TimeGenerated, *) by PortId 
| extend JoinKey=strcat_delim(':', Machine, Ip, Port, Protocol)) on JoinKey
// aggregate the remote information
| summarize Remote=makeset(iff(isempty(RemoteMachine), todynamic('{}'), pack('Machine', RemoteMachine, 'Process', Process1, 'ProcessName', ProcessName1))) by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol

Rekaman performa

Rekaman dengan jenis InsightsMetrics memiliki data performa dari sistem operasi tamu komputer virtual. Rekaman ini dikumpulkan pada interval 60 detik dan memiliki properti dalam tabel berikut:

Properti Deskripsi
TenantId Pengidentifikasi unik untuk ruang kerja
SourceSystem Insights
TimeGenerated Waktu nilai dikumpulkan (UTC)
Komputer Komputer FQDN
Asal vm.azm.ms
Ruang nama Kategori penghitung kinerja
Nama Nama penghitung kinerja
Val Nilai yang dikumpulkan
Tag Rincian terkait tentang rekaman. Lihat tabel di bawah ini untuk tag yang digunakan dengan tipe rekaman yang berbeda.
AgenId Pengidentifikasi unik untuk setiap agen komputer
Jenis InsightMetrics
ResourceId ID sumber daya komputer virtual

Penghitung kinerja yang saat ini dikumpulkan ke dalam tabel InsightsMetrics tercantum dalam tabel berikut:

Ruang nama Nama Deskripsi Unit Tag
Komputer Heartbeat Heartbeat Komputer
Memori AvailableMB Byte Memori yang Tersedia Megabyte memorySizeMB - Ukuran memori total
Jaringan WriteBytesPerSecond Byte Tulis Jaringan Per Detik BytesPerSecond NetworkDeviceId - ID perangkat
byte - Total byte yang dikirim
Jaringan ReadBytesPerSecond Byte Baca Jaringan Per Detik BytesPerSecond networkDeviceId - ID perangkat
byte - Total byte yang diterima
Pemroses UtilizationPercentage Persentase Pemanfaatan Prosesor Persen totalCpus - Total CPU
LogicalDisk WritesPerSecond Penulisan Disk Logis Per Detik CountPerSecond mountId - ID pemasangan perangkat
LogicalDisk WriteLatencyMs Latensi Penulisan Disk Logis Milidetik Milidetik mountId - ID pemasangan perangkat
LogicalDisk WriteBytesPerSecond Byte Penulisan Disk Logis Per Detik BytesPerSecond mountId - ID pemasangan perangkat
LogicalDisk TransfersPerSecond Transfer Disk Logis Per Detik CountPerSecond mountId - ID pemasangan perangkat
LogicalDisk TransferLatencyMs Latensi Transfer Disk Logis Milidetik Milidetik mountId - ID pemasangan perangkat
LogicalDisk ReadsPerSecond Pembacaan Disk Logis Per Detik CountPerSecond mountId - ID pemasangan perangkat
LogicalDisk ReadLatencyMs Latensin Pembacaan Disk Logis Milidetik Milidetik mountId - ID pemasangan perangkat
LogicalDisk ReadBytesPerSecond Byte Pembacaan Disk LogisPer Detik BytesPerSecond mountId - ID pemasangan perangkat
LogicalDisk FreeSpacePercentage Persentase Ruang Kosong Disk Logis Persen mountId - ID pemasangan perangkat
LogicalDisk FreeSpaceMB Byte Ruang Kosong Disk Logis Megabyte mountId - ID pemasangan perangkat
diskSizeMB - Total ukuran disk
LogicalDisk BytesPerSecond Byte Disk Logis Per Detik BytesPerSecond mountId - ID pemasangan perangkat

Langkah berikutnya