- Как настроить счетчики производительности для реального мониторинга системы — без воды и теории
- Зачем вообще настраивать счетчики? Не проще ли просто смотреть на CPU?
- Что именно смотреть: 5 ключевых счетчиков
- Как настроить сбор данных — шаг за шагом
- Что смотреть в разных сценариях
- Частые ошибки (и как их избежать)
- Как лучше сделать — практические рекомендации
- Что выбрать: Windows, Linux, облачные серверы?
- Итог: что делать прямо сейчас
Как настроить счетчики производительности для реального мониторинга системы — без воды и теории
Вы сидите перед монитором, смотрите на графики производительности, а система всё равно тормозит. Счетчики — в красном, но вы не понимаете, что именно ломается. CPU? Память? Диск? Сеть? Или всё сразу? Вы не один. Большинство админов настраивают счетчики производительности «по умолчанию», потом удивляются, что ничего не видно. Я покажу, как настроить их так, чтобы вы сразу видели проблему — без лишних данных, без перегрузки, без «всё подряд».
Зачем вообще настраивать счетчики? Не проще ли просто смотреть на CPU?
Да, CPU — это первое, что смотрят. Но если CPU на 30%, а система виснет — значит, проблема не в нём. Возможно, диск не справляется с запросами. Или память исчерпана, и система постоянно свопит. Или сеть перегружена. Или кто-то запустил скрипт, который читает 500 ГБ логов в секунду. Без правильных счетчиков вы просто гадаете.
Настоящая цель — не собрать данные. А поймать аномалию в момент её возникновения. Чтобы когда утром приходит звонок: «Сервер не отвечает!», вы не бегаете по панелям 15 минут, а сразу знаете: «О, это снова диск. Снова резервное копирование в рабочее время».
Что именно смотреть: 5 ключевых счетчиков
Не надо ставить 50 счетчиков. Вы не будете их читать. Вы будете их игнорировать. Вот те пять, которые реально работают в 90% случаев:
- Processor(_Total)\% Processor Time — нагрузка CPU. Если выше 80% постоянно — проблема есть. Но не всегда это причина.
- Memory\Available MBytes — свободная память. Если меньше 10% от общего объёма — это тревожный звоночек. Если падает до 500 МБ на сервере с 32 ГБ — уже критично.
- PhysicalDisk(_Total)\Avg. Disk Queue Length — очередь диска. Это ключевой счетчик. Если значение выше 2 на одном диске — диск не справляется. На RAID-массиве — выше 4 уже тревожно.
- Network Interface(*)\Bytes Total/sec — трафик. Смотрите не на пиковые значения, а на средние за час. Если в 9:00 резко вырос трафик в 3 раза — ищите, что запустилось.
- System\Processor Queue Length — очередь процессов, ожидающих CPU. Если больше 2–3, а CPU не нагружен — значит, что-то блокирует (часто — диск или сеть).
Эти пять — ваш базовый набор. Они покрывают 95% проблем на Windows-серверах. Не надо ничего больше, пока не появится конкретная проблема.
Как настроить сбор данных — шаг за шагом
Вот как сделать это правильно — без лишних кликов и ошибок:
- Откройте «Счетчики производительности» (perfmon.exe).
- Нажмите «Создать настройку данных производительности» → «Данные производительности».
- В «Добавить счетчики» введите по одному из пяти перечисленных выше. Не копируйте сразу все — добавляйте по одному, проверяйте, что они есть.
- Выберите «Сохранить в файл» (не в журнал, не в базу). Файл будет .blg — его можно потом открыть в perfmon, Excel или PowerShell.
- Установите интервал сбора: 15 секунд. Меньше — перегружает систему. Больше — пропустите кратковременные всплески.
- Установите длительность: 24 часа. Это минимум, чтобы увидеть пиковые нагрузки в рабочее время.
- Запустите. Не забудьте сохранить настройку как шаблон — назовите «Baseline_Server01».
Почему 15 секунд? Потому что если вы ставите 60 секунд, вы пропускаете кратковременные всплески. Например, резервное копирование может занимать 3 минуты — и если вы смотрите только на среднее за час, вы ничего не увидите. 15 секунд — это компромисс: достаточно часто, чтобы поймать проблему, но не перегружает систему.
Что смотреть в разных сценариях
Ситуации бывают разные. Вот как действовать в каждом случае:
| Ситуация | Что смотреть | Что делать |
|---|---|---|
| Сервер тормозит утром в 9:00 | Processor Time, Disk Queue Length, Memory | Проверьте, не запускается ли резервное копирование или обновление антивируса. Перенесите на нерабочее время. |
| Постоянно высокая нагрузка на диск | Avg. Disk Queue Length, Disk Reads/sec, Disk Writes/sec | Проверьте, нет ли утечки памяти (система свопит). Проверьте логи приложений — возможно, они пишут слишком много в логи. |
| CPU на 20%, но очередь процессов >5 | Processor Queue Length, Memory\Available MBytes | Скорее всего, диск не справляется. Или есть блокировки в приложении (например, SQL-запросы без индексов). |
| Сеть перегружена | Network Interface\Bytes Total/sec, TCP Connections | Проверьте, не гуляет ли кто-то по сети с брутфорсом. Или не запущен ли торрент-клиент на сервере. |
| Память падает, а CPU не нагружен | Memory\Available MBytes, Memory\Pages/sec | Утечка памяти в приложении. Перезапустите службу. Если проблема повторяется — ищите баг в ПО. |
Важно: не сравнивайте показатели разных серверов. У одного сервера 16 ГБ памяти, у другого — 128. Норма для одного — катастрофа для другого. Сравнивайте только самого себя — по дням, по часам, по неделям.
Частые ошибки (и как их избежать)
Вот что ломает мониторинг у 8 из 10 админов:
- Собирают всё подряд. 100 счетчиков — это не «безопасно». Это мусор. Вы не сможете найти нужное. Оставьте только пять ключевых.
- Собирают данные слишком часто. Каждую секунду — перегружает систему. Каждые 5 минут — пропускаете критичные всплески. 15 секунд — оптимум.
- Смотрят только на пиковые значения. Пик в 90% CPU — это плохо. Но если он длится 2 минуты, а потом падает — это не критично. Смотрите на длительность и частоту.
- Не сохраняют базовые показатели. Без «до» и «после» вы не знаете, что изменилось. Всегда сохраняйте шаблон на «нормальном» сервере — как эталон.
- Игнорируют диск. Большинство проблем — не в CPU, а в диске. Если вы не смотрите Avg. Disk Queue Length — вы слепы.
- Не настраивают алерты. Если вы смотрите на графики только вручную — вы уже опоздали. Настройте предупреждения: если Disk Queue Length > 3 в течение 5 минут — отправлять email.
Как лучше сделать — практические рекомендации
Вот что я делаю на своих серверах:
- На каждом сервере — один шаблон сбора: «Baseline_ServerName». Он всегда одинаковый — пять счетчиков, 15 секунд, 24 часа.
- Сохраняю файлы на сетевой диск. Никогда не храню на самом сервере — если он упадёт, данные пропадут.
- Проверяю данные раз в неделю. Не каждый день. Если ничего не изменилось — не надо копаться. Но если что-то изменилось — вы сразу это увидите.
- Когда появляется новая задача (например, запускаем новое приложение) — запускаю сбор данных на 24 часа до и после. Так я вижу, как оно влияет на систему.
- Настроил автоматическую отправку email, если Disk Queue Length > 3 в течение 10 минут. Это сработало 3 раза — и я устранил проблему до того, как пользователи пожаловались.
Не надо «оптимизировать мониторинг». Надо сделать его надёжным и простым. Если вы не смотрите на него неделю — значит, он не работает.
Что выбрать: Windows, Linux, облачные серверы?
Счетчики производительности — это Windows-термин. На Linux вы используете top, htop, iostat, vmstat, netstat. Но суть та же.
На облачных серверах (AWS, Azure, GCP) вы можете использовать встроенные метрики — CPU Utilization, Disk Queue Length, Memory Usage. Но там часто не показывают очередь диска — это критично. Если вы не видите очередь диска — используйте iostat -x 1 на Linux или установите агент (например, Prometheus + Node Exporter).
В любом случае — принцип один: смотрите на диск, память, процессор, сеть и очередь. Остальное — детали.
Итог: что делать прямо сейчас
Вот ваш план на сегодня:
- Откройте perfmon.exe на одном из серверов.
- Создайте новую настройку данных производительности.
- Добавьте только пять счетчиков:
— Processor(_Total)\% Processor Time
— Memory\Available MBytes
— PhysicalDisk(_Total)\Avg. Disk Queue Length
— Network Interface(*)\Bytes Total/sec
— System\Processor Queue Length - Сохраните в файл, интервал — 15 секунд, длительность — 24 часа.
- Запустите. Забудьте про это на сутки.
- Завтра утром откройте файл. Посмотрите: где были пики? Что было в 9:00? Что в 14:00?
- Настройте алерт на Avg. Disk Queue Length > 3.
Это всё. Никаких сложных формул, никаких «оптимизаций», никаких «инструментов для анализа». Только пять счетчиков, которые реально показывают, что происходит.
Если вы сделаете это — вы перестанете гадать. Вы будете знать. И когда система начнёт тормозить — вы скажете: «Диск. Проверьте резервное копирование». И всё. Не 15 минут поиска. Не паника. Просто знание.
Информация в статье носит ознакомительный характер. Настройка мониторинга и интерпретация показателей требуют понимания конкретной инфраструктуры. Перед внесением изменений в рабочую среду рекомендуется проконсультироваться с системным администратором или специалистом по эксплуатации ИТ-инфраструктуры.
