constants.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  1. import { metricItems } from '@Compute/views/node-alert/constants'
  2. import i18n from '@/locales'
  3. const DISK_USED_PERCENT = {
  4. name: 'disk',
  5. label: i18n.t('compute.text_533'),
  6. seleteItem: 'used_percent',
  7. // as: i18n.t('compute.text_533'),
  8. groupBy: ['device', 'path', 'fstype'],
  9. fromItem: 'agent_disk',
  10. unit: '%',
  11. transfer: 1,
  12. metric: metricItems.used_percent.key,
  13. }
  14. const BASIC_MEM_USED_PERCENT = {
  15. name: 'mem',
  16. label: i18n.t('compute.text_518'),
  17. seleteItem: 'used_percent',
  18. fromItem: 'vm_mem',
  19. unit: '%',
  20. transfer: 1,
  21. metric: metricItems['vm_mem.used_percent'].key,
  22. }
  23. const BASIC_DISK_USED_PERCENT = {
  24. name: 'disk',
  25. label: i18n.t('compute.text_533'),
  26. seleteItem: 'used_percent',
  27. fromItem: 'vm_disk',
  28. unit: '%',
  29. transfer: 1,
  30. metric: metricItems['vm_disk.used_percent'].key,
  31. }
  32. const MEM_USED_PERCENT = {
  33. name: 'mem',
  34. label: i18n.t('compute.text_518'),
  35. seleteItem: 'used_percent',
  36. fromItem: 'agent_mem',
  37. unit: '%',
  38. transfer: 1,
  39. metric: metricItems['vm_mem.used_percent'].key,
  40. }
  41. const CPU_USED_PERCENT = {
  42. name: 'cpu',
  43. label: i18n.t('compute.text_523'),
  44. seleteItem: 'usage_active',
  45. fromItem: 'agent_cpu',
  46. unit: '%',
  47. transfer: 1,
  48. metric: metricItems['vm_cpu.usage_active'].key,
  49. }
  50. const DISK_IO_READ_RATES = {
  51. name: 'mem',
  52. label: i18n.t('compute.text_526'),
  53. seleteItem: 'read_bps',
  54. fromItem: 'agent_diskio',
  55. groupBy: ['name'],
  56. unit: 'bps',
  57. transfer: 1024,
  58. metric: metricItems['vm_diskio.read_bps'].key,
  59. }
  60. const DISK_IO_WRITE_RATES = {
  61. name: 'mem',
  62. label: i18n.t('compute.text_527'),
  63. seleteItem: 'write_bps',
  64. fromItem: 'agent_diskio',
  65. groupBy: ['name'],
  66. unit: 'bps',
  67. transfer: 1024,
  68. metric: metricItems['vm_diskio.write_bps'].key,
  69. }
  70. // const NET_SEND_BYTES = {
  71. // name: 'net',
  72. // label: i18n.t('compute.text_524'),
  73. // seleteItem: 'bytes_sent',
  74. // selectFunction: 'derivative',
  75. // fromItem: 'agent_net',
  76. // unit: 'bps',
  77. // transfer: 1024,
  78. // metric: metricItems['vm_mem.used_percent'].key,
  79. // }
  80. //
  81. // const NET_RECV_BYTES = {
  82. // name: 'net',
  83. // label: i18n.t('compute.text_525'),
  84. // seleteItem: 'bytes_recv',
  85. // selectFunction: 'derivative',
  86. // fromItem: 'agent_net',
  87. // unit: 'bps',
  88. // transfer: 1024,
  89. // metric: metricItems['vm_mem.used_percent'].key,
  90. // }
  91. const NET_RECV_BPS = {
  92. name: 'net',
  93. label: i18n.t('compute.text_524'),
  94. seleteItem: 'bps_recv',
  95. fromItem: 'agent_net',
  96. groupBy: ['interface'],
  97. unit: 'bps',
  98. transfer: 1024,
  99. }
  100. const NET_SENT_BPS = {
  101. name: 'net',
  102. label: i18n.t('compute.text_525'),
  103. seleteItem: 'bps_sent',
  104. fromItem: 'agent_net',
  105. groupBy: ['interface'],
  106. unit: 'bps',
  107. transfer: 1024,
  108. }
  109. const NET_RECV_PPS = {
  110. name: 'net',
  111. label: i18n.t('compute.netio.pps_recv'),
  112. seleteItem: 'pps_recv',
  113. fromItem: 'agent_net',
  114. groupBy: ['interface'],
  115. unit: 'pps',
  116. transfer: 1,
  117. }
  118. const NET_SENT_PPS = {
  119. name: 'net',
  120. label: i18n.t('compute.netio.pps_sent'),
  121. seleteItem: 'pps_sent',
  122. fromItem: 'agent_net',
  123. groupBy: ['interface'],
  124. unit: 'pps',
  125. transfer: 1,
  126. }
  127. const OUT_BANDWIDTH_USAGE = {
  128. name: 'netio',
  129. label: i18n.t('compute.out_bandwidth_usage'),
  130. seleteItem: 'out_bandwidth_usage',
  131. fromItem: 'vm_netio',
  132. unit: '%',
  133. transfer: 1,
  134. metric: metricItems['vm_netio.out_bandwidth_usage'].key,
  135. }
  136. const COND_AND = 'AND'
  137. // const COND_OR = 'OR'
  138. // const COND_NULL = ''
  139. function newWhereField (key, operator, val, cond) {
  140. return {
  141. key: key,
  142. operator: operator,
  143. value: val,
  144. condition: cond,
  145. }
  146. }
  147. export const AGENT_MONITOR = [
  148. CPU_USED_PERCENT,
  149. MEM_USED_PERCENT,
  150. DISK_USED_PERCENT,
  151. DISK_IO_READ_RATES,
  152. DISK_IO_WRITE_RATES,
  153. NET_RECV_BPS,
  154. NET_SENT_BPS,
  155. NET_RECV_PPS,
  156. NET_SENT_PPS,
  157. ]
  158. const TEMPERATURE_CPU_INPUT = {
  159. name: 'temp_input',
  160. label: i18n.t('compute.monitor.temperature.cpu'),
  161. seleteItem: 'temp_input',
  162. fromItem: 'agent_sensors',
  163. // groupBy: ['chip', 'feature'],
  164. groupBy: ['chip'],
  165. where: [
  166. newWhereField('chip', '=~', '/^coretemp-isa-/', COND_AND),
  167. ],
  168. unit: '℃',
  169. transfer: 1,
  170. metric: 'temp',
  171. }
  172. const TEMPERATURE_DISK_INPUT = {
  173. name: 'temp_c',
  174. label: i18n.t('compute.monitor.temperature.disk'),
  175. seleteItem: 'temp_c',
  176. fromItem: 'agent_smart_device',
  177. groupBy: ['device', 'device_type'],
  178. where: [
  179. newWhereField('temp_c', '>', '0', COND_AND),
  180. ],
  181. unit: '℃',
  182. transfer: 1,
  183. metric: 'temp',
  184. }
  185. const TEMPERATURE_PCI_INPUT = {
  186. name: 'temp_input',
  187. label: i18n.t('compute.monitor.temperature.pci'),
  188. seleteItem: 'temp_input',
  189. fromItem: 'agent_sensors',
  190. // groupBy: ['chip', 'feature'],
  191. groupBy: ['chip'],
  192. where: [
  193. newWhereField('chip', '=~', '/.+-pci-.+/', COND_AND),
  194. ],
  195. unit: '℃',
  196. transfer: 1,
  197. metric: 'temp',
  198. noDataHide: true,
  199. }
  200. const TEMPERATURE_VIRTUAL_INPUT = {
  201. name: 'temp_input',
  202. label: i18n.t('compute.monitor.temperature.other_device'),
  203. seleteItem: 'temp_input',
  204. fromItem: 'agent_sensors',
  205. // groupBy: ['chip', 'feature'],
  206. groupBy: ['chip'],
  207. where: [
  208. newWhereField('chip', '=~', '/.+-virtual-.+/', COND_AND),
  209. ],
  210. unit: '℃',
  211. transfer: 1,
  212. metric: 'temp',
  213. noDataHide: true,
  214. }
  215. export const AGENT_TEMPERATURE_MONITOR = [
  216. TEMPERATURE_CPU_INPUT,
  217. TEMPERATURE_DISK_INPUT,
  218. TEMPERATURE_PCI_INPUT,
  219. TEMPERATURE_VIRTUAL_INPUT,
  220. ]
  221. const NETIO_GROUP_BY_TAG = ['interface', 'host_interface', 'ip', 'mac']
  222. // OneCloud 虚拟机监控数据
  223. export const ONECLOUD_MONITOR = [
  224. {
  225. name: 'cpu',
  226. label: i18n.t('compute.text_523'),
  227. seleteItem: 'usage_active',
  228. fromItem: 'vm_cpu',
  229. unit: '%',
  230. transfer: 1,
  231. metric: metricItems['vm_cpu.usage_active'].key, // 报警指标
  232. },
  233. // {
  234. // name: 'mem',
  235. // label: i18n.t('compute.text_518'),
  236. // seleteItem: 'used_percent',
  237. // fromItem: 'vm_mem',
  238. // unit: '%',
  239. // transfer: 1,
  240. // metric: metricItems['vm_mem.used_percent'].key,
  241. // },
  242. // BASIC_DISK_USED_PERCENT,
  243. {
  244. name: 'netio',
  245. label: i18n.t('compute.text_524'),
  246. seleteItem: 'bps_recv',
  247. fromItem: 'vm_netio',
  248. unit: 'bps',
  249. transfer: 1024,
  250. metric: metricItems['vm_netio.bps_recv'].key,
  251. groupBy: NETIO_GROUP_BY_TAG,
  252. },
  253. {
  254. name: 'netio',
  255. label: i18n.t('compute.text_525'),
  256. seleteItem: 'bps_sent',
  257. fromItem: 'vm_netio',
  258. unit: 'bps',
  259. transfer: 1024,
  260. metric: metricItems['vm_netio.bps_sent'].key,
  261. groupBy: NETIO_GROUP_BY_TAG,
  262. },
  263. {
  264. name: 'netio',
  265. label: i18n.t('compute.netio.pps_sent'),
  266. seleteItem: 'pps_sent',
  267. fromItem: 'vm_netio',
  268. transfer: 1,
  269. unit: 'pps',
  270. metric: metricItems['vm_netio.pps_sent'].key,
  271. groupBy: NETIO_GROUP_BY_TAG,
  272. },
  273. {
  274. name: 'netio',
  275. label: i18n.t('compute.netio.pps_recv'),
  276. seleteItem: 'pps_recv',
  277. fromItem: 'vm_netio',
  278. transfer: 1,
  279. unit: 'pps',
  280. metric: metricItems['vm_netio.pps_recv'].key,
  281. groupBy: NETIO_GROUP_BY_TAG,
  282. },
  283. {
  284. name: 'diskio',
  285. label: i18n.t('compute.text_526'),
  286. seleteItem: 'read_bps',
  287. fromItem: 'vm_diskio',
  288. unit: 'bps',
  289. transfer: 1024,
  290. metric: metricItems['vm_diskio.read_bps'].key,
  291. },
  292. {
  293. name: 'diskio',
  294. label: i18n.t('compute.text_527'),
  295. seleteItem: 'write_bps',
  296. fromItem: 'vm_diskio',
  297. unit: 'bps',
  298. transfer: 1024,
  299. metric: metricItems['vm_diskio.write_bps'].key,
  300. },
  301. ]
  302. // vmware 虚拟机监控数据
  303. export const VMWARE_MONITOR = [
  304. {
  305. name: 'cpu',
  306. label: i18n.t('compute.text_523'),
  307. seleteItem: 'usage_active',
  308. fromItem: 'vm_cpu',
  309. unit: '%',
  310. transfer: 1,
  311. metric: metricItems['vm_cpu.usage_active'].key,
  312. },
  313. BASIC_MEM_USED_PERCENT,
  314. BASIC_DISK_USED_PERCENT,
  315. {
  316. name: 'netio',
  317. label: i18n.t('compute.text_524'),
  318. seleteItem: 'bps_recv',
  319. fromItem: 'vm_netio',
  320. unit: 'bps',
  321. transfer: 1024,
  322. metric: metricItems['vm_netio.bps_recv'].key,
  323. },
  324. {
  325. name: 'netio',
  326. label: i18n.t('compute.text_525'),
  327. seleteItem: 'bps_sent',
  328. fromItem: 'vm_netio',
  329. unit: 'bps',
  330. transfer: 1024,
  331. metric: metricItems['vm_netio.bps_sent'].key,
  332. },
  333. {
  334. name: 'diskio',
  335. label: i18n.t('compute.text_526'),
  336. seleteItem: 'read_bps',
  337. fromItem: 'vm_diskio',
  338. unit: 'bps',
  339. transfer: 1024,
  340. metric: metricItems['vm_diskio.read_bps'].key,
  341. },
  342. {
  343. name: 'diskio',
  344. label: i18n.t('compute.text_527'),
  345. seleteItem: 'write_bps',
  346. fromItem: 'vm_diskio',
  347. unit: 'bps',
  348. transfer: 1024,
  349. metric: metricItems['vm_diskio.write_bps'].key,
  350. },
  351. ]
  352. export const SANGFOR_MONITOR = [
  353. {
  354. name: 'cpu',
  355. label: i18n.t('compute.text_523'),
  356. seleteItem: 'usage_active',
  357. transfer: 1,
  358. fromItem: 'vm_cpu',
  359. unit: '%',
  360. metric: metricItems['vm_cpu.usage_active'].key,
  361. },
  362. BASIC_MEM_USED_PERCENT,
  363. BASIC_DISK_USED_PERCENT,
  364. {
  365. name: 'netio',
  366. label: i18n.t('compute.text_524'),
  367. seleteItem: 'bps_recv',
  368. fromItem: 'vm_netio',
  369. unit: 'bps',
  370. transfer: 1024,
  371. metric: metricItems['vm_netio.bps_recv'].key,
  372. },
  373. {
  374. name: 'netio',
  375. label: i18n.t('compute.text_525'),
  376. seleteItem: 'bps_sent',
  377. fromItem: 'vm_netio',
  378. unit: 'bps',
  379. transfer: 1024,
  380. metric: metricItems['vm_netio.bps_sent'].key,
  381. },
  382. {
  383. name: 'diskio',
  384. label: i18n.t('compute.text_526'),
  385. seleteItem: 'read_iops',
  386. fromItem: 'vm_diskio',
  387. unit: 'bps',
  388. transfer: 1024,
  389. metric: metricItems['vm_diskio.read_iops'].key,
  390. },
  391. {
  392. name: 'diskio',
  393. label: i18n.t('compute.text_527'),
  394. seleteItem: 'write_iops',
  395. fromItem: 'vm_diskio',
  396. unit: 'bps',
  397. transfer: 1024,
  398. metric: metricItems['vm_diskio.write_iops'].key,
  399. },
  400. ]
  401. // 除了 kvm、vmware 虚拟机监控数据
  402. export const OTHER_MONITOR = [
  403. {
  404. name: 'cpu',
  405. label: i18n.t('compute.text_523'),
  406. seleteItem: 'usage_active',
  407. transfer: 1,
  408. fromItem: 'vm_cpu',
  409. unit: '%',
  410. metric: metricItems['vm_cpu.usage_active'].key,
  411. },
  412. BASIC_MEM_USED_PERCENT,
  413. BASIC_DISK_USED_PERCENT,
  414. {
  415. name: 'netio',
  416. label: i18n.t('compute.text_524'),
  417. seleteItem: 'bps_recv',
  418. fromItem: 'vm_netio',
  419. unit: 'bps',
  420. transfer: 1024,
  421. metric: metricItems['vm_netio.bps_recv'].key,
  422. },
  423. {
  424. name: 'netio',
  425. label: i18n.t('compute.text_525'),
  426. seleteItem: 'bps_sent',
  427. fromItem: 'vm_netio',
  428. unit: 'bps',
  429. transfer: 1024,
  430. metric: metricItems['vm_netio.bps_sent'].key,
  431. },
  432. OUT_BANDWIDTH_USAGE,
  433. {
  434. name: 'diskio',
  435. label: i18n.t('compute.text_526'),
  436. seleteItem: 'read_bps',
  437. fromItem: 'vm_diskio',
  438. unit: 'bps',
  439. transfer: 1024,
  440. metric: metricItems['vm_diskio.read_bps'].key,
  441. },
  442. {
  443. name: 'diskio',
  444. label: i18n.t('compute.text_527'),
  445. seleteItem: 'write_bps',
  446. fromItem: 'vm_diskio',
  447. unit: 'bps',
  448. transfer: 1024,
  449. metric: metricItems['vm_diskio.write_bps'].key,
  450. },
  451. ]