Сбор источников данных о производительности Windows и Linux с помощью агента Log Analytics

Счетчики производительности в Windows и Linux позволяют получить представление о производительности компонентов оборудования, операционных систем и приложений. Azure Monitor может собирать счетчики производительности из агентов Log Analytics с частыми интервалами для анализа практически в реальном времени. Azure Monitor также может агрегировать данные о производительности для долгосрочного анализа и отчетности.

Важно!

Поддержка устаревшего агента Log Analyticsбудет прекращена в августе 2024 года. После этой даты корпорация Майкрософт больше не будет предоставлять поддержку агента Log Analytics. Чтобы продолжить прием данных, перейдите на агент Azure Monitor до августа 2024 года.

Screenshot that shows performance counters.

Настройка счетчиков производительности

Настройте счетчики производительности из меню управления устаревшими агентами для рабочей области Log Analytics.

При первой настройке счетчиков производительности Windows или Linux для новой рабочей области вы можете быстро создать несколько распространенных счетчиков. Они перечислены с проверка box рядом с каждым. Убедитесь, что выбраны все счетчики, которые вы хотите первоначально создать, а затем выберите " Добавить выбранные счетчики производительности".

Для каждого счетчика производительности Windows можно выбрать конкретный экземпляр. В случае счетчиков производительности Linux экземпляр выбранного счетчика применяется ко всем дочерним счетчикам родительского счетчика. В следующей таблице показаны распространенные экземпляры, доступные для счетчиков производительности Windows и Linux.

Имя экземпляра Description
_Всего Общее количество всех экземпляров
* Все экземпляры
(/|/var) Соответствует экземплярам с именем / или /var

Счетчики производительности Windows

Screenshot that shows configuring Windows performance counters.

Чтобы добавить новый счетчик производительности Windows для сбора данных, выполните описанные ниже действия. Счетчики производительности Windows версии 2 не поддерживаются.

  1. Выберите " Добавить счетчик производительности".

  2. Введите имя счетчика в текстовом поле в объекте форматирования (экземпляр)\counter. При начале ввода появится соответствующий список распространенных счетчиков. Вы можете выбрать счетчик из списка или ввести один из собственных. Кроме того, вы можете получить все экземпляры определенного счетчика, указав объект\счетчик.

    При сборе счетчиков производительности SQL Server из именованных экземпляров все именованные счетчики экземпляров начинаются с MSSQL$ , за которым следует имя экземпляра. Например, чтобы собрать показатели счетчика "Коэффициент попаданий в кэш журнала" для всех баз данных из объекта производительности базы данных для экземпляра SQL (INST2), укажите MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.

  3. При добавлении счетчика по умолчанию устанавливается интервал выборки 10 секунд. Измените это значение по умолчанию на более высокое значение до 1800 секунд (30 минут), если требуется уменьшить требования к хранилищу собранных данных о производительности.

  4. После завершения добавления счетчиков нажмите кнопку "Применить " в верхней части экрана, чтобы сохранить конфигурацию.

Счетчики производительности Linux

Screenshot that shows configuring Linux performance counters.

Чтобы добавить новый счетчик производительности Linux для сбора данных, выполните описанные ниже действия.

  1. Выберите " Добавить счетчик производительности".
  2. Введите имя счетчика в текстовом поле в объекте форматирования (экземпляр)\counter. При начале ввода появится соответствующий список распространенных счетчиков. Вы можете выбрать счетчик из списка или ввести один из собственных.
  3. Для всех счетчиков объекта используется один и тот же интервал выборки. Значение по умолчанию — 10 секунд. Измените это значение по умолчанию на более высокое значение до 1800 секунд (30 минут), если требуется уменьшить требования к хранилищу собранных данных о производительности.
  4. После завершения добавления счетчиков нажмите кнопку "Применить " в верхней части экрана, чтобы сохранить конфигурацию.

Настройка счетчиков производительности Linux в файле конфигурации

Вместо настройки счетчиков производительности Linux с помощью портал Azure вы можете изменять файлы конфигурации агента Linux. Собираемые метрики производительности определяются конфигурацией в файле /etc/opt/microsoft/omsagent/<ИД_рабочей_области>/conf/omsagent.conf.

Каждый объект или категорию метрики производительности для сбора следует определить в файле конфигурации в качестве одного элемента <source> . Синтаксис следует шаблону:

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

В следующей таблице описаны параметры, используемые в этом элементе.

Параметры Description
object_name Имя объекта в коллекции.
instance_regex Регулярное выражение, определяющее, какие экземпляры необходимо собирать. Значение .* указывает все экземпляры. Чтобы собирать метрики процессора только для экземпляра _Total, можно указать _Total. Чтобы собрать метрики процесса только для экземпляров crond или sshd, можно указать (crond\|sshd).
counter_name_regex Регулярное выражение , определяющее, какие счетчики (для объекта) собираются. Чтобы собрать все счетчики для объекта, укажите .*. Чтобы собрать только счетчики пространства буфера для объекта памяти, например можно указать .+Swap.+
interval Частота сбора счетчиков объекта.

В следующей таблице перечислены объекты и счетчики, которые можно указать в файле конфигурации. Дополнительные счетчики доступны для определенных приложений. Дополнительные сведения см. в статье Сбор счетчиков производительности для приложений Linux в Azure Monitor.

Наименование объекта Имя счетчика
Логический диск Процент свободных индексных дескрипторов
Логический диск Процент свободного места
Логический диск Процент используемых индексных дескрипторов
Логический диск Процент используемого места
Логический диск Скорость чтения с диска (байт/с)
Логический диск Операций чтения с диска в секунду
Логический диск Обращений к диску/с
Логический диск Скорость записи на диск (байт/сек)
Логический диск Операций записи на диск в секунду
Логический диск Свободно мегабайт
Логический диск Скорость обмена с логическим диском (байт/с)
Память Процент доступной памяти
Память Процент доступной области подкачки
Память Процент используемой памяти
Память Процент используемой области подкачки
Память Доступный объем памяти в МБ
Память Доступный буфер в МБ
Память Операций чтения со страницы в секунду
Память Операций записи страниц (с)
Память страниц/с
Память Использованная область буфера в МБ
Память Используемый объем памяти в МБ
Сеть Всего передано байт
Сеть Всего получено байт
Сеть Всего байт
Сеть Всего передано пакетов
Сеть Всего получено пакетов
Сеть Всего ошибок Rx
Сеть Всего ошибок Tx
Сеть Всего конфликтов
Физический диск Средн. время чтения с диска (с)
Физический диск Среднее значение. Диск с/передача
Физический диск Средн. время записи на диск (с)
Физический диск Скорость обмена с физическим диском (байт/с)
Процесс Процент времени работы в привилегированном режиме
Процесс Процент времени пользователя
Процесс Используемая память в КБ
Процесс Виртуальная общая память
Процессор Процент времени DPC
Процессор Процент времени простоя
Процессор Процент времени прерывания
Процессор Процент времени ожидания ввода-вывода
Процессор Процент времени работы с низким приоритетом
Процессор % работы в привилегированном режиме
Процессор % загруженности процессора
Процессор Процент времени пользователя
Система Объем свободной физической памяти
Система Объем свободного места в файлах подкачки
Система Объем свободной виртуальной памяти
Система Процессы
Система Объем, сохраненный в файлах подкачки
Система Время работы
Система Пользователи

Следующая конфигурация используется по умолчанию для метрик производительности:

<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>

сбор данных

Служба Azure Monitor будет собирать данные со всех указанных счетчиков производительности с заданным для них интервалом выборки во всех агентах, в которых установлен счетчик. Данные не агрегируются. Необработанные данные доступны во всех представлениях запросов журнала в течение длительности, указанной рабочей областью Log Analytics.

Свойства записи о производительности

Записи производительности имеют тип Perf и имеют свойства, перечисленные в следующей таблице.

Свойство Description
Компьютер Компьютер, с которого было получено событие.
CounterName Имя счетчика производительности.
CounterPath Полный путь к счетчику в формате \\<компьютер>\объект(экземпляр)\счетчик.
CounterValue Числовое значение счетчика.
InstanceName Имя экземпляра события. Если экземпляра нет, используется пустое значение.
ObjectName Имя объекта производительности.
SourceSystem Тип агента, из который были собраны данные:

OpsManager — агент Windows, прямой подключение или SCOM
Linux — все агенты Linux
AzureStorage – диагностика Azure
TimeGenerated Дата и время выборки данных.

Оценки размера

Сбор данных для одного счетчика с 10-секундным интервалом генерирует около 1 МБ данных в день на каждый экземпляр. Требования к хранилищу определенного счетчика можно оценить с помощью следующей формулы:

1 МБ x (число счетчиков) x (число агентов) x (число экземпляров)

Запросы журналов с записями производительности

В следующей таблице приведены различные примеры запросов журналов, которые извлекают записи производительности.

Query Description
Производительность Все данные производительности
Perf | where Computer == "MyComputer" Все данные о производительности с определенного компьютера
Perf | where CounterName == "Current Disk Queue Length" Все данные о производительности для определенного счетчика
Perf | where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AVGCPU = avg(CounterValue) by Computer Среднее использование ЦП на всех компьютерах
Perf | where CounterName == "% Processor Time" | summarize AggregatedValue = max(CounterValue) by Computer Максимальное использование ЦП на всех компьютерах
Perf | where ObjectName == "LogicalDisk" and CounterName == "Current Disk Queue Length" and Computer == "MyComputerName" | summarize AggregatedValue = avg(CounterValue) by InstanceName Средняя текущая длина очереди дисков во всех экземплярах заданного компьютера
Perf | where CounterName == "Disk Transfers/sec" | summarize AggregatedValue = percentile(CounterValue, 95) by Computer 95-й процентиль передачи дисков/с на всех компьютерах
Perf | where CounterName == "% Processor Time" and InstanceName == "_Total" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 1h), Computer Средняя почасовая нагрузка на ЦП по всем компьютерам
Perf | where Computer == "MyComputer" and CounterName startswith_cs "%" and InstanceName == "_Total" | summarize AggregatedValue = percentile(CounterValue, 70) by bin(TimeGenerated, 1h), CounterName 70-й процентиль каждого счетчика процентов для определенного компьютера
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 Почасовые средние, минимальные, максимальные значения и 75-е процентили по загрузке ЦП для конкретного компьютера
Perf | where ObjectName == "MSSQL$INST2:Databases" and InstanceName == "master" Все данные о производительности из объекта производительности базы данных master из именованного экземпляра SQL Server INST2

Следующие шаги