Я хотел бы зарегистрировать свою пропускную способность в базе данных и узнать, когда мой сервер Windows 2003 используется больше всего. Я хочу наполнить базу данных пропускной способностью, полученной из последнего канала (допустим, 15 минут).
Я знаю что netstat -e
Команда возвращает пропускную способность, прошедшую с момента запуска интерфейса. Есть ли способ каким-то образом сбросить этот счетчик без отключения и повторного включения интерфейса?
Если нет, есть ли лучший способ, чем кэшировать последний образец и каждый раз вычислять разницу?
Я пишу сценарии на Python, если это связано.
При наличии некоторого ума встроенные мониторы производительности Windows (perfmon) могут это сделать.
По сути, если вы настроили мониторы производительности Windows на регистрацию байтов / сек на интерфейсе в базе данных SQL, вы можете построить график этого за период времени - любой период времени, который вы выберете, при условии, что тогда ведение журнала было запущено.
В основном это то, что делают большинство центральных систем мониторинга. Я могу вернуться за последние 12 месяцев и посмотреть, сколько пропускной способности входило / выходило наш сервер базы данных до бесполезно малых приращений.
Одна идея, которая приходит в голову, - использовать WMI для запроса сетевого интерфейса. Поскольку я не знаком с python, быстрый поиск в Интернете, похоже, указывает на наличие модуля Python WMI, который позволит вам напрямую запрашивать WMI из Python. Запрашивать WMI может быть сложно.
Здесь есть небольшой пример .vbs http://msdn.microsoft.com/en-us/library/windows/desktop/aa394595(v=vs.85).aspx это должно вас начать. Если вы можете понять, как это сделать в python, у вас должно быть все готово и у вас будет доступ к большему количеству информации, чем вы знаете, что делать. Я думаю, что пример, который вы ищете, будет озаглавлен «... получить информацию о сетевых адаптерах, не извлекая при этом информацию о таких вещах, как RAS и VPN-соединения?».