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


Сбор источников данных о производительности 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. Введите имя счетчика в текстовом поле в формате объект(экземпляр)\счетчик. При начале ввода появится соответствующий список распространенных счетчиков. Вы можете выбрать счетчик из списка или ввести один из собственных. Вы также можете возвращать все экземпляры для определенного счетчика, указав объект\счетчик.

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

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

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

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

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

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

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

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

Вместо настройки счетчиков производительности Linux с помощью портала Azure вы можете редактировать файлы конфигурации на агенте Linux. Собранные метрики производительности управляются конфигурацией в файле /etc/opt/microsoft/omsagent/<workspace id>/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.

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

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

<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
Computer Компьютер, с которого было собрано событие.
CounterName Имя счетчика производительности.
CounterPath Полный путь счетчика в форме \\<Computer>\object(instance)\counter.
CounterValue Числовое значение счетчика.
ИмяЭкземпляра Имя экземпляра события. Пусто, если экземпляр отсутствует.
Имя объекта Имя объекта производительности.
Система источников Тип агента, из который были собраны данные:

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

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

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

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

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

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

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

Дальнейшие шаги