Поделиться через


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

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

Внимание

Устаревший агент Log Analytics устарел с 31 августа 2024 г. Корпорация Майкрософт больше не будет предоставлять поддержку агента Log Analytics. Если вы используете агент Log Analytics для приема данных в Azure Monitor, перейдите к агенту Azure Monitor.

Снимок экрана: счетчики производительности.

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

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

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

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

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

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

Снимок экрана: настройка счетчиков производительности Windows.

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

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

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

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

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

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

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

Снимок экрана: настройка счетчиков производительности Linux.

Чтобы добавить новый счетчик производительности 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.

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

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