PushModel.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace PMS.BusinessModels.CloudMonitorManage
  7. {
  8. public class Ret<T>
  9. {
  10. public bool Success { get; set; }
  11. public T Data { get; set; }
  12. public string Msg { get; set; }
  13. /// <summary>
  14. /// 服务器id 唯一
  15. /// </summary>
  16. public string Id { get; set; }
  17. /// <summary>
  18. /// 当前时间
  19. /// </summary>
  20. public DateTime CurrentTime { get; set; }
  21. /// <summary>
  22. /// 拓展唯一键 用于服务器级别下还有数据的情况无法区分数据
  23. /// </summary>
  24. public string ExternalId { get; set; } = "";
  25. }
  26. /// <summary>
  27. /// 登录
  28. /// </summary>
  29. public class LoginInput
  30. {
  31. public string account { get; set; }
  32. public string pwd { get; set; }
  33. public string vcode { get; set; }
  34. }
  35. public enum InfoTypeEnum
  36. {
  37. 服务器硬件信息 = 1,
  38. 服务运行状态 = 2,
  39. 数据库连接数 = 3,
  40. 数据库死锁 = 4,
  41. 自定义预警 = 5,
  42. 磁盘可用天数 = 6,
  43. 自定义服务 = 7
  44. }
  45. public enum PushStateTypeEnum
  46. {
  47. 正常 = 1,
  48. 异常 = 2
  49. }
  50. public class BaseInfo
  51. {
  52. /// <summary>
  53. /// 服务器id 唯一
  54. /// </summary>
  55. public string Id { get; set; }
  56. /// <summary>
  57. /// 类型
  58. /// </summary>
  59. public virtual InfoTypeEnum Type { get; set; }
  60. /// <summary>
  61. /// 当前时间
  62. /// </summary>
  63. public DateTime CurrentTime { get; set; }
  64. }
  65. /// <summary>
  66. /// 服务器硬件信息
  67. /// </summary>
  68. public class ServerInfo : BaseInfo
  69. {
  70. public override InfoTypeEnum Type { get => InfoTypeEnum.服务器硬件信息; }
  71. /// <summary>
  72. /// 磁盘使用量
  73. /// </summary>
  74. public double DiskUsed { get; set; }
  75. /// <summary>
  76. /// 磁盘总量
  77. /// </summary>
  78. public double DiskTotal { get; set; }
  79. /// <summary>
  80. /// 内存使用量
  81. /// </summary>
  82. public double MemoryUsed { get; set; }
  83. /// <summary>
  84. /// 内存总量
  85. /// </summary>
  86. public double MemoryTotal { get; set; }
  87. /// <summary>
  88. /// cpu占用率
  89. /// </summary>
  90. public double CpuOccupancyRate { get; set; }
  91. }
  92. /// <summary>
  93. /// 数据库连接数
  94. /// </summary>
  95. public class DbConnectInfo : BaseInfo
  96. {
  97. public override InfoTypeEnum Type { get => InfoTypeEnum.数据库连接数; }
  98. public string DbId { get; set; }
  99. public string DbName { get; set; }
  100. public int ConnectUsed { get; set; }
  101. public int ConnectTotal { get; set; }
  102. }
  103. /// <summary>
  104. /// 数据库死锁
  105. /// </summary>
  106. public class DbLockedInfo : BaseInfo
  107. {
  108. public override InfoTypeEnum Type { get => InfoTypeEnum.数据库死锁; }
  109. public string DbId { get; set; }
  110. public string DbName { get; set; }
  111. public int Lockused { get; set; }
  112. }
  113. /// <summary>
  114. /// 自定义预警信息
  115. /// </summary>
  116. public class DbCustomAlertInfo : BaseInfo
  117. {
  118. public override InfoTypeEnum Type { get => InfoTypeEnum.自定义预警; }
  119. public string DbId { get; set; }
  120. public string DbName { get; set; }
  121. public string CustomId { get; set; }
  122. public string CustomName { get; set; }
  123. public string Value { get; set; }
  124. }
  125. /// <summary>
  126. /// 自定义服务信息
  127. /// </summary>
  128. public class CustomServiceInfo : BaseInfo
  129. {
  130. public override InfoTypeEnum Type { get => InfoTypeEnum.自定义服务; }
  131. public string CustomServiceId { get; set; }
  132. public string Value { get; set; }
  133. }
  134. /// <summary>
  135. /// 服务状态
  136. /// </summary>
  137. public class ServiceWorkStateInfo : BaseInfo
  138. {
  139. public override InfoTypeEnum Type { get => InfoTypeEnum.服务运行状态; }
  140. public List<ServiceWorkState> ServiceWorkStates { get; set; }
  141. }
  142. public class ServiceWorkState
  143. {
  144. public string ServiceID { get; set; }
  145. public string ServiceName { get; set; }
  146. /// <summary>
  147. /// 状态为passing为正常
  148. /// </summary>
  149. public string Status { get; set; }
  150. public string Output { get; set; }
  151. }
  152. /// <summary>
  153. /// 磁盘可用天数信息
  154. /// </summary>
  155. public class DiskAvailableInfo : BaseInfo
  156. {
  157. public override InfoTypeEnum Type { get => InfoTypeEnum.磁盘可用天数; }
  158. public double AvailableDay { get; set; }
  159. }
  160. }