Выставить работоспособность системы Windows через HTTP, машиночитаемую?
Существуют ли какие-либо готовые инструменты, которые предоставят базовое состояние компьютера Windows (доступ к сети, загрузка системы и т. Д.) Через HTTP в машиночитаемой форме, к которой я смогу получить доступ с другого хоста?
2 ответа
Если под "готовыми" вы подразумеваете "родной для ОС", то нет *.
Обычными собственными методами сбора статистики производительности Windows являются Perfmon (TCP 445), WMI (TCP 445) или SNMP (UDP 161/162).
Вы заинтересованы в том, чтобы просто использовать HTTP для подключения к данным или на самом деле хотите запустить удобочитаемый веб-сервер на каждой целевой машине Windows, показывающей панель состояния работоспособности? Если вы используете серверы HP или Dell, они уже включены в системные агенты, предоставляемые поставщиком, хотя в основном они ориентированы на статистику оборудования, поэтому не очень подходят для гостей виртуальных машин.
- Я полагаю, вы можете рассчитывать, используя WinRM через HTTP(S) и собирая статистику perfmon напрямую...
Хорошо - не совсем то, что вы искали, но мне было скучно, и это тривиальный вопрос, который нужно решить. Вот небольшое приложение колбы:
#!/usr/bin/env python
import psutil
import flask
import json
from flask import Flask
app = Flask(__name__)
def getStats():
data = {}
data['cpu_percent'] = psutil.cpu_percent(interval=1, percpu=True)
data['memory_virt'] = psutil.virtual_memory()
data['disk_io'] = json.dumps(psutil.disk_io_counters())
data['disk_usage'] = psutil.disk_usage("C:") # double check this, I'm on osx
return json.dumps(data)
@app.route('/')
def main():
return getStats()
if __name__ == "__main__":
app.run(host='0.0.0.0')
Который возвращает JSON-представление вашего процессора, памяти, дискового ввода-вывода и использования диска:
{
"disk_usage":[
371011354624,
273490915328,
97258295296,
73.8
],
"memory_virt":[
17179869184,
5456252928,
68.2,
14814887936,
102600704,
5523148800,
5353652224,
3938086912
],
"disk_io":"[18150220, 10587005, 1112392108544, 834027424256, 9743448, 3448989]",
"cpu_percent":[
20.0,
1.0,
16.0,
0.0,
12.0,
0.0,
16.7,
1.0
]
}
Все, что вам нужно для запуска этой программы
(save the code above to remote-mon.py and open port 5000 in Windows Firewall)
pip install flask psutil
python remote-mon.py
Затем вы можете вызвать http://{{machine'sIP}}:5000/ для объекта json.