__init__.py 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. from fastapi import APIRouter, Request, Depends
  4. from database import get_db
  5. from sqlalchemy.orm import Session
  6. from models import *
  7. import json
  8. router = APIRouter()
  9. @router.post('/monitoring')
  10. async def mine(request: Request,db: Session = Depends(get_db)):
  11. data = await request.body()
  12. body = data.decode(encoding='utf-8')
  13. if len(body) > 0:
  14. body = json.loads(body)
  15. if "system_ip" in body:system_ip = body['system_ip']
  16. else:system_ip='未知ip'
  17. if "system_uptime" in body:system_uptime = body['system_uptime']
  18. else:system_uptime=0
  19. if "cpu_cores" in body:cpu_cores = body['cpu_cores']
  20. else:cpu_cores=0
  21. if "cpu_count" in body:cpu_count = body['cpu_count']
  22. else:cpu_count=0
  23. if "cpu_freq" in body:cpu_freq = body['cpu_freq']
  24. else:cpu_freq=0.0
  25. if "cpu_usage" in body:cpu_usage = body['cpu_usage']
  26. else:cpu_usage=0.0
  27. if "memory_total" in body:memory_total = body['memory_total']
  28. else:memory_total=0
  29. if "memory_usage" in body:memory_usage = body['memory_usage']
  30. else:memory_usage=0.0
  31. if "disk1_name" in body:disk1_name = body['disk1_name']
  32. else:disk1_name='未配置磁盘'
  33. if "disk1_total" in body:disk1_total = body['disk1_total']
  34. else:disk1_total=0
  35. if "disk1_usage" in body:disk1_usage = body['disk1_usage']
  36. else:disk1_usage=0.0
  37. if "disk1_read_speed" in body:disk1_read_speed = body['disk1_read_speed']
  38. else:disk1_read_speed=0
  39. if "disk1_write_speed" in body:disk1_write_speed = body['disk1_write_speed']
  40. else:disk1_write_speed=0
  41. if "disk2_name" in body:disk2_name = body['disk2_name']
  42. else:disk2_name='未配置磁盘'
  43. if "disk2_total" in body:disk2_total = body['disk2_total']
  44. else:disk2_total=0
  45. if "disk2_usage" in body:disk2_usage = body['disk2_usage']
  46. else:disk2_usage=0.0
  47. if "disk2_read_speed" in body:disk2_read_speed = body['disk2_read_speed']
  48. else:disk2_read_speed=0
  49. if "disk2_write_speed" in body:disk2_write_speed = body['disk2_write_speed']
  50. else:disk2_write_speed=0
  51. monitor = monitorEntity(
  52. system_ip=system_ip,
  53. system_uptime = system_uptime,
  54. cpu_cores = cpu_cores,
  55. cpu_count = cpu_count,
  56. cpu_freq = cpu_freq,
  57. cpu_usage = cpu_usage,
  58. memory_total = memory_total,
  59. memory_usage = memory_usage,
  60. disk1_name = disk1_name,
  61. disk1_total = disk1_total,
  62. disk1_usage = disk1_usage,
  63. disk1_read_speed = disk1_read_speed,
  64. disk1_write_speed = disk1_write_speed,
  65. disk2_name = disk2_name,
  66. disk2_total = disk2_total,
  67. disk2_usage = disk2_usage,
  68. disk2_read_speed = disk2_read_speed,
  69. disk2_write_speed = disk2_write_speed
  70. )
  71. db.add(monitor)
  72. db.commit()
  73. else:
  74. return None
  75. return {
  76. 'msg': '提交成功',
  77. 'code': 200
  78. }