Zbieranie źródeł danych wydajności systemu Windows i Linux za pomocą agenta usługi Log Analytics

Liczniki wydajności w systemach Windows i Linux zapewniają wgląd w wydajność składników sprzętowych, systemów operacyjnych i aplikacji. Usługa Azure Monitor może zbierać liczniki wydajności od agentów usługi Log Analytics w częstych odstępach czasu na potrzeby analizy niemal w czasie rzeczywistym. Usługa Azure Monitor może również agregować dane wydajności na potrzeby długoterminowej analizy i raportowania.

Ważne

Starszy agentusługi Log Analytics zostanie wycofany do sierpnia 2024 r. Po tej dacie firma Microsoft nie będzie już zapewniać żadnej pomocy technicznej dla agenta usługi Log Analytics. Przeprowadź migrację do agenta usługi Azure Monitor przed sierpniem 2024 r., aby kontynuować pozyskiwanie danych.

Screenshot that shows performance counters.

Konfigurowanie liczników wydajności

Skonfiguruj liczniki wydajności z menu zarządzania starszymi agentami dla obszaru roboczego usługi Log Analytics.

Podczas pierwszego konfigurowania liczników wydajności systemu Windows lub Linux dla nowego obszaru roboczego można szybko utworzyć kilka typowych liczników. Są one wyświetlane z polem wyboru obok każdego. Upewnij się, że wybrano wszystkie liczniki, które chcesz początkowo utworzyć, a następnie wybierz pozycję Dodaj wybrane liczniki wydajności.

W przypadku liczników wydajności systemu Windows można wybrać określone wystąpienie dla każdego licznika wydajności. W przypadku liczników wydajności systemu Linux wystąpienie każdego wybranego licznika dotyczy wszystkich liczników podrzędnych licznika nadrzędnego. W poniższej tabeli przedstawiono typowe wystąpienia dostępne dla liczników wydajności systemów Windows i Linux.

Nazwa wystąpienia opis
_Total Łączna liczba wszystkich wystąpień
* Wszystkie wystąpienia
(/|/var) Pasuje do wystąpień o nazwie / lub /var

Liczniki wydajności systemu Windows

Screenshot that shows configuring Windows performance counters.

Wykonaj tę procedurę, aby dodać nowy licznik wydajności systemu Windows do zbierania. Liczniki wydajności systemu Windows w wersji 2 nie są obsługiwane.

  1. Wybierz pozycję Dodaj licznik wydajności.

  2. Wprowadź nazwę licznika w polu tekstowym w formacie object(instance)\counter. Po rozpoczęciu wpisywania zostanie wyświetlona zgodna lista typowych liczników. Możesz wybrać licznik z listy lub wprowadzić własny. Można również zwrócić wszystkie wystąpienia dla określonego licznika, określając obiekt\licznik.

    Gdy liczniki wydajności programu SQL Server są zbierane z nazwanych wystąpień, wszystkie nazwane liczniki wystąpień zaczynają się od MSSQL$ i nazwy wystąpienia. Aby na przykład zebrać licznik współczynnika trafień pamięci podręcznej dzienników dla wszystkich baz danych z obiektu wydajności bazy danych dla nazwanego wystąpienia SQL INST2, określ wartość MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.

  3. Podczas dodawania licznika używa wartości domyślnej 10 sekund dla interwału próbkowania. Zmień tę wartość domyślną na wyższą wartość do 1800 sekund (30 minut), jeśli chcesz zmniejszyć wymagania dotyczące magazynu zebranych danych wydajności.

  4. Po zakończeniu dodawania liczników wybierz pozycję Zastosuj w górnej części ekranu, aby zapisać konfigurację.

Liczniki wydajności systemu Linux

Screenshot that shows configuring Linux performance counters.

Wykonaj tę procedurę, aby dodać nowy licznik wydajności systemu Linux do zbierania.

  1. Wybierz pozycję Dodaj licznik wydajności.
  2. Wprowadź nazwę licznika w polu tekstowym w formacie object(instance)\counter. Po rozpoczęciu wpisywania zostanie wyświetlona zgodna lista typowych liczników. Możesz wybrać licznik z listy lub wprowadzić własny.
  3. Wszystkie liczniki dla obiektu używają tego samego interwału próbki. Wartość domyślna to 10 sekund. Zmień tę wartość domyślną na wyższą wartość do 1800 sekund (30 minut), jeśli chcesz zmniejszyć wymagania dotyczące magazynu zebranych danych wydajności.
  4. Po zakończeniu dodawania liczników wybierz pozycję Zastosuj w górnej części ekranu, aby zapisać konfigurację.

Konfigurowanie liczników wydajności systemu Linux w pliku konfiguracji

Zamiast konfigurować liczniki wydajności systemu Linux przy użyciu witryny Azure Portal, możesz edytować pliki konfiguracji w agencie systemu Linux. Metryki wydajności do zbierania są kontrolowane przez konfigurację w katalogu /etc/opt/microsoft/omsagent/<workspace id>/conf/omsagent.conf.

Każdy obiekt lub kategoria metryk wydajności do zbierania powinny być zdefiniowane w pliku konfiguracji jako pojedynczy <source> element. Składnia jest zgodna ze wzorcem w tym miejscu:

<source>
    type oms_omi  
    object_name "Processor"
    instance_regex ".*"
    counter_name_regex ".*"
    interval 30s
</source>

Parametry w tym elemecie zostały opisane w poniższej tabeli.

Parametry opis
Object_name Nazwa obiektu dla kolekcji.
instance_regex Wyrażenie regularne definiujące, które wystąpienia mają być zbierane. Wartość .* określa wszystkie wystąpienia. Aby zebrać metryki procesora tylko dla wystąpienia _Total, można określić wartość _Total. Aby zebrać metryki procesu tylko dla wystąpień crond lub sshd, można określić .(crond\|sshd)
counter_name_regex Wyrażenie regularne definiujące liczniki (dla obiektu) do zebrania. Aby zebrać wszystkie liczniki dla obiektu, określ wartość .*. Aby zebrać tylko liczniki miejsca dla obiektu pamięci, można na przykład określić .+Swap.+
interval Częstotliwość zbierania liczników obiektu.

W poniższej tabeli wymieniono obiekty i liczniki, które można określić w pliku konfiguracji. Dla niektórych aplikacji jest dostępnych więcej liczników. Aby uzyskać więcej informacji, zobacz Zbieranie liczników wydajności dla aplikacji systemu Linux w usłudze Azure Monitor.

Object name Nazwa licznika
Dysk logiczny % wolnych węzłów
Dysk logiczny % wolnego miejsca
Dysk logiczny % używanych węzłów
Dysk logiczny % używanego miejsca
Dysk logiczny Bajty odczytu dysku na sekundę
Dysk logiczny Odczyty dysku/s
Dysk logiczny Transfery dysków na sekundę
Dysk logiczny Bajty zapisu dysku na sekundę
Dysk logiczny Zapisy dysku na sekundę
Dysk logiczny Megabajty wolne
Dysk logiczny Bajty dysku logicznego/s
Pamięć % dostępnej pamięci
Pamięć % dostępnego miejsca wymiany
Pamięć % używanej pamięci
Pamięć % używanego miejsca wymiany
Pamięć Dostępna pamięć mb/s
Pamięć Dostępna zamiana mb/s
Pamięć Odczyty stron na sekundę
Pamięć Zapisy stron na sekundę
Pamięć Strony/s
Pamięć Używane miejsce wymiany MBytes
Pamięć Używane bajty pamięci
Sieć Łączna liczba przesłanych bajtów
Sieć Całkowita liczba odebranych bajtów
Sieć Łączna liczba bajtów
Sieć Łączna liczba przesłanych pakietów
Sieć Łączna liczba odebranych pakietów
Sieć Łączna liczba błędów RX
Sieć Łączna liczba błędów tx
Sieć Łączna liczba kolizji
Dysk fizyczny Średnia liczba s/odczyt dysku
Dysk fizyczny Średnia liczba s/transfer dysku
Dysk fizyczny Średnia liczba s/zapis na dysku
Dysk fizyczny Bajty dysku fizycznego na sekundę
Przetwarzanie Pct Privileged Time
Przetwarzanie Czas użytkownika pct
Przetwarzanie Użyto pamięci kBytes
Przetwarzanie Pamięć udostępniona wirtualna
Podmiot przetwarzający dane % czasu DPC
Podmiot przetwarzający dane Czas bezczynności (%)
Podmiot przetwarzający dane % czasu przerwania
Podmiot przetwarzający dane % czasu oczekiwania we/wy
Podmiot przetwarzający dane % miłego czasu
Podmiot przetwarzający dane Czas uprzywilejowany (%)
Podmiot przetwarzający dane Czas procesora (%)
Podmiot przetwarzający dane % czasu użytkownika
System Bezpłatna pamięć fizyczna
System Wolne miejsce w plikach stronicowania
System Bezpłatna pamięć wirtualna
System Procesy
System Rozmiar przechowywany w plikach stronicowania
System Czas sprawności
System Użytkownicy

Następująca konfiguracja jest domyślna dla metryk wydajności:

<source>
    type oms_omi
	object_name "Physical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
	type oms_omi
	object_name "Logical Disk"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 5m
</source>

<source>
    type oms_omi
	object_name "Processor"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

<source>
	type oms_omi
	object_name "Memory"
	instance_regex ".*"
	counter_name_regex ".*"
	interval 30s
</source>

Zbieranie danych

Usługa Azure Monitor zbiera wszystkie określone liczniki wydajności w określonym interwale próbki dla wszystkich agentów, którzy mają zainstalowany licznik. Dane nie są agregowane. Dane pierwotne są dostępne we wszystkich widokach zapytań dziennika przez czas określony przez obszar roboczy usługi Log Analytics.

Właściwości rekordu wydajności

Rekordy wydajności mają typ wydajności i mają właściwości wymienione w poniższej tabeli.

Właściwości opis
Komputer Komputer, z którego zostało zebrane zdarzenie.
CounterName Nazwa licznika wydajności.
Ścieżka licznika Pełna ścieżka licznika w postaci \\<Computer>\object(instance)\counter.
Wartość licznika Wartość liczbowa licznika.
InstanceName Nazwa wystąpienia zdarzenia. Puste, jeśli nie ma wystąpienia.
Nazwa obiektu Nazwa obiektu wydajności.
SourceSystem Typ agenta, z którego zebrano dane:

OpsManager — agent systemu Windows, połączenie bezpośrednie lub SCOM
Linux — wszyscy agenci systemu Linux
AzureStorage — Diagnostyka Azure
TimeGenerated Data i godzina próbkowania danych.

Szacowanie rozmiaru

Przybliżone oszacowanie zbierania określonego licznika w 10-sekundowych interwałach wynosi około 1 MB dziennie na wystąpienie. Wymagania dotyczące magazynu określonego licznika można oszacować przy użyciu następującej formuły:

1 MB x (liczba liczników) x (liczba agentów) x (liczba wystąpień)

Zapytania dzienników z rekordami wydajności

W poniższej tabeli przedstawiono różne przykłady zapytań dziennika, które pobierają rekordy wydajności.

Zapytanie opis
Perf Wszystkie dane wydajności
Perf | where Computer == "MyComputer" Wszystkie dane wydajności z określonego komputera
Perf | where CounterName == "Bieżąca długość kolejki dysku" 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 == "% czasu procesora" | summarize AggregatedValue = max(CounterValue) by Computer Maksymalne wykorzystanie procesora CPU na wszystkich komputerach
Perf | where ObjectName == "LogicalDisk" i CounterName == "Current Disk Queue Length" i Computer == "MyComputerName" | summarize AggregatedValue = avg(CounterValue) by InstanceName Średnia długość kolejki bieżącego dysku we wszystkich wystąpieniach danego komputera
Perf | where CounterName == "Transfery dysku/s" | summarize AggregatedValue = percentile(CounterValue, 95) by Computer 95. percentyl transferów dysków na sekundę na wszystkich komputerach
Perf | where CounterName == "% Czasu procesora" i InstanceName == "_Total" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), Computer Średnia godzinowa użycia procesora CPU na wszystkich komputerach
Perf | where Computer == "MyComputer" i CounterName startswith_cs "%" i InstanceName == "_Total" | summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName Co godzinę 70. percentyl każdego licznika procent dla określonego komputera
Perf | where CounterName == "% Czasu procesora" i InstanceName == "_Total" i 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" i InstanceName == "master" Wszystkie dane wydajności z obiektu wydajności bazy danych dla bazy danych master z nazwanego wystąpienia programu SQL Server INST2

Następne kroki