Logboeken opvragen vanuit VM-inzichten
Let op
In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Overweeg uw gebruik en planning dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.
MET VM-inzichten worden metrische gegevens over prestaties en verbindingen, computer- en procesinventarisgegevens en statusgegevens verzameld en doorgestuurd naar de Log Analytics-werkruimte in Azure Monitor. Deze gegevens zijn beschikbaar voor query's in Azure Monitor. U kunt deze gegevens toepassen op scenario's met migratieplanning, capaciteitsanalyse, detectie en prestatieproblemen op aanvraag.
Records toewijzen
Belangrijk
Als uw virtuele machine VM-inzichten gebruikt met de Azure Monitor-agent, moet u processen en afhankelijkheden hebben ingeschakeld om deze tabellen te kunnen maken.
Er wordt één record per uur gegenereerd voor elke unieke computer en elk proces, naast de records die worden gegenereerd wanneer een proces of computer wordt gestart of aan VM-inzichten wordt toegevoegd. De velden en waarden in de tabel VMComputer worden toegewezen aan velden van de machineresource in de Azure Resource Manager-API van ServiceMap. De velden en waarden in de TABEL VMProcess worden toegewezen aan de velden van de procesresource in de Azure Resource Manager-API van ServiceMap. Het _ResourceId veld komt overeen met het naamveld in de bijbehorende Resource Manager-resource.
Er zijn intern gegenereerde eigenschappen die u kunt gebruiken om unieke processen en computers te identificeren:
- Computer: gebruik _ResourceId om een computer in een Log Analytics-werkruimte uniek te identificeren.
- Proces: gebruik _ResourceId om een proces in een Log Analytics-werkruimte uniek te identificeren.
Omdat er meerdere records kunnen bestaan voor een opgegeven proces en computer in een opgegeven tijdsbereik, kunnen query's meerdere records retourneren voor dezelfde computer of hetzelfde proces. Als u alleen de meest recente record wilt opnemen, voegt u deze toe | summarize arg_max(TimeGenerated, *) by ResourceId
aan de query.
Verbinding maken ions en poorten
De functie Verbinding maken ion Metrics introduceert twee nieuwe tabellen in Azure Monitor-logboeken: VM Verbinding maken ion en VMBoundPort. Deze tabellen bevatten informatie over de verbindingen voor een computer (inkomend en uitgaand) en de serverpoorten die hierop zijn geopend/actief zijn. Verbinding maken ionMetrics worden ook beschikbaar gesteld via API's die de middelen bieden voor het verkrijgen van een specifieke metrische waarde tijdens een tijdvenster. TCP-verbindingen die het gevolg zijn van het accepteren van een listening socket, zijn binnenkomend, terwijl de verbindingen die zijn gemaakt door verbinding te maken met een bepaald IP-adres en een bepaalde poort uitgaand zijn. De richting van een verbinding wordt vertegenwoordigd door de eigenschap Direction, die kan worden ingesteld op inkomend of uitgaand.
Records in deze tabellen worden gegenereerd op basis van gegevens die worden gerapporteerd door de afhankelijkheidsagent. Elke record vertegenwoordigt een observatie gedurende een tijdsinterval van 1 minuut. De eigenschap TimeGenerated geeft het begin van het tijdsinterval aan. Elke record bevat informatie om de betreffende entiteit te identificeren, dat wil gezegd, verbinding of poort, evenals metrische gegevens die aan die entiteit zijn gekoppeld. Op dit moment wordt alleen netwerkactiviteit gerapporteerd die gebruikmaakt van TCP via IPv4.
Algemene velden en conventies
De volgende velden en conventies zijn van toepassing op zowel VM Verbinding maken ion als VMBoundPort:
- Computer: Fully Qualified Domain Name of Reporting Machine
- AgentId: de unieke id voor een machine waarop Azure Monitor Agent of de Log Analytics-agent wordt uitgevoerd
- Machine: Naam van de Azure Resource Manager-resource voor de machine die wordt weergegeven door ServiceMap. Het is van de vorm m-{GUID}, waarbij GUID dezelfde GUID is als AgentId
- Proces: Naam van de Azure Resource Manager-resource voor het proces dat wordt weergegeven door ServiceMap. Het is van de vorm p-{hex string}. Proces is uniek binnen een machinebereik en om een unieke proces-id te genereren op computers, machine- en procesvelden te combineren.
- ProcessName: uitvoerbare naam van het rapportageproces.
- Alle IP-adressen zijn tekenreeksen in IPv4-canonieke indeling, bijvoorbeeld 13.107.3.160
Voor het beheren van kosten en complexiteit vertegenwoordigen verbindingsrecords geen afzonderlijke fysieke netwerkverbindingen. Meerdere fysieke netwerkverbindingen worden gegroepeerd in een logische verbinding, die vervolgens wordt weergegeven in de respectieve tabel. Dit betekent dat records in de VM Verbinding maken ietabel een logische groepering vertegenwoordigen en niet de afzonderlijke fysieke verbindingen die worden waargenomen. Fysieke netwerkverbindingen die dezelfde waarde delen voor de volgende kenmerken tijdens een bepaald interval van één minuut, worden samengevoegd in één logische record in VM Verbinding maken ion.
Eigenschappen | Beschrijving |
---|---|
Richting | Richting van de verbinding, waarde is binnenkomend of uitgaand |
Machine | De FQDN-naam van de computer |
Proces | Identiteit van proces of groepen processen, het initiëren/accepteren van de verbinding |
SourceIp | IP-adres van de bron |
DestinationIp | IP-adres van de bestemming |
DestinationPort | Poortnummer van de bestemming |
Protocol | Protocol dat wordt gebruikt voor de verbinding. Waarden zijn tcp. |
Als u rekening wilt houden met de impact van groepering, wordt informatie over het aantal gegroepeerde fysieke verbindingen opgegeven in de volgende eigenschappen van de record:
Eigenschappen | Beschrijving |
---|---|
LinksEstablished | Het aantal fysieke netwerkverbindingen dat tot stand is gebracht tijdens het rapportagetijdvenster |
Koppelingen bepaald | Het aantal fysieke netwerkverbindingen dat is beëindigd tijdens het rapportagetijdvenster |
LinksFailed | Het aantal fysieke netwerkverbindingen dat is mislukt tijdens het rapportagetijdvenster. Deze informatie is momenteel alleen beschikbaar voor uitgaande verbindingen. |
LinksLive | Het aantal fysieke netwerkverbindingen dat aan het einde van het rapportagetijdvenster is geopend |
Metrische gegevens voor
Naast metrische gegevens over het aantal verbindingen worden ook informatie over het aantal verzonden en ontvangen gegevens op een bepaalde logische verbinding of netwerkpoort opgenomen in de volgende eigenschappen van de record:
Eigenschappen | Beschrijving |
---|---|
BytesSent | Totaal aantal bytes dat is verzonden tijdens het rapportagetijdvenster |
BytesReceived | Totaal aantal bytes dat is ontvangen tijdens het rapportagetijdvenster |
Antwoorden | Het aantal reacties dat tijdens het rapportagetijdvenster is waargenomen. |
ResponseTimeMax | De grootste reactietijd (milliseconden) die tijdens het rapportagetijdvenster is waargenomen. Als er geen waarde is, is de eigenschap leeg. |
ResponseTimeMin | De kleinste reactietijd (milliseconden) waargenomen tijdens het rapportagetijdvenster. Als er geen waarde is, is de eigenschap leeg. |
ResponseTimeSum | De som van alle reactietijden (milliseconden) die tijdens het rapportagetijdvenster zijn waargenomen. Als er geen waarde is, is de eigenschap leeg. |
Het derde type gegevens dat wordt gerapporteerd, is reactietijd: hoe lang duurt het voor een beller om te wachten op een aanvraag die wordt verzonden via een verbinding die moet worden verwerkt en beantwoord door het externe eindpunt. De gerapporteerde reactietijd is een schatting van de werkelijke reactietijd van het onderliggende toepassingsprotocol. Het wordt berekend met behulp van heuristieken op basis van de observatie van de gegevensstroom tussen het bron- en doeleinde van een fysieke netwerkverbinding. Conceptueel is het verschil tussen de tijd dat de laatste byte van een aanvraag de afzender verlaat en het tijdstip waarop de laatste byte van het antwoord terugkomt. Deze twee tijdstempels worden gebruikt om aanvraag- en reactie-gebeurtenissen op een bepaalde fysieke verbinding af te bakenen. Het verschil tussen deze twee vertegenwoordigt de reactietijd van één aanvraag.
In deze eerste release van deze functie is ons algoritme een benadering die kan werken met verschillende mate van succes, afhankelijk van het daadwerkelijke toepassingsprotocol dat wordt gebruikt voor een bepaalde netwerkverbinding. De huidige benadering werkt bijvoorbeeld goed voor protocollen op basis van aanvraagreacties, zoals HTTP(S), maar werkt niet met protocollen op basis van eenrichtings- of berichtenwachtrij.
Hier volgen enkele belangrijke punten die u moet overwegen:
- Als een proces verbindingen accepteert op hetzelfde IP-adres, maar via meerdere netwerkinterfaces, wordt er een afzonderlijke record voor elke interface gerapporteerd.
- Records met jokerteken-IP bevatten geen activiteit. Ze zijn opgenomen om aan te geven dat een poort op de computer is geopend voor binnenkomend verkeer.
- Om de uitgebreidheid en het gegevensvolume te verminderen, worden records met een jokerteken-IP weggelaten wanneer er een overeenkomende record (voor hetzelfde proces, dezelfde poort en hetzelfde protocol) is met een specifiek IP-adres. Wanneer een IP-record met jokertekens wordt weggelaten, wordt de eigenschap IsWildcardBind-record met het specifieke IP-adres ingesteld op True om aan te geven dat de poort wordt weergegeven via elke interface van de rapportagemachine.
- Poorten die alleen zijn gebonden aan een specifieke interface, hebben IsWildcardBind ingesteld op False.
Naamgeving en classificatie
Voor het gemak is het IP-adres van het externe einde van een verbinding opgenomen in de eigenschap RemoteIp. Voor binnenkomende verbindingen is RemoteIp hetzelfde als SourceIp, terwijl voor uitgaande verbindingen hetzelfde is als DestinationIp. De eigenschap RemoteDnsCanonicalNames vertegenwoordigt de DNS-canonieke namen die door de computer voor RemoteIp zijn gerapporteerd. De eigenschap RemoteDnsQuestions vertegenwoordigt de DNS-vragen die door de computer voor RemoteIp zijn gerapporteerd. De eigenschap RemoveClassification is gereserveerd voor toekomstig gebruik.
Geolocatie
VM Verbinding maken ion bevat ook geolocatie-informatie voor het externe einde van elke verbindingsrecord in de volgende eigenschappen van de record:
Eigenschappen | Beschrijving |
---|---|
RemoteCountry | De naam van het land/de regio die Als host fungeert voor RemoteIp. Bijvoorbeeld Verenigde Staten |
RemoteLatitude | De breedtegraad van de geolocatie. Bijvoorbeeld 47,68 |
RemoteLongitude | De lengtegraad van de geolocatie. Bijvoorbeeld -122.12 |
Schadelijk IP-adres
Elke RemoteIp-eigenschap in vm Verbinding maken ietabel wordt gecontroleerd op basis van een set IP-adressen met bekende schadelijke activiteiten. Als remoteIp wordt geïdentificeerd als schadelijk, worden de volgende eigenschappen ingevuld (ze zijn leeg, wanneer het IP-adres niet als schadelijk wordt beschouwd) in de volgende eigenschappen van de record:
Eigenschappen | Beschrijving |
---|---|
MaliciousIp | Het RemoteIp-adres |
IndicatorThreadType | Bedreigingsindicator gedetecteerd is een van de volgende waarden, Botnet, C2, CryptoMining, Darknet, DDos, MaliciousUrl, Malware, Phishing, Proxy, PUA, Watchlist. |
Beschrijving | Beschrijving van de waargenomen bedreiging. |
TLPLevel | Het TLP-niveau (Traffic Light Protocol) is een van de gedefinieerde waarden, Wit, Groen, Amber, Rood. |
Betrouwbaarheid | Waarden zijn 0 – 100. |
Ernst | Waarden zijn 0 – 5, waarbij 5 het ernstigst is en 0 helemaal niet ernstig is. De standaardwaarde is 3. |
FirstReportedDateTime | De eerste keer dat de provider de indicator heeft gerapporteerd. |
LastReportedDateTime | De laatste keer dat de indicator is gezien door Interflow. |
Isactive | Geeft aan dat indicatoren zijn gedeactiveerd met de waarde Waar of Onwaar . |
ReportReferenceLink | Koppelingen naar rapporten met betrekking tot een gegeven waarneembaar. Als u een valse waarschuwing wilt melden of meer informatie wilt over het schadelijke IP-adres, opent u een ondersteuningsaanvraag en geeft u deze koppeling op. |
AdditionalInformation | Biedt aanvullende informatie, indien van toepassing, over de waargenomen bedreiging. |
Poorten
Poorten op een computer die actief binnenkomend verkeer accepteren of mogelijk verkeer accepteren, maar niet actief zijn tijdens het rapportagetijdvenster, worden naar de tabel VMBoundPort geschreven.
Elke record in VMBoundPort wordt geïdentificeerd door de volgende velden:
Eigenschappen | Beschrijving |
---|---|
Verwerken | Identiteit van proces (of groepen processen) waaraan de poort is gekoppeld. |
Ip | IP-adres van poort (kan een jokerteken zijn, 0.0.0.0) |
Poort | Het poortnummer |
Protocol | Het protocol. Bijvoorbeeld tcp of udp (alleen tcp wordt momenteel ondersteund). |
De identiteit van een poort wordt afgeleid van de bovenstaande vijf velden en wordt opgeslagen in de eigenschap PortId. Deze eigenschap kan worden gebruikt om snel records te vinden voor een specifieke poort gedurende een bepaalde periode.
Metrische gegevens voor
Poortrecords bevatten metrische gegevens die de bijbehorende verbindingen vertegenwoordigen. Op dit moment worden de volgende metrische gegevens gerapporteerd (de details voor elke metriek worden beschreven in de vorige sectie):
- BytesSent en BytesReceived
- LinksEstablished, LinksTerminated, LinksLive
- ResposeTime, ResponseTimeMin, ResponseTimeMax, ResponseTimeSum
Hier volgen enkele belangrijke punten die u moet overwegen:
- Als een proces verbindingen accepteert op hetzelfde IP-adres, maar via meerdere netwerkinterfaces, wordt er een afzonderlijke record voor elke interface gerapporteerd.
- Records met jokerteken-IP bevatten geen activiteit. Ze zijn opgenomen om aan te geven dat een poort op de computer is geopend voor binnenkomend verkeer.
- Om de uitgebreidheid en het gegevensvolume te verminderen, worden records met een jokerteken-IP weggelaten wanneer er een overeenkomende record (voor hetzelfde proces, dezelfde poort en hetzelfde protocol) is met een specifiek IP-adres. Wanneer een jokerteken-IP-record wordt weggelaten, wordt de eigenschap IsWildcardBind voor de record met het specifieke IP-adres ingesteld op True. Dit geeft aan dat de poort wordt weergegeven via elke interface van de rapportagemachine.
- Poorten die alleen zijn gebonden aan een specifieke interface, hebben IsWildcardBind ingesteld op False.
VMComputer-records
Records met een type VMComputer bevatten inventarisgegevens voor servers met de afhankelijkheidsagent. Deze records hebben de eigenschappen in de volgende tabel:
Eigenschappen | Beschrijving |
---|---|
TenantId | De unieke id voor de werkruimte |
SourceSystem | Inzichten |
TimeGenerated | Tijdstempel van de record (UTC) |
Computer | De FQDN-naam van de computer |
AgentId | De unieke id voor een machine waarop Azure Monitor Agent of de Log Analytics-agent wordt uitgevoerd |
Machine | Naam van de Azure Resource Manager-resource voor de machine die wordt weergegeven door ServiceMap. Het is van de vorm m-{GUID}, waarbij GUID dezelfde GUID is als AgentId. |
DisplayName | Weergavenaam |
FullDisplayName | Volledige weergavenaam |
HostName | De naam van de computer zonder domeinnaam |
BootTime | De opstarttijd van de machine (UTC) |
TimeZone | De genormaliseerde tijdzone |
VirtualizationState | virtueel, hypervisor, fysiek |
Ipv4Addresses | Matrix met IPv4-adressen |
Ipv4SubnetMasks | Matrix van IPv4-subnetmaskers (in dezelfde volgorde als Ipv4Addresses). |
Ipv4DefaultGateways | Matrix van IPv4-gateways |
Ipv6Addresses | Matrix met IPv6-adressen |
MacAddresses | Matrix van MAC-adressen |
DnsNames | Matrix van DNS-namen die zijn gekoppeld aan de computer. |
DependencyAgentVersion | De versie van de afhankelijkheidsagent die op de computer wordt uitgevoerd. |
OperatingSystemFamily | Linux, Windows |
OperatingSystemFullName | De volledige naam van het besturingssysteem |
PhysicalMemoryMB | Het fysieke geheugen in megabytes |
Processoren | Het aantal processors |
CpuSpeed | De CPU-snelheid in MHz |
VirtualMachineType | hyperv, vmware, xen |
VirtualMachineNativeId | De VM-id die is toegewezen door de hypervisor |
VirtualMachineNativeName | De naam van de virtuele machine |
VirtualMachineHypervisorId | De unieke id van de hypervisor die als host fungeert voor de VIRTUELE machine |
HypervisorType | hyperv |
HypervisorId | De unieke id van de hypervisor |
HostingProvider | Azure |
_ResourceId | De unieke id voor een Azure-resource |
AzureSubscriptionId | Een wereldwijd unieke id die uw abonnement identificeert |
AzureResourceGroup | De naam van de Azure-resourcegroep waarvan de machine lid is. |
AzureResourceName | De naam van de Azure-resource |
AzureLocation | De locatie van de Azure-resource |
AzureUpdateDomain | De naam van het Azure-updatedomein |
AzureFaultDomain | De naam van het Azure-foutdomein |
AzureVmId | De unieke id van de virtuele Azure-machine |
AzureSize | De grootte van de Virtuele Azure-machine |
AzureImagePublisher | De naam van de azure-VM-uitgever |
AzureImageOffering | De naam van het azure VM-aanbiedingstype |
AzureImageSku | De SKU van de Azure VM-installatiekopieën |
AzureImageVersion | De versie van de Azure VM-installatiekopieën |
AzureCloudServiceName | De naam van de Azure-cloudservice |
AzureCloudServiceDeployment | Implementatie-id voor de cloudservice |
AzureCloudServiceRoleName | Naam van cloudservicerol |
AzureCloudServiceRoleType | Roltype cloudservice: werkrol of web |
AzureCloudServiceInstanceId | Exemplaar-id van cloudservicerol |
AzureVmScaleSetName | De naam van de virtuele-machineschaalset |
AzureVmScaleSetDeployment | Implementatie-id van virtuele-machineschaalset |
AzureVmScaleSetResourceId | De unieke id van de virtuele-machineschaalsetresource. |
AzureVmScaleSetInstanceId | De unieke id van de virtuele-machineschaalset |
AzureServiceFabricClusterId | De unieke id van het Azure Service Fabric-cluster |
AzureServiceFabricClusterName | De naam van het Azure Service Fabric-cluster |
VMProcess-records
Records met een type VMProcess bevatten inventarisgegevens voor met TCP verbonden processen op servers met de afhankelijkheidsagent . Deze records hebben de eigenschappen in de volgende tabel:
Eigenschappen | Beschrijving |
---|---|
TenantId | De unieke id voor de werkruimte |
SourceSystem | Inzichten |
TimeGenerated | Tijdstempel van de record (UTC) |
Computer | De FQDN-naam van de computer |
AgentId | De unieke id voor een machine waarop Azure Monitor Agent of de Log Analytics-agent wordt uitgevoerd |
Machine | Naam van de Azure Resource Manager-resource voor de machine die wordt weergegeven door ServiceMap. Het is van de vorm m-{GUID}, waarbij GUID dezelfde GUID is als AgentId. |
Proces | De unieke id van het servicetoewijzingsproces. Deze heeft de vorm van p-{GUID}. |
Uitvoerbare naam | De naam van het uitvoerbare proces |
DisplayName | Weergavenaam proces |
Role | Procesrol: webserver, appServer, databaseServer, ldapServer, smbServer |
Groep | Naam van procesgroep. Processen in dezelfde groep zijn logisch gerelateerd, bijvoorbeeld een onderdeel van hetzelfde product of systeemonderdeel. |
StartTime | De begintijd van de procesgroep |
FirstPid | De eerste PID in de procesgroep |
Beschrijving | De procesbeschrijving |
CompanyName | De naam van het bedrijf |
InternalName | De interne naam |
ProductName | De naam van het product |
ProductVersion | De versie van het product |
FileVersion | De versie van het bestand |
ExecutablePath | Het pad van het uitvoerbare bestand |
Commandline | De opdrachtregel |
WorkingDirectory | De werkmap |
Services | Een matrix van services waaronder het proces wordt uitgevoerd |
Gebruikersnaam | Het account waaronder het proces wordt uitgevoerd |
UserDomain | Het domein waaronder het proces wordt uitgevoerd |
_ResourceId | De unieke id voor een proces in de werkruimte |
Voorbeeld van kaartquery's
Een lijst weergeven van alle bekende machines
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId
Wanneer is de VM voor het laatst opnieuw opgestart
let Today = now(); VMComputer | extend DaysSinceBoot = Today - BootTime | summarize by Computer, DaysSinceBoot, BootTime | sort by BootTime asc
Samenvatting van Virtuele Azure-machines op installatiekopieën, locatie en SKU
VMComputer | where AzureLocation != "" | summarize by Computer, AzureImageOffering, AzureLocation, AzureImageSku
De fysieke geheugencapaciteit van alle beheerde computers weergeven
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project PhysicalMemoryMB, Computer
Computernaam, DNS, IP en besturingssysteem vermelden
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project Computer, OperatingSystemFullName, DnsNames, Ipv4Addresses
Alle processen zoeken met 'sql' in de opdrachtregel
VMProcess | where CommandLine contains_cs "sql" | summarize arg_max(TimeGenerated, *) by _ResourceId
Een machine (meest recente record) zoeken op resourcenaam
search in (VMComputer) "m-4b9c93f9-bc37-46df-b43c-899ba829e07b" | summarize arg_max(TimeGenerated, *) by _ResourceId
Een machine (meest recente record) zoeken op IP-adres
search in (VMComputer) "10.229.243.232" | summarize arg_max(TimeGenerated, *) by _ResourceId
Alle bekende processen op een opgegeven computer weergeven
VMProcess | where Machine == "m-559dbcd8-3130-454d-8d1d-f624e57961bc" | summarize arg_max(TimeGenerated, *) by _ResourceId
Een lijst weergeven van alle computers waarop SQL Server wordt uitgevoerd
VMComputer | where AzureResourceName in ((search in (VMProcess) "*sql*" | distinct Machine)) | distinct Computer
Een lijst weergeven van alle unieke productversies van curl in mijn datacenter
VMProcess | where ExecutableName == "curl" | distinct ProductVersion
Een computergroep maken van alle computers waarop CentOS wordt uitgevoerd
VMComputer | where OperatingSystemFullName contains_cs "CentOS" | distinct Computer
Verzonden en ontvangen bytes
VMConnection | summarize sum(BytesSent), sum(BytesReceived) by bin(TimeGenerated,1hr), Computer | order by Computer desc | render timechart
Welke Virtuele Azure-machines de meeste bytes verzenden
VMConnection | join kind=fullouter(VMComputer) on $left.Computer == $right.Computer | summarize count(BytesSent) by Computer, AzureVMSize | sort by count_BytesSent desc
Statustrends koppelen
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 van Verbinding maken ionfouten
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
Afhankelijke poorten
VMBoundPort
| where TimeGenerated >= ago(24hr)
| where Computer == 'admdemo-appsvr'
| distinct Port, ProcessName
Aantal geopende poorten op computers
VMBoundPort
| where Ip != "127.0.0.1"
| summarize by Computer, Machine, Port, Protocol
| summarize OpenPorts=count() by Computer, Machine
| order by OpenPorts desc
Scoreprocessen in uw werkruimte op het aantal poorten dat ze hebben geopend
VMBoundPort
| where Ip != "127.0.0.1"
| summarize by ProcessName, Port, Protocol
| summarize OpenPorts=count() by ProcessName
| order by OpenPorts desc
Gedrag aggregeren voor elke poort
Deze query kan vervolgens worden gebruikt om poorten te scoren op activiteit, bijvoorbeeld poorten met het meeste inkomend/uitgaand verkeer, poorten met de meeste verbindingen
//
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
De uitgaande verbindingen van een groep computers samenvatten
// 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
Prestatierecords
Records met een type InsightsMetrics hebben prestatiegegevens van het gastbesturingssysteem van de virtuele machine. Deze records worden verzameld met intervallen van 60 seconden en hebben de eigenschappen in de volgende tabel:
Eigenschappen | Beschrijving |
---|---|
TenantId | Unieke id voor de werkruimte |
SourceSystem | Inzichten |
TimeGenerated | Tijd waarop de waarde is verzameld (UTC) |
Computer | De FQDN-naam van de computer |
Oorprong | vm.azm.ms |
Naamruimte | Categorie van de prestatiemeteritems |
Naam | Naam van de prestatiemeteritems |
Val | Verzamelde waarde |
Tags | Gerelateerde details over de record. Zie de onderstaande tabel voor tags die worden gebruikt met verschillende recordtypen. |
AgentId | Unieke id voor de agent van elke computer |
Type | InsightsMetrics |
ResourceId | Resource-id van de virtuele machine |
De prestatiemeteritems die momenteel in de tabel InsightsMetrics worden verzameld, worden vermeld in de volgende tabel:
Naamruimte | Name | Beschrijving | Eenheid | Tags |
---|---|---|---|---|
Computer | Hartslag | Computer Heartbeat | ||
Geheugen | AvailableMB | Geheugen beschikbaar bytes | Megabytes | memorySizeMB - Totale geheugengrootte |
Netwerk | WriteBytesPerSecond | Bytes per seconde schrijven voor netwerk | BytesPerSecond | NetworkDeviceId - id van het apparaat bytes - Totaal verzonden bytes |
Netwerk | ReadBytesPerSecond | Netwerkgelezen bytes per seconde | BytesPerSecond | networkDeviceId - id van het apparaat bytes - Totaal aantal ontvangen bytes |
Verwerker | Gebruikspercentage | Percentage processorgebruik | Procent | totalCpus - Totaal AANTAL CPU's |
LogicalDisk | WritesPerSecond | Logische schijf schrijft per seconde | CountPerSecond | mountId - Koppelings-id van het apparaat |
LogicalDisk | WriteLatencyMs | Latentie van schrijflatentie logische schijf in milliseconden | Milliseconden | mountId - Koppelings-id van het apparaat |
LogicalDisk | WriteBytesPerSecond | Bytes per seconde schrijven op logische schijf | BytesPerSecond | mountId - Koppelings-id van het apparaat |
LogicalDisk | TransfersPerSecond | Overdrachten van logische schijven per seconde | CountPerSecond | mountId - Koppelings-id van het apparaat |
LogicalDisk | TransferLatencyMs | Latentie van logische schijfoverdracht milliseconden | Milliseconden | mountId - Koppelings-id van het apparaat |
LogicalDisk | ReadsPerSecond | Leesbewerkingen per seconde logische schijf | CountPerSecond | mountId - Koppelings-id van het apparaat |
LogicalDisk | ReadLatencyMs | Leeslatentie van logische schijf milliseconden | Milliseconden | mountId - Koppelings-id van het apparaat |
LogicalDisk | ReadBytesPerSecond | Bytes per seconde lezen op logische schijf | BytesPerSecond | mountId - Koppelings-id van het apparaat |
LogicalDisk | FreeSpacePercentage | Percentage vrije ruimte voor logische schijf | Procent | mountId - Koppelings-id van het apparaat |
LogicalDisk | FreeSpaceMB | Vrije ruimte voor logische schijf bytes | Megabytes | mountId - Koppelings-id van het apparaat diskSizeMB - Totale schijfgrootte |
LogicalDisk | BytesPerSecond | Bytes per seconde logische schijf | BytesPerSecond | mountId - Koppelings-id van het apparaat |
Volgende stappen
Als u geen toegang hebt tot het schrijven van logboekquery's in Azure Monitor, bekijkt u hoe u Log Analytics in Azure Portal gebruikt om logboekquery's te schrijven.
Meer informatie over het schrijven van zoekquery's.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor