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

Настройка счетчиков производительности
Настройте счетчики производительности в меню конфигурации агентов для рабочей области Log Analytics.
При первой настройке счетчиков производительности Windows или Linux для новой рабочей области вы можете быстро создать несколько распространенных счетчиков. Рядом с каждым счетчиком в списке есть флажок. Отметьте все счетчики, которые нужно создать изначально, и щелкните ссылку Добавить выбранные счетчики производительности.
Для каждого счетчика производительности Windows можно выбрать конкретный экземпляр. В случае счетчиков производительности Linux экземпляр выбранного счетчика применяется ко всем дочерним счетчикам родительского счетчика. В следующей таблице представлены распространенные экземпляры для счетчиков производительности Linux и Windows.
| Имя экземпляра | Описание |
|---|---|
| _Total | Общее количество всех экземпляров |
| * | Все экземпляры |
| (/|/var) | Сопоставление экземпляров с именем / или/var |
Счетчики производительности Windows
Чтобы добавить новый счетчик производительности Windows для сбора данных, выполните описанные ниже действия. Обратите внимание, что счетчики производительности V2 Windows не поддерживаются.
Щелкните Add performance counter (Добавить счетчик производительности).
Введите в текстовое поле имя счетчика в формате объект(экземпляр)\счетчик. По мере ввода вы увидите соответствующий список распространенных счетчиков. Выберите счетчик из списка или введите собственный. Кроме того, вы можете получить все экземпляры определенного счетчика, указав объект\счетчик.
При сборе данных счетчиков производительности SQL Server из именованных экземпляров имена всех этих счетчиков начинаются с MSSQL$, после чего следует имя экземпляра. Например, чтобы собрать показатели счетчика "Коэффициент попаданий в кэш журнала" для всех баз данных из объекта производительности базы данных для экземпляра SQL (INST2), укажите
MSSQL$INST2:Databases(*)\Log Cache Hit Ratio.При добавлении счетчика по умолчанию устанавливается интервал выборки 10 секунд. Вы можете увеличить это значение до 1800 секунд (30 минут), уменьшив таким образом объем собираемых данных по производительности.
Закончив добавление счетчиков, нажмите кнопку Apply (Применить) в верхней части экрана, чтобы сохранить конфигурацию.
Счетчики производительности Linux
Чтобы добавить новый счетчик производительности Linux для сбора данных, выполните описанные ниже действия.
- Щелкните Add performance counter (Добавить счетчик производительности).
- Введите в текстовое поле имя счетчика в формате объект(экземпляр)\счетчик. По мере ввода вы увидите соответствующий список распространенных счетчиков. Выберите счетчик из списка или введите собственный.
- Для всех счетчиков объекта используется один и тот же интервал выборки. Значение по умолчанию — 10 секунд. Вы можете увеличить значение интервала вплоть до 1800 секунд (30 минут), что позволит снизить для хранилища требования к собираемым данным о производительности.
- Закончив добавление счетчиков, нажмите кнопку Apply (Применить) в верхней части экрана, чтобы сохранить конфигурацию.
Настройка счетчиков производительности 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>
В следующей таблице описаны параметры, используемые в этом элементе.
| Параметры | Описание |
|---|---|
| object_name | Имя объекта в коллекции. |
| instance_regex | Регулярное выражение, определяющее экземпляры, которые следует собирать. Значение .* указывает все экземпляры. Чтобы собирать метрики процессора только для экземпляра _Total, можно указать _Total. Для сбора метрик обработки только для экземпляра crond или sshd можно указать (crond\|sshd). |
| counter_name_regex | Регулярное выражение, определяющее счетчики (для объекта), которые следует собирать. Для сбора всех счетчиков для объекта укажите .*. Для сбора только счетчиков области подкачки для объекта памяти, например, можно указать: .+Swap.+ |
| interval | Частота сбора счетчиков объекта. |
В следующей таблице перечислены объекты и счетчики, которые можно указать в файле конфигурации. Для определенных приложений доступны дополнительные счетчики, как описано в статье Сбор данных производительности приложений Linux в Log Analytics.
| Имени объекта | Имя счетчика |
|---|---|
| Logical Disk (Логический диск) | Процент свободных индексных дескрипторов |
| Logical Disk (Логический диск) | Процент свободного места |
| Logical Disk (Логический диск) | Процент используемых индексных дескрипторов |
| Logical Disk (Логический диск) | Процент используемого места |
| Logical Disk (Логический диск) | Скорость чтения с диска (байт/с) |
| Logical Disk (Логический диск) | Операций чтения с диска в секунду |
| Logical Disk (Логический диск) | Обращений к диску в секунду |
| Logical Disk (Логический диск) | Скорость записи на диск (байт/с) |
| Logical Disk (Логический диск) | Операций записи на диск в секунду |
| Logical Disk (Логический диск) | Свободно мегабайт |
| Logical Disk (Логический диск) | Скорость обмена с логическим диском (байт/с) |
| Память | Процент доступной памяти |
| Память | Процент доступной области подкачки |
| Память | Процент используемой памяти |
| Память | Процент используемой области подкачки |
| Память | Доступный объем памяти в МБ |
| Память | Доступный объем подкачки в МБ |
| Память | Операций чтения со страницы в секунду |
| Память | Операций записи на страницу в секунду |
| Память | Страниц в секунду |
| Память | Используемая области подкачки в МБ |
| Память | Используемый объем памяти в МБ |
| Сеть | Всего передано байт |
| Сеть | Всего получено байт |
| Сеть | Всего байт |
| Сеть | Всего передано пакетов |
| Сеть | Всего получено пакетов |
| Сеть | Всего ошибок 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 и свойства, описанные в приведенной ниже таблице.
| Свойство | Описание |
|---|---|
| Компьютер | Компьютер, с которого было получено событие. |
| CounterName | Имя счетчика производительности. |
| CounterPath | Полный путь к счетчику в формате \\<компьютер>\объект(экземпляр)\счетчик. |
| CounterValue | Числовое значение счетчика. |
| InstanceName | Имя экземпляра события. Если экземпляра нет, используется пустое значение. |
| ObjectName | Имя объекта производительности. |
| SourceSystem | Тип агента, из которого были получены данные. OpsManager — агент Windows, подключенный напрямую или через SCOM Linux — все агенты Linux AzureStorage – диагностика Azure |
| TimeGenerated | Дата и время выборки данных. |
Оценки размера
Сбор данных для одного счетчика с 10-секундным интервалом генерирует около 1 МБ данных в день на каждый экземпляр. Оценить требования конкретного счетчика к объему памяти можно по указанной ниже формуле.
1 МБ x (число счетчиков) x (число агентов) x (число экземпляров)
Запросы по журналам с записями о производительности
Ниже приведены различные примеры запросов по журналу, которые извлекают записи о производительности.
| Запрос | Описание |
|---|---|
| Perf | Все данные о производительности. |
| 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). |
Дальнейшие действия
- Сбор данных счетчиков производительности из приложений Linux, включая MySQL и сервер HTTP Apache.
- Узнайте больше о запросах журнала, которые можно применять для анализа данных, собираемых из источников данных и решений.
- Экспортируйте собранные данные в Power BI для дополнительной визуализации и анализа.

