sysvitals_client 715 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/python
  2. import json
  3. import psutil
  4. import urllib2
  5. cpu = psutil.cpu_times()
  6. mem = psutil.virtual_memory()
  7. net = psutil.net_io_counters()
  8. datum = {
  9. 'cpu': cpu._asdict(),
  10. 'mem': {
  11. 'total': mem.total,
  12. 'used': mem.used,
  13. 'buffers': mem.buffers,
  14. 'cached': mem.cached,
  15. },
  16. 'net': net._asdict(),
  17. 'disk': {}
  18. }
  19. datum['cpu']['num_cpus'] = psutil.NUM_CPUS
  20. for partition in psutil.disk_partitions():
  21. usage = psutil.disk_usage(partition.mountpoint)
  22. datum['disk'][partition.mountpoint] = {
  23. 'total': usage.total,
  24. 'used': usage.used,
  25. }
  26. API_SERVER = 'http://localhost:8892'
  27. GROUP_ID = 1
  28. SERVER_ID = 1
  29. url = '%s/v1/%d/datum/%d' % (API_SERVER, GROUP_ID, SERVER_ID)
  30. urllib2.urlopen(url, json.dumps(datum))