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:
- 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 rekaman IsWildcardBind dengan alamat IP tertentu, akan diatur ke "True" untuk menunjukkan bahwa port terekspos di setiap antarmuka komputer pelaporan.
- 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
Byte dikirim dan menerima tren
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
Tren status tautan
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
Jika Anda baru menulis kueri log di Azure Monitor, tinjau cara menggunakan Analitik Log di portal Azure untuk menulis kueri log.
Pelajari tentang menulis kueri pencarian.