Monitorowanie maszyn wirtualnych za pomocą usługi Azure Monitor: zbieranie danych
Ten artykuł jest częścią przewodnika Monitorowanie maszyn wirtualnych i ich obciążeń w usłudze Azure Monitor. Opisano w nim sposób konfigurowania zbierania danych po wdrożeniu agenta usługi Azure Monitor na platformie Azure i na maszynach wirtualnych hybrydowych w usłudze Azure Monitor.
Ten artykuł zawiera wskazówki dotyczące zbierania najbardziej typowych typów danych telemetrycznych z maszyn wirtualnych. Dokładna wybrana konfiguracja zależy od obciążeń uruchamianych na maszynach. W każdej sekcji znajdują się przykładowe alerty wyszukiwania dzienników, których można używać z danymi.
- Aby uzyskać więcej informacji na temat analizowania danych telemetrycznych zebranych z maszyn wirtualnych, zobacz Monitorowanie maszyn wirtualnych za pomocą usługi Azure Monitor: analizowanie danych monitorowania.
- Aby uzyskać więcej informacji na temat używania danych telemetrycznych zebranych z maszyn wirtualnych do tworzenia alertów w usłudze Azure Monitor, zobacz Monitorowanie maszyn wirtualnych za pomocą usługi Azure Monitor: alerty.
Uwaga
W tym scenariuszu opisano sposób implementowania pełnego monitorowania środowiska platformy Azure i hybrydowej maszyny wirtualnej. Aby rozpocząć monitorowanie pierwszej maszyny wirtualnej platformy Azure, zobacz Monitorowanie maszyn wirtualnych platformy Azure.
Reguły zbierania danych
Zbieranie danych z agenta usługi Azure Monitor jest definiowane przez co najmniej jedną regułę zbierania danych (DCR), które są przechowywane w ramach subskrypcji platformy Azure i skojarzone z maszynami wirtualnymi.
W przypadku maszyn wirtualnych kontrolery domeny definiują dane, takie jak zdarzenia i liczniki wydajności do zbierania i określania obszarów roboczych usługi Log Analytics, w których mają być wysyłane dane. Kontroler domeny może również używać przekształceń do filtrowania niechcianych danych i dodawania kolumn obliczeniowych. Pojedyncza maszyna może być skojarzona z wieloma kontrolerami dcR, a jeden kontroler domeny może być skojarzony z wieloma maszynami. Kontrolery domeny są dostarczane do wszystkich maszyn, które są skojarzone z miejscem ich przetwarzania przez agenta usługi Azure Monitor.
Wyświetlanie reguł zbierania danych
Reguły zbierania danych można wyświetlić w subskrypcji platformy Azure w menu Monitorowanie w witrynie Azure Portal. Kontrolery domeny obsługują inne scenariusze zbierania danych w usłudze Azure Monitor, więc wszystkie kontrolery domeny nie muszą być przeznaczone dla maszyn wirtualnych.
Tworzenie reguł zbierania danych
Istnieje wiele metod tworzenia kontrolerów domeny w zależności od scenariusza zbierania danych. W niektórych przypadkach witryna Azure Portal przeprowadzi Cię przez konfigurację. Inne scenariusze wymagają bezpośredniej edycji kontrolera domeny. Podczas konfigurowania szczegółowych informacji o maszynie wirtualnej program automatycznie tworzy wstępnie skonfigurowany kontroler domeny. W poniższych sekcjach przedstawiono typowe dane do zbierania i sposobu konfigurowania zbierania danych.
W niektórych przypadkach może być konieczne zmodyfikowanie istniejącego kontrolera domeny w celu dodania funkcji. Możesz na przykład użyć witryny Azure Portal do utworzenia kontrolera domeny zbierającego zdarzenia systemu Windows lub Syslog. Następnie chcesz dodać przekształcenie do tego kontrolera domeny, aby odfiltrować kolumny w zdarzeniach, których nie chcesz zbierać.
W miarę dojrzewania i wzrostu złożoności środowiska należy wdrożyć strategię organizowania kontrolerów domeny, aby ułatwić zarządzanie nimi. Aby uzyskać wskazówki dotyczące różnych strategii, zobacz Najlepsze rozwiązania dotyczące tworzenia reguł zbierania danych i zarządzania nimi w usłudze Azure Monitor.
Kontrolowanie kosztów
Ponieważ koszt usługi Azure Monitor zależy od ilości zbieranych danych, upewnij się, że nie zbierasz więcej niż musisz spełnić wymagania dotyczące monitorowania. Konfiguracja jest równowagą między budżetem a ilością szczegółowych informacji dotyczących działania maszyn wirtualnych.
Napiwek
Aby uzyskać strategie zmniejszenia kosztów usługi Azure Monitor, zobacz Optymalizacja kosztów i Usługa Azure Monitor.
Typowa maszyna wirtualna generuje od 1 GB do 3 GB danych miesięcznie. Ten rozmiar danych zależy od konfiguracji maszyny, obciążeń uruchomionych na nim i konfiguracji kontrolerów domeny. Przed skonfigurowaniem zbierania danych w całym środowisku maszyny wirtualnej rozpocznij zbieranie na niektórych reprezentatywnych maszynach, aby lepiej przewidzieć oczekiwane koszty podczas wdrażania w całym środowisku. Użyj szczegółowych informacji o obszarze roboczym usługi Log Analytics lub zapytań dziennika w woluminie danych według komputera , aby określić ilość rozliczanych danych zebranych dla każdej maszyny i odpowiednio dostosować je.
Oceń zebrane dane i odfiltruj wszystkie, które spełniają następujące kryteria, aby zmniejszyć koszty. Każde zbierane źródło danych może mieć inną metodę filtrowania niechcianych danych. Zapoznaj się z poniższymi sekcjami, aby uzyskać szczegółowe informacje o poszczególnych typowych źródłach danych.
- Nie jest używany do zgłaszania alertów.
- Brak znanej wartości kryminalistycznej ani diagnostycznej.
- Nie jest to wymagane przez organy regulacyjne.
- Nie jest używany w żadnych pulpitach nawigacyjnych ani skoroszytach.
Można również użyć przekształceń , aby zaimplementować bardziej szczegółowe filtrowanie, a także filtrować dane z kolumn, które zapewniają niewielką wartość. Na przykład może istnieć zdarzenie systemu Windows, które jest przydatne do zgłaszania alertów, ale zawiera kolumny z nadmiarowymi lub nadmiernymi danymi. Można utworzyć przekształcenie, które umożliwia zbieranie zdarzeń, ale usuwa te nadmierne dane.
Przefiltruj dane tak bardzo, jak to możliwe przed wysłaniem ich do usługi Azure Monitor, aby uniknąć potencjalnej opłaty za filtrowanie zbyt dużej ilości danych przy użyciu przekształceń. Użyj przekształceń do filtrowania rekordów przy użyciu złożonej logiki i filtrowania kolumn z danymi, których nie potrzebujesz.
Domyślne zbieranie danych
Usługa Azure Monitor automatycznie wykonuje następujące zbieranie danych bez konieczności innej konfiguracji.
Metryki platformy
Metryki platformy dla maszyn wirtualnych platformy Azure obejmują ważne metryki hosta, takie jak użycie procesora CPU, sieci i dysku. Mogą to być:
- Wyświetlona na stronie Przegląd.
- Analizowane za pomocą eksploratora metryk dla maszyny w witrynie Azure Portal.
- Służy do obsługi alertów dotyczących metryk.
Dziennik aktywności
Dziennik aktywności jest zbierany automatycznie. Obejmuje on ostatnie działanie maszyny, takie jak wszelkie zmiany konfiguracji i czas jego zatrzymania i uruchomienia. Metryki platformy i dziennik aktywności zebrane dla każdego hosta maszyny wirtualnej można wyświetlić w witrynie Azure Portal.
Możesz wyświetlić dziennik aktywności dla pojedynczej maszyny lub wszystkich zasobów w subskrypcji. Utwórz ustawienie diagnostyczne, aby wysłać te dane do tego samego obszaru roboczego usługi Log Analytics używanego przez agenta usługi Azure Monitor, aby przeanalizować je przy użyciu innych danych monitorowania zebranych dla maszyny wirtualnej. Pozyskiwanie lub przechowywanie danych dziennika aktywności nie są kosztowne.
Informacje o dostępności maszyny wirtualnej w usłudze Azure Resource Graph
Za pomocą usługi Azure Resource Graph można użyć tych samych język zapytań Kusto używanych w zapytaniach dzienników do wykonywania zapytań dotyczących zasobów platformy Azure na dużą skalę za pomocą złożonego filtrowania, grupowania i sortowania według właściwości zasobów. Możesz użyć adnotacji kondycji maszyny wirtualnej do usługi Resource Graph w celu uzyskania szczegółowego przypisania błędów i analizy przestojów.
Aby uzyskać informacje na temat zbieranych danych i sposobu ich wyświetlania, zobacz Monitorowanie maszyn wirtualnych za pomocą usługi Azure Monitor: analizowanie danych monitorowania.
Szczegółowe informacje o maszynie wirtualnej
Po włączeniu szczegółowych informacji o maszynie wirtualnej tworzy kontroler domeny z prefiksem MSVMI , który zbiera następujące informacje. Można użyć tego samego kontrolera DCR z innymi maszynami, w przeciwieństwie do tworzenia nowego dla każdej maszyny wirtualnej.
Typowe liczniki wydajności systemu operacyjnego klienta są wysyłane do tabeli InsightsMetrics w obszarze roboczym usługi Log Analytics. Nazwy liczników są znormalizowane do używania tej samej nazwy pospolitej niezależnie od typu systemu operacyjnego.
Jeśli określono procesy i zależności do zebrania, zostaną wypełnione następujące tabele:
- VMBoundPort: ruch dla otwartych portów serwera na maszynie
- VMComputer: dane spisu maszyny
- VMConnection: ruch dla połączeń przychodzących i wychodzących do i z maszyny
- VMProcess: procesy uruchomione na maszynie
Domyślnie szczegółowe informacje o maszynach wirtualnych nie umożliwiają zbierania procesów i zależności w celu oszczędzania kosztów pozyskiwania danych. Te dane są wymagane dla funkcji Mapy, a także wdraża agenta zależności na maszynie. Włącz tę kolekcję , jeśli chcesz użyć tej funkcji.
Zbieranie zdarzeń systemu Windows i dziennika systemowego
System operacyjny i aplikacje na maszynach wirtualnych często zapisują się w dzienniku zdarzeń systemu Windows lub dzienniku systemu Syslog. Alert można utworzyć natychmiast po znalezieniu pojedynczego zdarzenia lub zaczekać na serię pasujących zdarzeń w określonym przedziale czasu. Możesz również zbierać zdarzenia do późniejszej analizy, takie jak identyfikowanie określonych trendów w czasie lub wykonywanie rozwiązywania problemów po wystąpieniu problemu.
Aby uzyskać wskazówki dotyczące tworzenia kontrolera domeny w celu zbierania zdarzeń systemu Windows i Syslog, zobacz Zbieranie danych za pomocą agenta usługi Azure Monitor. Można szybko utworzyć kontroler domeny przy użyciu najbardziej typowych dzienników zdarzeń systemu Windows i obiektów dziennika systemowego filtrowania według poziomu zdarzeń.
Aby uzyskać bardziej szczegółowe filtrowanie według kryteriów, takich jak identyfikator zdarzenia, można utworzyć filtr niestandardowy przy użyciu zapytań XPath. Możesz dodatkowo filtrować zebrane dane, edytując kontroler domeny w celu dodania przekształcenia.
Skorzystaj z poniższych wskazówek jako zalecanego punktu wyjścia dla zbierania zdarzeń. Zmodyfikuj ustawienia dcR, aby filtrować niepotrzebne zdarzenia i dodawać inne zdarzenia w zależności od wymagań.
Źródło | Strategia |
---|---|
Zdarzenia systemu Windows | Zbieranie co najmniej zdarzeń krytycznych, błędów i ostrzeżeń dla dzienników systemu i aplikacji w celu obsługi alertów. Dodaj zdarzenia informacji , aby analizować trendy i obsługiwać rozwiązywanie problemów. Zdarzenia pełne są rzadko przydatne i zwykle nie powinny być zbierane. |
Zdarzenia dziennika systemu | Zbierz co najmniej LOG_WARNING zdarzenia dla każdego obiektu w celu obsługi alertów. Dodaj zdarzenia informacji , aby analizować trendy i obsługiwać rozwiązywanie problemów. LOG_DEBUG zdarzenia są rzadko przydatne i zazwyczaj nie należy ich zbierać. |
Przykładowe zapytania dziennika: zdarzenia systemu Windows
Query | opis |
---|---|
Event |
Wszystkie zdarzenia systemu Windows |
Event | where EventLevelName == "Error" |
Wszystkie zdarzenia systemu Windows o ważności błędu |
Event | summarize count() by Source |
Liczba zdarzeń systemu Windows według źródła |
Event | where EventLevelName == "Error" | summarize count() by Source |
Liczba zdarzeń błędów systemu Windows według źródła |
Przykładowe zapytania dziennika: zdarzenia dziennika systemowego
Query | opis |
---|---|
Syslog |
Wszystkie dzienniki systemowe |
Syslog | where SeverityLevel == "error" |
Wszystkie rekordy dziennika systemowego o ważności błędu |
Syslog | summarize AggregatedValue = count() by Computer |
Liczba rekordów dziennika systemowego według komputera |
Syslog | summarize AggregatedValue = count() by Facility |
Liczba rekordów dziennika systemowego według obiektu |
Zbierania danych z liczników wydajności
Dane wydajności klienta mogą być wysyłane do metryk usługi Azure Monitor lub dzienników usługi Azure Monitor, a zazwyczaj są wysyłane do obu miejsc docelowych. Jeśli włączono szczegółowe informacje o maszynie wirtualnej, w dziennikach jest zbierany wspólny zestaw liczników wydajności w celu obsługi wykresów wydajności. Nie można zmodyfikować tego zestawu liczników, ale możesz utworzyć inne kontrolery domeny, aby zebrać więcej liczników i wysłać je do różnych miejsc docelowych.
Istnieje wiele powodów, dla których chcesz utworzyć kontroler domeny w celu zbierania wydajności gościa:
- Nie używasz szczegółowych informacji o maszynie wirtualnej, więc dane wydajności klienta nie są jeszcze zbierane.
- Zbierz inne liczniki wydajności, których szczegółowe informacje o maszynie wirtualnej nie zbierają.
- Zbieranie liczników wydajności z innych obciążeń uruchomionych na kliencie.
- Wysyłanie danych wydajności do metryk usługi Azure Monitor, gdzie można ich używać z eksploratorem metryk i alertami metryk.
Aby uzyskać wskazówki dotyczące tworzenia kontrolera domeny w celu zbierania liczników wydajności, zobacz Zbieranie zdarzeń i liczników wydajności z maszyn wirtualnych za pomocą agenta usługi Azure Monitor. Możesz szybko utworzyć kontroler domeny przy użyciu najbardziej typowych liczników. Aby uzyskać bardziej szczegółowe filtrowanie według kryteriów, takich jak identyfikator zdarzenia, można utworzyć filtr niestandardowy przy użyciu zapytań XPath.
Uwaga
Możesz połączyć wydajność i zbieranie zdarzeń w tym samym kontrolerze domeny.
Element docelowy | opis |
---|---|
Metryki | Metryki hosta są automatycznie wysyłane do metryk usługi Azure Monitor. Za pomocą kontrolera domeny można zbierać metryki klienta, aby można je było analizować razem z eksploratorem metryk lub używać z alertami metryk. Te dane są przechowywane przez 93 dni. |
Dzienniki | Dane wydajności przechowywane w dziennikach usługi Azure Monitor mogą być przechowywane przez dłuższy czas. Dane można analizować wraz z danymi zdarzeń przy użyciu zapytań dziennika z usługą Log Analytics lub alertów przeszukiwania dzienników. Możesz również skorelować dane przy użyciu złożonej logiki na wielu maszynach, regionach i subskrypcjach. Dane wydajności są wysyłane do następujących tabel: — Szczegółowe informacje o maszynach wirtualnych: InsightsMetrics - Inne dane wydajności: Wydajność |
Przykładowe zapytania dziennika
W poniższych przykładach użyto Perf
tabeli z niestandardowymi danymi wydajności.
Query | opis |
---|---|
Perf |
Wszystkie dane wydajności |
Perf | where Computer == "MyComputer" |
Wszystkie dane dotyczące wydajności z określonego komputera |
Perf | where CounterName == "Current Disk Queue Length" |
Wszystkie dane wydajności dla określonego licznika |
Perf | where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AVGCPU = avg(CounterValue) by Computer |
Średnie wykorzystanie procesora CPU na wszystkich komputerach |
Perf | where CounterName == "% Processor Time" | summarize AggregatedValue = max(CounterValue) by Computer |
Maksymalne wykorzystanie procesora CPU na wszystkich komputerach |
Perf | where ObjectName == "LogicalDisk" and CounterName == "Current Disk Queue Length" and Computer == "MyComputerName" | summarize AggregatedValue = avg(CounterValue) by InstanceName |
Średnia długość kolejki bieżącego dysku we wszystkich wystąpieniach danego komputera |
Perf | where CounterName == "Disk Transfers/sec" | summarize AggregatedValue = percentile(CounterValue, 95) by Computer |
95. percentyl transferów dysków/s na wszystkich komputerach |
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), Computer |
Średnia godzinowa użycia procesora CPU na wszystkich komputerach |
Perf | where Computer == "MyComputer" and CounterName startswith_cs "%" and InstanceName == "_Total" | summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName |
Co godzinę 70 percentyl każdego licznika procent procent dla określonego komputera |
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" and Computer == "MyComputer" | summarize ["min(CounterValue)"] = min(CounterValue), ["avg(CounterValue)"] = avg(CounterValue), ["percentile75(CounterValue)"] = percentile(CounterValue, 75), ["max(CounterValue)"] = max(CounterValue) by bin(TimeGenerated, 1h), Computer |
Średnia godzinowa, minimalna, maksymalna i 75-percentylowe użycie procesora CPU dla określonego komputera |
Perf | where ObjectName == "MSSQL$INST2:Databases" and InstanceName == "master" |
Wszystkie dane wydajności z obiektu wydajności bazy danych dla bazy danych master z nazwanego wystąpienia programu SQL Server INST2. |
Perf | where TimeGenerated >ago(5m) | where ObjectName == "Process" and InstanceName != "_Total" and InstanceName != "Idle" | where CounterName == "% Processor Time" | summarize cpuVal=avg(CounterValue) by Computer,InstanceName | join (Perf| where TimeGenerated >ago(5m)| where ObjectName == "Process" and CounterName == "ID Process" | summarize arg_max(TimeGenerated,*) by ProcID=CounterValue ) on Computer,InstanceName | sort by TimeGenerated desc | summarize AvgCPU = avg(cpuVal) by InstanceName,ProcID |
Średnia użycia procesora CPU w ciągu ostatnich 5 minut dla każdego identyfikatora procesu. |
Zbieranie dzienników tekstowych
Niektóre aplikacje zapisują zdarzenia zapisywane w dzienniku tekstowym przechowywanym na maszynie wirtualnej. Utwórz tabelę niestandardową i kontroler domeny w celu zebrania tych danych. Należy zdefiniować lokalizację dziennika tekstowego, jego szczegółową konfigurację i schemat tabeli niestandardowej. W obszarze roboczym istnieje koszt pozyskiwania i przechowywania tych danych.
Przykładowe zapytania dziennika
Nazwy kolumn użyte tutaj są tylko przykładami. Nazwy kolumn dziennika będą najprawdopodobniej inne.
Query | opis |
---|---|
MyApp_CL | summarize count() by code |
Zlicz liczbę zdarzeń według kodu. |
MyApp_CL | where status == "Error" | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m) |
Utwórz regułę alertu dla dowolnego zdarzenia błędu. |
Zbieranie dzienników usług IIS
Usługi IIS uruchomione na maszynach z systemem Windows zapisują dzienniki w pliku tekstowym. Konfigurowanie zbierania dzienników usług IIS przy użyciu funkcji Zbieranie dzienników usług IIS za pomocą agenta usługi Azure Monitor. W obszarze roboczym istnieje koszt pozyskiwania i przechowywania tych danych.
Rekordy z dziennika usług IIS są przechowywane w tabeli W3CIISLog w obszarze roboczym usługi Log Analytics. W obszarze roboczym istnieje koszt pozyskiwania i przechowywania tych danych.
Przykładowe zapytania dziennika
Query | opis |
---|---|
W3CIISLog | where csHost=="www.contoso.com" | summarize count() by csUriStem |
Zlicz wpisy dziennika usług IIS według adresu URL dla www.contoso.com hosta. |
W3CIISLog | summarize sum(csBytes) by Computer |
Przejrzyj łączną liczbę bajtów odebranych przez poszczególne maszyny usług IIS. |
Monitorowanie usługi lub demona
Aby monitorować stan usługi systemu Windows lub demona systemu Linux, włącz rozwiązanie Śledzenie zmian i spis w usłudze Azure Automation.
Usługa Azure Monitor nie może samodzielnie monitorować stanu usługi lub demona. Istnieją pewne możliwe metody, takie jak wyszukiwanie zdarzeń w dzienniku zdarzeń systemu Windows, ale ta metoda jest zawodna. Możesz również wyszukać proces skojarzony z usługą uruchomioną na maszynie z tabeli VMProcess wypełnionej przez szczegółowe informacje o maszynie wirtualnej. Ta tabela aktualizuje tylko co godzinę, co zwykle nie jest wystarczające, jeśli chcesz używać tych danych do zgłaszania alertów.
Uwaga
Rozwiązanie Change Tracking and Analysis różni się od funkcji Analiza zmian w szczegółowych danych maszyn wirtualnych. Ta funkcja jest dostępna w publicznej wersji zapoznawczej i nie jest jeszcze uwzględniona w tym scenariuszu.
Aby uzyskać różne opcje włączania rozwiązania Change Tracking na maszynach wirtualnych, zobacz Włączanie Śledzenie zmian i spis. To rozwiązanie obejmuje metody konfigurowania maszyn wirtualnych na dużą skalę. Aby obsługiwać rozwiązanie, musisz utworzyć konto usługi Azure Automation.
Po włączeniu Śledzenie zmian i spis dwa nowe tabele są tworzone w obszarze roboczym usługi Log Analytics. Te tabele służą do obsługi zapytań dzienników i reguł alertów przeszukiwania dzienników.
Table | opis |
---|---|
ConfigurationChange | Zmiany w danych konfiguracji gościa |
ConfigurationData | Ostatni zgłoszony stan dla danych konfiguracji gościa |
Przykładowe zapytania dziennika
Wyświetl listę wszystkich usług i demonów, które zostały niedawno uruchomione.
ConfigurationChange | where ConfigChangeType == "Daemons" or ConfigChangeType == "WindowsServices" | where SvcState == "Running" | sort by Computer, SvcName
Alert po zatrzymaniu określonej usługi. Użyj tego zapytania w regule alertu przeszukiwania dzienników.
ConfigurationData | where SvcName == "W3SVC" | where SvcState == "Stopped" | where ConfigDataType == "WindowsServices" | where SvcStartupType == "Auto" | summarize AggregatedValue = count() by Computer, SvcName, SvcDisplayName, SvcState, bin(TimeGenerated, 15m)
Alert po zatrzymaniu jednego z zestawów usług. Użyj tego zapytania w regule alertu przeszukiwania dzienników.
let services = dynamic(["omskd","cshost","schedule","wuauserv","heathservice","efs","wsusservice","SrmSvc","CertSvc","wmsvc","vpxd","winmgmt","netman","smsexec","w3svc","sms_site_vss_writer","ccmexe","spooler","eventsystem","netlogon","kdc","ntds","lsmserv","gpsvc","dns","dfsr","dfs","dhcp","DNSCache","dmserver","messenger","w32time","plugplay","rpcss","lanmanserver","lmhosts","eventlog","lanmanworkstation","wnirm","mpssvc","dhcpserver","VSS","ClusSvc","MSExchangeTransport","MSExchangeIS"]); ConfigurationData | where ConfigDataType == "WindowsServices" | where SvcStartupType == "Auto" | where SvcName in (services) | where SvcState == "Stopped" | project TimeGenerated, Computer, SvcName, SvcDisplayName, SvcState | summarize AggregatedValue = count() by Computer, SvcName, SvcDisplayName, SvcState, bin(TimeGenerated, 15m)
Monitorowanie portu
Monitorowanie portów sprawdza, czy maszyna nasłuchuje na określonym porcie. W tym miejscu opisano dwie potencjalne strategie monitorowania portów.
Tabele agenta zależności
Jeśli używasz szczegółowych informacji o maszynie wirtualnej z włączoną kolekcją Procesów i zależności, możesz użyć polecenia VMConnection i VMBoundPort do analizowania połączeń i portów na maszynie. Tabela VMBoundPort
jest aktualizowana co minutę przy każdym procesie uruchomionym na komputerze i na porcie, na którym nasłuchuje. Możesz utworzyć alert wyszukiwania dzienników podobny do brakującego alertu pulsu, aby znaleźć procesy, które zostały zatrzymane lub alerty, gdy maszyna nie nasłuchuje na określonym porcie.
Przejrzyj liczbę otwartych portów na maszynach wirtualnych, aby ocenić, które maszyny wirtualne mają luki w zabezpieczeniach i konfiguracji.
VMBoundPort | where Ip != "127.0.0.1" | summarize by Computer, Machine, Port, Protocol | summarize OpenPorts=count() by Computer, Machine | order by OpenPorts desc
Wyświetl listę powiązanych portów na maszynach wirtualnych, aby ocenić, które maszyny wirtualne mają luki w zabezpieczeniach i konfiguracji.
VMBoundPort | distinct Computer, Port, ProcessName
Analizowanie działań sieciowych według portów w celu określenia sposobu konfigurowania aplikacji lub usługi.
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
Przejrzyj bajty wysłane i odebrane trendy dla maszyn wirtualnych.
VMConnection | summarize sum(BytesSent), sum(BytesReceived) by bin(TimeGenerated,1hr), Computer | order by Computer desc | render timechart
Użyj błędów połączeń w czasie, aby określić, czy szybkość awarii jest stabilna, czy zmienia się.
VMConnection | where Computer == <replace this with a computer name, e.g. 'acme-demo'> | extend bythehour = datetime_part("hour", TimeGenerated) | project bythehour, LinksFailed | summarize failCount = count() by bythehour | sort by bythehour asc | render timechart
Połącz trendy stanu, aby przeanalizować zachowanie i stan połączenia maszyny.
VMConnection | where Computer == <replace this with a computer name, e.g. 'acme-demo'> | summarize dcount(LinksEstablished), dcount(LinksLive), dcount(LinksFailed), dcount(LinksTerminated) by bin(TimeGenerated, 1h) | render timechart
Menedżer połączeń
Funkcja Monitor połączenia usługi Network Watcher służy do testowania połączeń z portem na maszynie wirtualnej. Test sprawdza, czy maszyna nasłuchuje na porcie i czy jest dostępna w sieci.
Menedżer połączeń wymaga rozszerzenia Network Watcher na maszynie klienckiej inicjującej test. Nie trzeba go instalować na testowanej maszynie. Aby uzyskać więcej informacji, zobacz Samouczek: monitorowanie komunikacji sieciowej przy użyciu witryny Azure Portal.
Istnieje dodatkowy koszt Menedżer połączeń. Aby uzyskać więcej informacji, zobacz Cennik usługi Network Watcher.
Uruchamianie procesu na komputerze lokalnym
Monitorowanie niektórych obciążeń wymaga lokalnego procesu. Przykładem jest skrypt programu PowerShell uruchamiany na komputerze lokalnym w celu nawiązania połączenia z aplikacją i zbierania lub przetwarzania danych. Możesz użyć hybrydowego procesu roboczego elementu Runbook, który jest częścią usługi Azure Automation, aby uruchomić lokalny skrypt programu PowerShell. Nie są naliczane bezpośrednie opłaty za hybrydowy proces roboczy elementu Runbook, ale koszt każdego używanego elementu Runbook jest naliczany.
Element Runbook może uzyskiwać dostęp do dowolnych zasobów na komputerze lokalnym w celu zebrania wymaganych danych. Nie można wysyłać danych bezpośrednio do usługi Azure Monitor ani tworzyć alertu. Aby utworzyć alert, element Runbook zapisz wpis w dzienniku niestandardowym. Następnie skonfiguruj ten dziennik do zbierania przez usługę Azure Monitor. Utwórz regułę alertu przeszukiwania dzienników, która jest uruchamiana w tym wpisie dziennika.