Jak dotazovat protokoly z přehledů virtuálních počítačů
Upozornění
Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a plánování odpovídajícím způsobem. Další informace najdete v doprovodných materiálech CentOS End Of Life.
Přehledy virtuálních počítačů shromažďují metriky výkonu a připojení, data inventáře počítačů a procesů a informace o stavu a předávají je do pracovního prostoru služby Log Analytics ve službě Azure Monitor. Tato data jsou k dispozici pro dotazy ve službě Azure Monitor. Tato data můžete použít ve scénářích, mezi které patří plánování migrace, analýza kapacity, zjišťování a řešení potíží s výkonem na vyžádání.
Mapování záznamů
Důležité
Pokud váš virtuální počítač používá přehledy virtuálních počítačů s agentem Azure Monitoru, musíte mít povolené procesy a závislosti, aby se tyto tabulky vytvořily.
Pro každý jedinečný počítač a proces se vygeneruje jeden záznam za hodinu, kromě záznamů generovaných při spuštění procesu nebo počítače do přehledů virtuálních počítačů. Pole a hodnoty v tabulce VMComputer se mapuje na pole prostředku počítače v rozhraní API ServiceMap Azure Resource Manageru. Pole a hodnoty v tabulce VMProcess se mapují na pole prostředku procesu v rozhraní API ServiceMap Azure Resource Manageru. Pole _ResourceId odpovídá poli s názvem v odpovídajícím zdroji Resource Manageru.
K identifikaci jedinečných procesů a počítačů můžete použít interně generované vlastnosti:
- Počítač: Pomocí _ResourceId jednoznačně identifikujte počítač v pracovním prostoru služby Log Analytics.
- Proces: Pomocí _ResourceId můžete jednoznačně identifikovat proces v pracovním prostoru služby Log Analytics.
Vzhledem k tomu, že pro zadaný proces a počítač v zadaném časovém rozsahu může existovat více záznamů, můžou dotazy vrátit více záznamů pro stejný počítač nebo proces. Pokud chcete zahrnout pouze nejnovější záznam, přidejte | summarize arg_max(TimeGenerated, *) by ResourceId
ho do dotazu.
Připojení iony a porty
Funkce metrik Připojení představuje dvě nové tabulky v protokolech služby Azure Monitor – virtuální počítač Připojení ion a VMBoundPort. Tyto tabulky poskytují informace o připojeních počítače (příchozích a odchozích) a serverových portech, které jsou na nich otevřené nebo aktivní. Připojení ionMetrics jsou také zpřístupněny prostřednictvím rozhraní API, která poskytují prostředky k získání konkrétní metriky během časového intervalu. Připojení TCP vyplývající z přijetí na naslouchacím soketu jsou příchozí, zatímcopřipojení k dané IP adrese a portu jsou odchozí. Směr připojení je reprezentován Vlastnost Direction, která může být nastavena na příchozí nebo odchozí.
Záznamy v těchto tabulkách se generují z dat hlášených agentem závislostí. Každý záznam představuje pozorování během 1minutového časového intervalu. TimeGenerated vlastnost označuje začátek časového intervalu. Každý záznam obsahuje informace pro identifikaci příslušné entity, tj. připojení nebo portu, a také metriky přidružené k dané entitě. V současné době se hlásí pouze síťová aktivita, ke které dochází pomocí protokolu TCP přes protokol IPv4.
Běžná pole a konvence
Následující pole a konvence platí pro virtuální počítač Připojení ion i VMBoundPort:
- Počítač: Plně kvalifikovaný název domény počítače pro vytváření sestav
- AgentId: Jedinečný identifikátor počítače se spuštěným agentem Služby Azure Monitor nebo agentem Log Analytics
- Počítač: Název prostředku Azure Resource Manageru pro počítač vystavený službou ServiceMap. Jedná se o formát m-{GUID}, kde identifikátor GUID je stejný identifikátor GUID jako ID agenta.
- Proces: Název prostředku Azure Resource Manageru pro proces vystavený službou ServiceMap. Je to formát p-{hex string}. Proces je jedinečný v rámci oboru počítače a k vygenerování jedinečného ID procesu napříč počítači, kombinování polí Stroj a Proces.
- ProcessName: Spustitelný název procesu vytváření sestav.
- Všechny IP adresy jsou řetězce v kanonickém formátu IPv4, například 13.107.3.160.
Kvůli správě nákladů a složitosti záznamy připojení nepředstavují jednotlivá fyzická síťová připojení. Několik fyzických síťových připojení se seskupí do logického připojení, které se pak projeví v příslušné tabulce. To znamená, že záznamy v tabulce virtuálních počítačů Připojení ion představují logické seskupení, nikoli jednotlivá fyzická připojení, která se pozorují. Fyzické síťové připojení sdílející stejnou hodnotu pro následující atributy během daného intervalu jedné minuty se agregují do jednoho logického záznamu ve virtuálním počítači Připojení ion.
Vlastnost | Description |
---|---|
Směr | Směr připojení, hodnota je příchozí nebo odchozí |
Počítač | Plně kvalifikovaný název domény počítače |
Zpracovat | Identita procesů nebo skupin procesů, iniciace/přijetí připojení |
SourceIp | IP adresa zdroje |
DestinationIp | IP adresa cíle |
DestinationPort | Číslo portu cíle |
Protokol | Protokol používaný pro připojení. Hodnoty jsou tcp. |
Pokud chcete zohlednit dopad seskupení, informace o počtu seskupených fyzických připojení jsou uvedeny v následujících vlastnostech záznamu:
Vlastnost | Popis |
---|---|
Odkazy – publikování | Počet fyzických síťových připojení, která byla vytvořena během časového intervalu generování sestav |
LinksTerminated | Počet fyzickýchsíťových |
LinksFailed | Počet fyzických síťových připojení, která selhala během časového intervalu generování sestav. Tyto informace jsou aktuálně dostupné jenom pro odchozí připojení. |
LinksLive | Počet fyzickýchsíťových |
Metriky
Kromě metrik počtu připojení jsou informace o objemu odesílaných a přijatých dat na daném logickém připojení nebo síťovém portu zahrnuty také do následujících vlastností záznamu:
Vlastnost | Popis |
---|---|
BajtsSent | Celkový počet bajtů odeslaných během časového intervalu generování sestav |
BytesReceived | Celkový počet bajtů přijatých během časového intervalu generování sestav |
Odpovědi | Počet odpovědí pozorovaných během časového intervalu generování sestav. |
ResponseTimeMax | Největší doba odezvy (milisekundy) zjištěná během časového intervalu generování sestav. Pokud žádná hodnota, vlastnost je prázdná. |
ResponseTimeMin | Nejmenší doba odezvy (milisekundy) zjištěná během časového intervalu generování sestav. Pokud žádná hodnota, vlastnost je prázdná. |
ResponseTimeSum | Součet všech dob odezvy (milisekund) pozorovaných během časového intervalu generování sestav. Pokud žádná hodnota, vlastnost je prázdná. |
Třetím typem hlášených dat je doba odezvy – jak dlouho volající stráví čekáním na požadavek odeslaný přes připojení ke zpracování a odpovídání na vzdálený koncový bod. Hlášená doba odezvy je odhad skutečné doby odezvy základního aplikačního protokolu. Počítá se pomocí heuristiky na základě pozorování toku dat mezi zdrojovým a cílovým koncem fyzického síťového připojení. Koncepčně se jedná o rozdíl mezi časem, kdy poslední bajt požadavku opustí odesílatele, a časem, kdy do odpovědi přijde poslední bajt odpovědi. Tato dvě časová razítka slouží k vymezení událostí požadavků a odpovědí u daného fyzického připojení. Rozdíl mezi nimi představuje dobu odezvy jednoho požadavku.
V této první verzi této funkce je náš algoritmus aproximací, která může fungovat s různou mírou úspěchu v závislosti na skutečném aplikačním protokolu používaném pro dané síťové připojení. Aktuální přístup například funguje dobře pro protokoly založené na žádostech, jako jsou HTTP(S), ale nefunguje s jednosměrnými protokoly nebo protokoly založenými na frontě zpráv.
Tady je několik důležitých bodů, které je potřeba vzít v úvahu:
- Pokud proces přijímá připojení na stejné IP adrese, ale přes více síťových rozhraní, bude hlášen samostatný záznam pro každé rozhraní.
- Záznamy s IP adresou se zástupným znakem nebudou obsahovat žádnou aktivitu. Jsou zahrnuté tak, aby představovaly skutečnost, že port na počítači je otevřený pro příchozí provoz.
- Pokud chcete snížit úroveň podrobností a objem dat, záznamy s IP adresou se zástupnými znamény nebudou vynechány, pokud existuje odpovídající záznam (pro stejný proces, port a protokol) s konkrétní IP adresou. Pokud je vynechán záznam IP se zástupnými znamény, vlastnost záznamu IsWildcardBind s konkrétní IP adresou bude nastavena na hodnotu True, která označuje, že port je vystavený přes každé rozhraní počítače pro generování sestav.
- Porty vázané pouze na konkrétní rozhraní mají IsWildcardBind nastavené na False.
Pojmenování a klasifikace
Pro usnadnění práce je IP adresa vzdáleného konce připojení zahrnuta ve vlastnosti RemoteIp. U příchozích připojení je RemoteIp stejný jako SourceIp, zatímco u odchozích připojení je stejný jako DestinationIp. Vlastnost RemoteDnsCanonicalNames představuje kanonické názvy DNS hlášené počítačem pro RemoteIp. Vlastnost RemoteDnsQuestions představuje otázky DNS hlášené počítačem pro RemoteIp. Vlastnost RemoveClassification je vyhrazena pro budoucí použití.
Geografická poloha
Virtuální počítač Připojení ion také obsahuje informace o geografické poloze pro vzdálený konec každého záznamu připojení v následujících vlastnostech záznamu:
Vlastnost | Popis |
---|---|
RemoteCountry | Název země/oblasti, která hostuje RemoteIp. Například USA |
Vzdálená schopnost | Zeměpisná šířka zeměpisné polohy. Například 47,68 |
RemoteLongitude | Zeměpisná délka zeměpisné polohy. Například -122.12 |
Škodlivá IP adresa
Každá vlastnost RemoteIp ve virtuálním počítači Připojení ionová tabulka se kontroluje proti sadě IP adres se známou škodlivou aktivitou. Pokud je RemoteIp identifikován jako škodlivé, budou vyplněny následující vlastnosti (jsou prázdné, pokud IP adresa není považována za škodlivou) v následujících vlastnostech záznamu:
Vlastnost | Popis |
---|---|
Škodlivýip | Adresa RemoteIp |
IndicatorThreadType | Zjištěný indikátor hrozby je jedna z následujících hodnot, Botnet, C2, CryptoMining, Darknet, DDos, MaliciousUrl, Malware, Phishing, Proxy, PUA, Watchlist. |
Popis | Popis pozorované hrozby |
TLPLevel | Úroveň TLP (Traffic Light Protocol) je jednou z definovaných hodnot, Bílá, Zelená, Amber, Červená. |
Spolehlivost | Hodnoty jsou 0 –100. |
Závažnost | Hodnoty jsou 0 – 5, kde 5 je nejvíce závažné a 0 vůbec není těžké. Výchozí hodnota je 3. |
FirstReportedDateTime | Při prvním nahlášení indikátoru poskytovatelem. |
LastReportedDateTime | Čas posledního výskytu indikátoru interflow. |
IsActive | Označuje, že indikátory jsou deaktivovány s hodnotou True nebo False . |
ReportReferenceLink | Odkazy na sestavy související s danou pozorovatelnou. Pokud chcete nahlásit falešnou výstrahu nebo získat další podrobnosti o škodlivé IP adrese, otevřete případ podpory a zadejte tento odkaz. |
Další informace | Poskytuje další informace, pokud je to možné, o pozorované hrozbě. |
Porty
Porty na počítači, který aktivně přijímá příchozí provoz nebo může potenciálně přijímat provoz, ale jsou během časového intervalu generování sestav nečinné, se zapisují do tabulky VMBoundPort.
Každý záznam ve VMBoundPortu je identifikován následujícími poli:
Vlastnost | Popis |
---|---|
Zpracovat | Identita procesu (nebo skupin procesů), ke kterým je port přidružený. |
Ip | IP adresa portu (může to být IP adresa se zástupným znakem, 0.0.0.0) |
Port | Číslo portu |
Protokol | Protokol. Příklad: tcp nebo udp (aktuálně se podporuje jenom tcp ). |
Identita port je odvozen z výše uvedených pěti polí a je uložena ve vlastnosti PortId. Tuto vlastnost můžete použít k rychlému vyhledání záznamů pro určitý port v čase.
Metriky
Záznamy portů zahrnují metriky představující připojení přidružená k nim. V současné době jsou hlášeny následující metriky (podrobnosti o jednotlivých metrikách jsou popsány v předchozí části):
- BytesSent a BytesReceived
- LinksEstablished, LinksTerminated, LinksLive
- ResposeTime, ResponseTimeMin, ResponseTimeMax, ResponseTimeSum
Tady je několik důležitých bodů, které je potřeba vzít v úvahu:
- Pokud proces přijímá připojení na stejné IP adrese, ale přes více síťových rozhraní, bude hlášen samostatný záznam pro každé rozhraní.
- Záznamy s IP adresou se zástupným znakem nebudou obsahovat žádnou aktivitu. Jsou zahrnuté tak, aby představovaly skutečnost, že port na počítači je otevřený pro příchozí provoz.
- Pokud chcete snížit úroveň podrobností a objem dat, záznamy s IP adresou se zástupnými znamény nebudou vynechány, pokud existuje odpovídající záznam (pro stejný proces, port a protokol) s konkrétní IP adresou. Pokud se vynechá záznam IP se zástupnými znamény, vlastnost IsWildcardBind záznamu s konkrétní IP adresou bude nastavena na Hodnotu True. To znamená, že port je vystavený přes každé rozhraní počítače pro generování sestav.
- Porty vázané pouze na konkrétní rozhraní mají IsWildcardBind nastavené na False.
Záznamy VMComputer
Záznamy s typem VMComputer mají data inventáře pro servery s agentem závislostí. Tyto záznamy mají vlastnosti v následující tabulce:
Vlastnost | Popis |
---|---|
TenantId | Jedinečný identifikátor pracovního prostoru |
SourceSystem | Přehledy |
TimeGenerated | Časové razítko záznamu (UTC) |
Počítač | Plně kvalifikovaný název domény počítače |
AgentId | Jedinečný identifikátor počítače se spuštěným agentem Služby Azure Monitor nebo agentem Log Analytics |
Počítač | Název prostředku Azure Resource Manageru pro počítač vystavený službou ServiceMap Jedná se o formát m-{GUID}, kde identifikátor GUID je stejný identifikátor GUID jako Id agenta. |
DisplayName | Zobrazované jméno |
FullDisplayName | Celé zobrazované jméno |
Název hostitele | Název počítače bez názvu domény |
Čas spuštění | Čas spuštění počítače (UTC) |
Časové pásmo | Normalizované časové pásmo |
VirtualizationState | virtuální, hypervisor, fyzický |
Ipv4Addresses | Pole IPv4 adres |
Ipv4SubnetMasks | Pole masek podsítě IPv4 (ve stejném pořadí jako Ipv4Addresses). |
Ipv4DefaultGateways | Pole bran IPv4 |
Ipv6Addresses | Pole IPv6 adres |
MacAddresses | Pole adres MAC |
DnsNames | Pole názvů DNS přidružených k počítači |
DependencyAgentVersion | Verze závislého agenta spuštěného na počítači. |
OperatingSystemFamily | Linux, Windows |
OperatingSystemFullName | Úplný název operačního systému |
PhysicalMemoryMB | Fyzická paměť v megabajtech |
Procesory | Počet procesorů |
CpuSpeed | Rychlost procesoru v MHz |
VirtualMachineType | hyperv, vmware, xen |
VirtualMachineNativeId | ID virtuálního počítače přiřazené jeho hypervisorem |
VirtualMachineNativeName | Název virtuálního počítače |
VirtualMachineHypervisorId | Jedinečný identifikátor hypervisoru hostujícího virtuální počítač |
HypervisorType | hyperv |
HypervisorId | Jedinečné ID hypervisoru |
HostingProvider | Azure |
_ResourceId | Jedinečný identifikátor prostředku Azure |
AzureSubscriptionId | Globálně jedinečný identifikátor, který identifikuje vaše předplatné |
AzureResourceGroup | Název skupiny prostředků Azure, ve které je počítač členem. |
AzureResourceName | Název prostředku Azure |
AzureLocation | Umístění prostředku Azure |
AzureUpdateDomain | Název aktualizační domény Azure |
AzureFaultDomain | Název domény selhání Azure |
AzureVmId | Jedinečný identifikátor virtuálního počítače Azure |
AzureSize | Velikost virtuálního počítače Azure |
AzureImagePublisher | Název vydavatele virtuálních počítačů Azure |
AzureImageOffering | Název typu nabídky virtuálního počítače Azure |
AzureImageSku | Skladová položka image virtuálního počítače Azure |
AzureImageVersion | Verze image virtuálního počítače Azure |
AzureCloudServiceName | Název cloudové služby Azure |
AzureCloudServiceDeployment | ID nasazení cloudové služby |
AzureCloudServiceRoleName | Název role cloudové služby |
AzureCloudServiceRoleType | Typ role cloudové služby: pracovní proces nebo web |
AzureCloudServiceInstanceId | ID instance role cloudové služby |
AzureVmScaleSetName | Název škálovací sady virtuálních počítačů |
AzureVmScaleSetDeployment | ID nasazení škálovací sady virtuálních počítačů |
AzureVmScaleSetResourceId | Jedinečný identifikátor prostředku škálovací sady virtuálních počítačů. |
AzureVmScaleSetInstanceId | Jedinečný identifikátor škálovací sady virtuálních počítačů |
AzureServiceFabricClusterId | Jedinečný identifikátor clusteru Azure Service Fabric |
AzureServiceFabricClusterName | Název clusteru Azure Service Fabric |
Záznamy VMProcess
Záznamy s typem VMProcess mají data inventáře pro procesy připojené k protokolu TCP na serverech s agentem závislostí. Tyto záznamy mají vlastnosti v následující tabulce:
Vlastnost | Popis |
---|---|
TenantId | Jedinečný identifikátor pracovního prostoru |
SourceSystem | Přehledy |
TimeGenerated | Časové razítko záznamu (UTC) |
Počítač | Plně kvalifikovaný název domény počítače |
AgentId | Jedinečný identifikátor počítače se spuštěným agentem Služby Azure Monitor nebo agentem Log Analytics |
Počítač | Název prostředku Azure Resource Manageru pro počítač vystavený službou ServiceMap Jedná se o formát m-{GUID}, kde identifikátor GUID je stejný identifikátor GUID jako Id agenta. |
Zpracovat | Jedinečný identifikátor procesu Service Map. Je ve formě p-{GUID}. |
Název spustitelného souboru | Název spustitelného souboru procesu |
DisplayName | Zobrazovaný název procesu |
Role | Role procesu: webový server, appServer, databaseServer, ldapServer, smbServer |
Seskupit | Název skupiny procesů Procesy ve stejné skupině logicky souvisejí, například část stejného produktu nebo systémové komponenty. |
Počáteční čas | Čas zahájení fondu procesů |
FirstPid | První PID ve fondu procesů |
Popis | Popis procesu |
CompanyName | Název společnosti |
InternalName | Interní název |
ProductName | Název produktu |
Productversion | Verze produktu |
FileVersion | Verze souboru |
Spustitelná cesta | Cesta spustitelného souboru |
CommandLine | Příkazový řádek |
WorkingDirectory | Pracovní adresář |
Služby | Pole služeb, ve kterých se proces spouští |
UserName | Účet, pod kterým se proces spouští |
UserDomain | Doména, ve které se proces spouští |
_ResourceId | Jedinečný identifikátor procesu v pracovním prostoru |
Ukázkové mapové dotazy
Výpis všech známých počítačů
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId
Kdy se virtuální počítač naposledy restartoval
let Today = now(); VMComputer | extend DaysSinceBoot = Today - BootTime | summarize by Computer, DaysSinceBoot, BootTime | sort by BootTime asc
Souhrn virtuálních počítačů Azure podle image, umístění a skladové položky
VMComputer | where AzureLocation != "" | summarize by Computer, AzureImageOffering, AzureLocation, AzureImageSku
Výpis kapacity fyzické paměti všech spravovaných počítačů
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project PhysicalMemoryMB, Computer
Výpis názvu počítače, DNS, IP adresy a operačního systému
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project Computer, OperatingSystemFullName, DnsNames, Ipv4Addresses
Vyhledání všech procesů pomocí jazyka SQL na příkazovém řádku
VMProcess | where CommandLine contains_cs "sql" | summarize arg_max(TimeGenerated, *) by _ResourceId
Vyhledání počítače (nejnovějšího záznamu) podle názvu prostředku
search in (VMComputer) "m-4b9c93f9-bc37-46df-b43c-899ba829e07b" | summarize arg_max(TimeGenerated, *) by _ResourceId
Vyhledání počítače (nejnovějšího záznamu) podle IP adresy
search in (VMComputer) "10.229.243.232" | summarize arg_max(TimeGenerated, *) by _ResourceId
Výpis všech známých procesů na zadaném počítači
VMProcess | where Machine == "m-559dbcd8-3130-454d-8d1d-f624e57961bc" | summarize arg_max(TimeGenerated, *) by _ResourceId
Výpis všech počítačů se systémem SQL Server
VMComputer | where AzureResourceName in ((search in (VMProcess) "*sql*" | distinct Machine)) | distinct Computer
Výpis všech jedinečných verzí produktů curl v datovém centru
VMProcess | where ExecutableName == "curl" | distinct ProductVersion
Vytvoření skupiny počítačů všech počítačů se systémem CentOS
VMComputer | where OperatingSystemFullName contains_cs "CentOS" | distinct Computer
Odesílané bajty a přijaté trendy
VMConnection | summarize sum(BytesSent), sum(BytesReceived) by bin(TimeGenerated,1hr), Computer | order by Computer desc | render timechart
Které virtuální počítače Azure přenášejí nejvíce bajtů
VMConnection | join kind=fullouter(VMComputer) on $left.Computer == $right.Computer | summarize count(BytesSent) by Computer, AzureVMSize | sort by count_BytesSent desc
Propojení trendů stavu
VMConnection | where TimeGenerated >= ago(24hr) | where Computer == "acme-demo" | summarize dcount(LinksEstablished), dcount(LinksLive), dcount(LinksFailed), dcount(LinksTerminated) by bin(TimeGenerated, 1h) | render timechart
trend selhání Připojení
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
Vázané porty
VMBoundPort
| where TimeGenerated >= ago(24hr)
| where Computer == 'admdemo-appsvr'
| distinct Port, ProcessName
Počet otevřených portů napříč počítači
VMBoundPort
| where Ip != "127.0.0.1"
| summarize by Computer, Machine, Port, Protocol
| summarize OpenPorts=count() by Computer, Machine
| order by OpenPorts desc
Určení skóre procesů v pracovním prostoru podle počtu otevřených portů
VMBoundPort
| where Ip != "127.0.0.1"
| summarize by ProcessName, Port, Protocol
| summarize OpenPorts=count() by ProcessName
| order by OpenPorts desc
Agregační chování pro každý port
Tento dotaz se pak dá použít k určení skóre portů podle aktivit, například portů s většinou příchozích a odchozích přenosů, portů s většinou připojení.
//
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
Shrnutí odchozích připojení ze skupiny počítačů
// 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
Záznamy o výkonu
Záznamy s typem Přehledy Metrické metriky mají data o výkonu z hostovaného operačního systému virtuálního počítače. Tyto záznamy se shromažďují v 60sekundových intervalech a mají vlastnosti v následující tabulce:
Vlastnost | Popis |
---|---|
TenantId | Jedinečný identifikátor pracovního prostoru |
SourceSystem | Přehledy |
TimeGenerated | Čas shromáždění hodnoty (UTC) |
Počítač | Plně kvalifikovaný název domény počítače |
Zdroj | vm.azm.ms |
Obor názvů | Kategorie čítače výkonu |
Název | Název čítače výkonu |
Val | Shromážděná hodnota |
Značky | Související podrobnosti o záznamu V následující tabulce najdete značky používané s různými typy záznamů. |
AgentId | Jedinečný identifikátor agenta každého počítače |
Typ | metriky Přehledy |
ResourceId | ID prostředku virtuálního počítače |
Čítače výkonu aktuálně shromážděné v tabulce Přehledy Metrics jsou uvedené v následující tabulce:
Obor názvů | Název | Popis | Jednotka | Značky |
---|---|---|---|---|
Počítač | Tep | Prezentenční signál počítače | ||
Memory (Paměť) | K dispozici MB | Dostupné bajty paměti | Megabajtů | memorySizeMB – celková velikost paměti |
Síť | WriteBytesPerSecond | Bajty zápisu sítě za sekundu | BytesPerSecond | NetworkDeviceId – ID zařízení bajty – celkový počet odeslaných bajtů |
Síť | ReadBytesPerSecond | Bajty čtení sítě za sekundu | BytesPerSecond | networkDeviceId – ID zařízení bajty – celkový počet přijatých bajtů |
Procesor | UtilizationPercentage | Procento využití procesoru | Procenta | totalCpus – celkový počet procesorů |
LogicalDisk | WritesPerSecond | Zápisy logických disků za sekundu | CountPerSecond | mountId – ID připojení zařízení |
LogicalDisk | WriteLatencyMs | Latence zápisu logického disku v milisekundách | Milisekund | mountId – ID připojení zařízení |
LogicalDisk | WriteBytesPerSecond | Bajty zápisu logického disku za sekundu | BytesPerSecond | mountId – ID připojení zařízení |
LogicalDisk | TransfersPerSecond | Přenosy logických disků za sekundu | CountPerSecond | mountId – ID připojení zařízení |
LogicalDisk | TransferLatencyMs | Latence přenosu logického disku v milisekundách | Milisekund | mountId – ID připojení zařízení |
LogicalDisk | ReadsPerSecond | Čtení logických disků za sekundu | CountPerSecond | mountId – ID připojení zařízení |
LogicalDisk | ReadLatencyMs | Latence čtení logického disku v milisekundách | Milisekund | mountId – ID připojení zařízení |
LogicalDisk | ReadBytesPerSecond | Bajty čtení logického disku za sekundu | BytesPerSecond | mountId – ID připojení zařízení |
LogicalDisk | FreeSpacePercentage | Procento volného místa na logickém disku | Procenta | mountId – ID připojení zařízení |
LogicalDisk | FreeSpaceMB | Volné místo na logickém disku – bajty | Megabajtů | mountId – ID připojení zařízení diskSizeMB – celková velikost disku |
LogicalDisk | BytesPerSecond | Bajty logického disku za sekundu | BytesPerSecond | mountId – ID připojení zařízení |
Další kroky
Pokud s psaním dotazů na protokoly ve službě Azure Monitor začínáte, přečtěte si , jak používat Log Analytics na webu Azure Portal k zápisu dotazů na protokoly.
Přečtěte si o psaní vyhledávacích dotazů.