Alert.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <node-alert-list
  3. :get-params="params"
  4. :data="data"
  5. :alertType="params.type"
  6. :metric-opts="metricOpts"
  7. :list-id="id" />
  8. </template>
  9. <script>
  10. import NodeAlertList from '@Compute/views/node-alert/components/List'
  11. import { metricItems } from '@Compute/views/node-alert/constants'
  12. import { HYPERVISORS_MAP } from '@/constants'
  13. export default {
  14. name: 'VmInstanceNodeAlertListSidepage',
  15. components: {
  16. NodeAlertList,
  17. },
  18. props: {
  19. id: String,
  20. data: {
  21. type: Object,
  22. required: true,
  23. },
  24. },
  25. data () {
  26. return {
  27. params: {
  28. details: true,
  29. type: 'guest',
  30. node_id: this.data.id,
  31. },
  32. }
  33. },
  34. computed: {
  35. hypervisor () {
  36. let hyper = ''
  37. if (this.data && this.data.hypervisor) {
  38. hyper = this.data.hypervisor
  39. }
  40. return hyper
  41. },
  42. hasMemMetric () {
  43. return this.hypervisor === HYPERVISORS_MAP.esxi.key
  44. },
  45. metricOpts () {
  46. const opts = [metricItems['vm_cpu.usage_active'], metricItems['vm_netio.bps_recv'], metricItems['vm_netio.bps_sent'], metricItems['vm_diskio.read_bps'], metricItems['vm_diskio.write_bps']]
  47. if (this.hasMemMetric) {
  48. opts.splice(1, 0, metricItems['vm_mem.used_percent'])
  49. }
  50. return opts
  51. },
  52. },
  53. }
  54. </script>