У нас есть длительная производительная операция, которая длится 6 часов. Когда он запускался в последний раз, что-то произошло в течение 5 минут, когда его производительность резко упала и вызвало несколько тайм-аутов посреди ночи. Я подозреваю, что какой-то другой процесс вмешался и забил процессор или что-то подобное.
На этом сайте было предложено использовать ProcessMonitor для мониторинга ЦП. Однако кажется, что он захватывает трафик только во время работы, и это настольное приложение. Мой экземпляр сервера Windows запускает вас после 10 минут бездействия, контролируемого групповой политикой, и я не могу ее изменить, поэтому я не могу использовать настольные приложения для мониторинга.
Мне нужно отслеживать использование ЦП в течение 24 часов. Меня интересуют только имя процесса и использование процессора (%), чтобы я мог узнать, что, если что-то, пинает и разрушает вещи.
Поскольку вас уволили, мне действительно нужно что-то, что может работать как служба Windows.
Есть ли способ сделать это (используя ProcessMonitor или аналогичный инструмент - наверняка сервер Windows имеет что-то встроенное?) В качестве службы, поэтому мне не нужно входить в удаленный рабочий стол, или мне придется найти какой-то скрипт перемещения мыши и оставить компьютер включенным на всю ночь?
Редактировать:
Performance Monitor выглядит многообещающе. Трудно понять, как настроить его, чтобы получить то, что я хочу.
Я сделал собственный ЦП сборщика данных и идентификатор процесса:
Я хочу видеть использование ЦП каждым процессом в определенное время, как вы можете делать в диспетчере задач, за исключением графика и возможности просматривать моментальный снимок в любой момент в течение периода мониторинга.
Итак, я могу увидеть график за 24 часа, увидеть точку, где есть всплеск, щелкнуть по нему и посмотреть, какой процесс его вызывает.
Я даже не уверен, что моя вышеупомянутая конфигурация, если я получу ее, также сообщит мне имя процесса, в нем написано идентификатор процесса, если это окажется guid или что-то подобное, это, вероятно, тоже не поможет, особенно если процесс запускается и останавливается и все еще не работает, когда я иду расследовать.
Windows Server имеет встроенный инструмент для отображения данных о производительности в режиме реального времени или для сбора данных в журналах для последующего просмотра. Я думаю, что это будет именно то, что вы ищете.
Видеть Эта статья для получения базового руководства по использованию системного монитора для входа в Windows Server 2012 R2.
Видеть эта отличная статья обо всех доступных вам инструментах для проверки производительности в Windows (в основном интерактивные инструменты).
Воспользовавшись предложением Даниэля К. монитора производительности, я узнал, как это сделать.
Если счетчики производительности Windows не работают (действительно, у них есть некоторые досадные ограничения), вы можете использовать специальное решение для сбора и визуализации метрик. Это может показаться излишним, но, тем не менее, может стать ценным дополнением к вашему набору инструментов.
Я могу порекомендовать Prometheus как метрическое решение для использования в таком случае.
Далее следует самое сложное. Prometheus - это база данных - вы можете использовать веб-интерфейс для запроса необработанных данных, но графический интерфейс не очень удобен для пользователя, а язык запросов PromQL может быть неинтуитивным, если вы не привыкли работать с данными временных рядов. Рекомендую запрос irate(wmi_process_cpu_time_total[5m])
начать с. Это даст вам график использования ЦП в секундах процессорного времени в секунду реального времени для каждого процесса.
irate
предоставит вам данные между двумя последними точками данных. Если вы хотите получить сглаженные средние значения, используйте rate
который будет использовать 5m
как период усреднения (irate
будет использовать его как максимальный предел).
Prometheus - это мощная система показателей, для понимания которой нужно потрудиться. Однако в долгосрочной перспективе он может сослужить вам хорошую службу, сделав автоматизированные системы наблюдаемыми.
PS. Prometheus обычно развертывается с Графана в качестве графического интерфейса визуализации (заменив встроенный графический интерфейс Prometheus для barebones). Однако для быстрого устранения неполадок вам это не понадобится.
PPS. технологический экспортер и node_exporter являются Linux-эквивалентом экспортера WMI.