Назад | Перейти на главную страницу

Мониторинг сети и дисковых ресурсов Windows Server Core

У меня есть сервер с установленным Windows Server Core, и я пытаюсь достичь паритета возможностей устранения неполадок с помощью resmon, который доступен только в установке с графическим интерфейсом Windows Server. Я уверен, что смогу определить узкое место в ресурсах в Core, но отсутствие доступа к resmon ограничивает мою способность определять источник узкого места.

Есть ли какой-либо метод PowerShell, cmd или удаленного графического интерфейса для определения использования дисковых ресурсов процессом и файлом? То же самое касается сети и определения того, какую пропускную способность использует каждое соединение и процесс.

В Linux есть программы командной строки, такие как iftop и iotop, которые могут представлять эти данные в терминале ssh; что-то подобное на Server Core могло бы работать.

Ниже приведены изображения интересующей меня информации. Было бы здорово получить эту информацию из Windows Server Core в режиме реального времени или близко к нему.

Удаленный perfmon - один из возможных вариантов. Поскольку вы цитируете цели, основанные как на графическом интерфейсе, так и на интерфейсе командной строки, я не уверен, что вас интересует больше всего. Существует множество классов WMI для счетчиков производительности (список с gwmi -list Win32_PerfFormattedData* |select name), который может показать это в интерфейсе командной строки или для использования со скриптами. Вот быстрая функция, которая покажет вам основных потребителей, пока вы не нажмете / CTRL-C.

function topIO {
    while ($true) {
        gwmi Win32_PerfFormattedData_PerfProc_Process | select name,idprocess,IODataBytesPersec | sort -desc IODataBytesPersec | select -first 5
        start-sleep 1
        ""
    }
}

Вывод

name      idprocess IODataBytesPersec
----      --------- -----------------
csrss          8172                45
_Total            0                45
svchost#3      4480                 0
svchost#4      1744                 0
svchost#1      9576                 0

Resili...      5276               281
_Total            0               281
svchost#2      1792                 0
svchost#3      4480                 0
svchost        1480                 0

svchost#2      1792                 0
svchost#3      4480                 0
svchost#1      9576                 0
Squeez...      7436                 0
svchost        1480                 0

Что касается использования сети для каждого процесса и подключения, я обнаружил, что графический интерфейс TCPView работает в Windows Server Core. TCPView можно загрузить с https://technet.microsoft.com/en-us/sysinternals/bb897437

После загрузки скопируйте tcpview.exe на сервер предпочтительным способом (c $ admin share, командлет Copy-Item и т. Д.). Откройте удаленный рабочий стол с сервером и запустите tcpview.exe

К сожалению, tcpvcon не предоставляет данные об использовании в командной строке.

У вас должна быть возможность удаленно подключить Performance Monitor - ссылка на сайт

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