diff --git a/src/filters/index.js b/src/filters/index.js
index 6bf1d41..e22aa04 100644
--- a/src/filters/index.js
+++ b/src/filters/index.js
@@ -110,6 +110,8 @@ export function resourceTypeMonitorFilter(value) {
MONITOR_HUAWEI_VM: '华为云ECS',
MONITOR_SMARTX_VM: 'SMARTX云主机',
MONITOR_SMARTX_HOST: 'SMARTX宿主机',
+ MONITOR_CLOUDTOWER_HOST: 'CloudTower宿主机',
+ MONITOR_CLOUDTOWER_VM: 'CloudTower云主机',
MONITOR_STORAGE_DELL_STORAGE: 'Dell存储设备',
MONITOR_STORAGE_DELL_DISK: 'Dell磁盘',
MONITOR_STORAGE_DELL_VOLUME: 'Dell存储卷',
diff --git a/src/router/module/monitor.js b/src/router/module/monitor.js
index 0a2d828..689bf92 100644
--- a/src/router/module/monitor.js
+++ b/src/router/module/monitor.js
@@ -18,6 +18,8 @@ const monitor = {
MonitorCloudHuawei: () => import('views/compute/cloud/huawei/index.vue'), // 华为云
MonitorCloudH3C: () => import('views/compute/cloud/h3c/index.vue'), // 华三云
MonitorCloudSmart: () => import('views/compute/cloud/smart/index.vue'), // smartx
+ MonitorCloudCloudTower: () => import('views/compute/cloud/cloudTower/index.vue'), // cloudtower
+
MonitorContainerDetail: () => import('views/compute/cloud/vcenter/platformMonitorDetail.vue'), // 告警详情
MonitorDetailList: () => import('views/compute/cloud/vcenter/platformMonitorDetail.vue'), // 告警详情
MonitorFocusList: () => import('views/storage/huawei/list.vue'), // 集中式存储列表
@@ -43,6 +45,9 @@ const monitor = {
mOneVmMonitor: () => import('views/compute/cloud/platformMonitor/manageone_vm.vue'),
SmartxServerMonitor: () => import('views/compute/cloud/platformMonitor/smartx_host.vue'),
SmartxVmMonitor: () => import('views/compute/cloud/platformMonitor/smartx_vm.vue'),
+ CloudTowerServerMonitor: () => import('views/compute/cloud/platformMonitor/cloudTower_host.vue'),
+ CloudTowerVmMonitor: () => import('views/compute/cloud/platformMonitor/cloudTower_vm.vue'),
+ VmMonitor: () => import('views/compute/cloud/platformMonitor/cloudTower_vm.vue'),
monitorDatabaseDetail: () => import('views/compute/cloud/vcenter/platformMonitorDetail.vue'),
huaweiStorageList: () => import('views/storage/huawei/list.vue'),
// 新添加的数据库监控组件
diff --git a/src/services/monitor/index.js b/src/services/monitor/index.js
index c0ab11e..7ffa8d6 100644
--- a/src/services/monitor/index.js
+++ b/src/services/monitor/index.js
@@ -314,3 +314,10 @@ export function getSmartHosts(params) {
params: params
})
}
+
+// 主机详情
+export function getHostDetail(id, vendorType) {
+ return request.get(`/cms/v1/hosts/${id}`, {
+ params: wrapperParams({ type: vendorType })
+ })
+}
diff --git a/src/views/alarm_manage/current/index.vue b/src/views/alarm_manage/current/index.vue
index 0d128fc..6105592 100644
--- a/src/views/alarm_manage/current/index.vue
+++ b/src/views/alarm_manage/current/index.vue
@@ -163,7 +163,7 @@ export default {
label: '所属平台',
value: 'vendorId',
data: [],
- service: { api: conditionCloudVendor, params: { condition: JSON.stringify({ condition: 'listByTypes', types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'KUBERNETES', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'SMARTX'] }) }, attr: 'data' }
+ service: { api: conditionCloudVendor, params: { condition: JSON.stringify({ condition: 'listByTypes', types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'KUBERNETES', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'SMARTX', 'CLOUDTOWER'] }) }, attr: 'data' }
},
{ type: 'Select', label: '告警级别', value: 'level', data: alarmLevelData, props: { value: 'value' } },
{ type: 'DateRange', value: 'gmtTrigger', label: '' },
diff --git a/src/views/alarm_manage/history/index.vue b/src/views/alarm_manage/history/index.vue
index a07ebfc..2216f34 100644
--- a/src/views/alarm_manage/history/index.vue
+++ b/src/views/alarm_manage/history/index.vue
@@ -147,7 +147,7 @@ export default {
label: '所属平台',
value: 'vendorId',
data: [],
- service: { api: conditionCloudVendor, params: { condition: JSON.stringify({ condition: 'listByTypes', types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'KUBERNETES', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'SMARTX'] }) }, attr: 'data' }
+ service: { api: conditionCloudVendor, params: { condition: JSON.stringify({ condition: 'listByTypes', types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'KUBERNETES', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'SMARTX', 'CLOUDTOWER'] }) }, attr: 'data' }
},
{ type: 'Select', label: '告警级别', value: 'level', data: alarmLevelData, props: { value: 'value' } },
{ type: 'DateRange', value: 'gmtTrigger', label: '' },
diff --git a/src/views/alarm_manage/monitorPolicy/index.vue b/src/views/alarm_manage/monitorPolicy/index.vue
index 6e8b658..ee8f6d9 100644
--- a/src/views/alarm_manage/monitorPolicy/index.vue
+++ b/src/views/alarm_manage/monitorPolicy/index.vue
@@ -434,7 +434,14 @@ export default {
this.type = ''
this.activeName = 'list'
this.detailData = Object.assign({}, row)
- if (this.detailData.resourceType == 'MONITOR_VCENTER_HOST' || this.detailData.resourceType == 'MONITOR_OPENSTACK_HOST' || this.detailData.resourceType == 'MONITOR_FUSIONCLOUD_HOST' || this.detailData.resourceType == 'MONITOR_H3C_HOST' || this.detailData.resourceType == 'MONITOR_SMARTX_HOST') {
+ if (
+ this.detailData.resourceType == 'MONITOR_VCENTER_HOST' ||
+ this.detailData.resourceType == 'MONITOR_OPENSTACK_HOST' ||
+ this.detailData.resourceType == 'MONITOR_FUSIONCLOUD_HOST' ||
+ this.detailData.resourceType == 'MONITOR_H3C_HOST' ||
+ this.detailData.resourceType == 'MONITOR_SMARTX_HOST' ||
+ this.detailData.resourceType == 'MONITOR_CLOUDTOWER_HOST'
+ ) {
this.type = 'HOST'
}
const arr = []
diff --git a/src/views/alarm_manage/monitorPolicy/vm.vue b/src/views/alarm_manage/monitorPolicy/vm.vue
index e19a8ed..f02ea8e 100644
--- a/src/views/alarm_manage/monitorPolicy/vm.vue
+++ b/src/views/alarm_manage/monitorPolicy/vm.vue
@@ -16,6 +16,9 @@
+
+
{{ record.managerIp ? '(内网)' + record.managerIp : '--' }}
+
@@ -109,7 +112,7 @@ export default {
{ type: 'Select', label: '所属平台', value: 'vendorId', data: [], service: { api: getCloudVendor, params: { simple: true, params: this.$tools.handleSearchParam({ type: getVendorType(this.resourceType) }) }, attr: 'data.rows' } },
{ type: 'Const', value: 'vendorType', initValue: getVendorType(this.resourceType) },
{ type: 'Const', value: 'id', initValue: this.resourceIds && this.status == 'detail' ? this.resourceIds.join(',') : '', sign: 'IN' },
- { type: 'Const', value: 'isTemplate', initValue: getVendorType(this.resourceType) == 'VMWARE' || getVendorType(this.resourceType) == 'H3C' || getVendorType(this.resourceType) == 'SMARTX' ? false : '' }
+ { type: 'Const', value: 'isTemplate', initValue: getVendorType(this.resourceType) == 'VMWARE' || getVendorType(this.resourceType) == 'H3C' || getVendorType(this.resourceType) == 'SMARTX' || getVendorType(this.resourceType) == 'CLOUDTOWER' ? false : '' }
],
list: [],
total: 0,
diff --git a/src/views/components/ResUsed.vue b/src/views/components/ResUsed.vue
index c533d75..fd36f81 100644
--- a/src/views/components/ResUsed.vue
+++ b/src/views/components/ResUsed.vue
@@ -46,7 +46,7 @@ export default defineComponent({
const data = await conditionCloudVendor({
condition: JSON.stringify({
condition: 'listByTypes',
- types: ['OPENSTACK', 'VMWARE', 'SMARTX']
+ types: ['OPENSTACK', 'VMWARE', 'SMARTX', 'CLOUDTOWER']
})
})
if (data.success) {
@@ -62,7 +62,13 @@ export default defineComponent({
async function getCountData(vendorId: number) {
const res = await getPortal({ vendorId, code: 'resUsed' })
if (res.success) {
- countData.value = res.data
+ const vendorType = unref(vendorList).find(({ id }) => id === vendorId).type
+ countData.value = res.data.filter((item) => {
+ if (['CLOUDTOWER', 'INSPURRAIL', 'FUSIONSPHERE'].includes(vendorType)) {
+ if (item.name === '磁盘') return false
+ }
+ return true
+ })
}
}
return {
diff --git a/src/views/components/ResUsedTop5.vue b/src/views/components/ResUsedTop5.vue
index 0a91b9f..7733dec 100644
--- a/src/views/components/ResUsedTop5.vue
+++ b/src/views/components/ResUsedTop5.vue
@@ -57,7 +57,7 @@ export default {
const data = await conditionCloudVendor({
condition: JSON.stringify({
condition: 'listByTypes',
- types: ['OPENSTACK', 'VMWARE', 'SMARTX']
+ types: ['OPENSTACK', 'VMWARE', 'SMARTX', 'CLOUDTOWER']
})
})
if (data.success) {
diff --git a/src/views/components/dashboard.vue b/src/views/components/dashboard.vue
index 4b5845e..2daa378 100644
--- a/src/views/components/dashboard.vue
+++ b/src/views/components/dashboard.vue
@@ -322,7 +322,12 @@ export default {
vendor: this.vendorType
}).then((data) => {
if (data.success) {
- this.resUsedData = data.data
+ this.resUsedData = data.data.filter((item) => {
+ if (['CLOUDTOWER', 'INSPURRAIL', 'FUSIONSPHERE'].includes(this.vendorType)) {
+ if (item.name === '磁盘') return false
+ }
+ return true
+ })
this.detailData.cpuTotal = data.data[0].total
this.detailData.memTotal = data.data[1].total
this.detailData.diskTotal = data.data[2].total
diff --git a/src/views/components/linkPolicy.vue b/src/views/components/linkPolicy.vue
index c3d810f..aac021f 100644
--- a/src/views/components/linkPolicy.vue
+++ b/src/views/components/linkPolicy.vue
@@ -368,7 +368,13 @@ export default {
},
getDetail(row) {
this.detailData = Object.assign({}, row)
- if (this.detailData.resourceType == 'MONITOR_VCENTER_HOST' || this.detailData.resourceType == 'MONITOR_OPENSTACK_HOST' || this.detailData.resourceType == 'MONITOR_FUSIONCLOUD_HOST' || this.detailData.resourceType == 'MONITOR_H3C_HOST') {
+ if (
+ this.detailData.resourceType == 'MONITOR_VCENTER_HOST' ||
+ this.detailData.resourceType == 'MONITOR_CLOUDTOWER_HOST' ||
+ this.detailData.resourceType == 'MONITOR_OPENSTACK_HOST' ||
+ this.detailData.resourceType == 'MONITOR_FUSIONCLOUD_HOST' ||
+ this.detailData.resourceType == 'MONITOR_H3C_HOST'
+ ) {
this.type = 'HOST'
}
const arr = []
diff --git a/src/views/compute/cloud/cloudTower/currentMonitor.vue b/src/views/compute/cloud/cloudTower/currentMonitor.vue
new file mode 100755
index 0000000..7208bce
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/currentMonitor.vue
@@ -0,0 +1,357 @@
+
+
+
+
+
+ 批量确认
+
+
+ 批量清除
+
+
+
+ {{val}}
+
+
+
+ {{alarmLevelFilter(val)}}
+
+
+
+
+
+ {{parseTarget(val)}}
+
+ {{val}}
+
+
+ {{resourceTypeMonitorFilter(record.type)}}({{record.osCategory}})
+
+
+ {{record.confirmed?'已确认':'未确认'}},{{record.solved?'已清除':'未清除'}}
+
+
+
+ 确认
+
+
+
+ 清除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{detailData.name}}
+
+
+ {{alarmLevelFilter(detailData.level)}}
+
+
+
+
+ {{parseTarget(detailData.targetName)}}
+
+
+ {{detailData.targetName}}
+
+
+ {{resourceTypeMonitorFilter(detailData.type)}}({{detailData.osCategory}})
+
+
+ {{detailData.status1}}
+ {{detailData.remark}}
+ {{detailData.gmtTrigger}}
+ {{detailData.duration}}
+ {{detailData.confirmer}}
+ {{detailData.gmtConfirm}}
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/historyMonitor.vue b/src/views/compute/cloud/cloudTower/historyMonitor.vue
new file mode 100755
index 0000000..0b28d48
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/historyMonitor.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+ 批量确认
+
+
+
+ {{val}}
+
+
+
+ {{alarmLevelFilter(val)}}
+
+
+
+
+ {{val}}
+
+
+ {{resourceTypeMonitorFilter(record.type)}}({{record.osCategory}})
+
+
+ {{record.confirmed?'已确认':'未确认'}},{{record.solved?'已清除':'未清除'}}
+
+
+
+ 确认
+
+
+
+
+
+ {{detailData.name}}
+
+
+ {{alarmLevelFilter(detailData.level)}}
+
+
+
+
+ {{detailData.targetName}}
+
+
+ {{resourceTypeMonitorFilter(detailData.type)}}({{detailData.osCategory}})
+
+
+ {{detailData.status1}}
+ {{detailData.remark}}
+ {{detailData.gmtTrigger}}
+ {{detailData.duration}}
+ {{detailData.confirmer}}
+ {{detailData.gmtConfirm}}
+ {{detailData.solver}}
+ {{detailData.gmtSolve}}
+ {{detailData.dealResult}}
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/host.vue b/src/views/compute/cloud/cloudTower/host.vue
new file mode 100755
index 0000000..cd2c4f5
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/host.vue
@@ -0,0 +1,257 @@
+
+
+
+
+ {{ val }}
+
+
+
+
+
+
+
+
+
+ {{ onOffStatus }}
+
+
+
+ {{ responseTime }}ms
+ 未知
+
+
+ 告警详情
+
+
+ 更多
+
+ 关联规则
+
+ {{ `${record.alarmEnable ? '屏蔽' : '开启'}告警` }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/hostDetail/cpu.vue b/src/views/compute/cloud/cloudTower/hostDetail/cpu.vue
new file mode 100755
index 0000000..4142ff8
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/hostDetail/cpu.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/hostDetail/mem.vue b/src/views/compute/cloud/cloudTower/hostDetail/mem.vue
new file mode 100755
index 0000000..099758c
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/hostDetail/mem.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/hostDetail/net.vue b/src/views/compute/cloud/cloudTower/hostDetail/net.vue
new file mode 100755
index 0000000..9517405
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/hostDetail/net.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/hostDetail/overview.vue b/src/views/compute/cloud/cloudTower/hostDetail/overview.vue
new file mode 100755
index 0000000..103a54c
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/hostDetail/overview.vue
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+ 使用情况
+
+
+
+ CPU利用率
+
+
+
+ 内存利用率
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/hostDetail/storage.vue b/src/views/compute/cloud/cloudTower/hostDetail/storage.vue
new file mode 100755
index 0000000..20cf0bc
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/hostDetail/storage.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/hostDetail/userDefind.vue b/src/views/compute/cloud/cloudTower/hostDetail/userDefind.vue
new file mode 100755
index 0000000..eaa8732
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/hostDetail/userDefind.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/host_detail.vue b/src/views/compute/cloud/cloudTower/host_detail.vue
new file mode 100755
index 0000000..5afbd1b
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/host_detail.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/index.vue b/src/views/compute/cloud/cloudTower/index.vue
new file mode 100755
index 0000000..dd4c689
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/index.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/platformMonitorDetail.vue b/src/views/compute/cloud/cloudTower/platformMonitorDetail.vue
new file mode 100755
index 0000000..8fb94f0
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/platformMonitorDetail.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 告警统计
+
+
+
+
+
+
+
+ 告警统计
+
+
+ {{ item.name }}
+ 自定义
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vm.vue b/src/views/compute/cloud/cloudTower/vm.vue
new file mode 100755
index 0000000..a892fe4
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vm.vue
@@ -0,0 +1,274 @@
+
+
+
+
+ {{ val }}
+
+
+ {{ record.managerIp }}
+
+
+ {{ vmStatusFilter(status) }}
+
+
+
+
+
+
+
+
+
+ {{ onOffStatus }}
+
+
+
+ {{ responseTime }}ms
+ 未知
+
+
+ 告警详情
+
+
+ 更多
+
+ 关联规则
+
+ {{ `${record.alarmEnable ? '屏蔽' : '开启'}告警` }}
+
+ 设置监控IP
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vmDetail/cpu.vue b/src/views/compute/cloud/cloudTower/vmDetail/cpu.vue
new file mode 100755
index 0000000..ca9d71f
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vmDetail/cpu.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vmDetail/mem.vue b/src/views/compute/cloud/cloudTower/vmDetail/mem.vue
new file mode 100755
index 0000000..708896e
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vmDetail/mem.vue
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vmDetail/net.vue b/src/views/compute/cloud/cloudTower/vmDetail/net.vue
new file mode 100755
index 0000000..69f2010
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vmDetail/net.vue
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vmDetail/overview.vue b/src/views/compute/cloud/cloudTower/vmDetail/overview.vue
new file mode 100755
index 0000000..cf8c223
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vmDetail/overview.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+ 使用情况
+
+
+
+ CPU利用率
+
+
+
+ 内存利用率
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vmDetail/storage.vue b/src/views/compute/cloud/cloudTower/vmDetail/storage.vue
new file mode 100755
index 0000000..04f8540
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vmDetail/storage.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/cloudTower/vm_detail.vue b/src/views/compute/cloud/cloudTower/vm_detail.vue
new file mode 100755
index 0000000..acd1a5b
--- /dev/null
+++ b/src/views/compute/cloud/cloudTower/vm_detail.vue
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/platform.vue b/src/views/compute/cloud/platform.vue
index 6974b11..17c13da 100644
--- a/src/views/compute/cloud/platform.vue
+++ b/src/views/compute/cloud/platform.vue
@@ -201,6 +201,39 @@
+
+
+
+
+
+
+
+ {{ platformStatusFilter(item.status) }}
+
+
+
+
+
+
宿主机
+
{{ item.hostCount }}
+
个
+
+
+
+
云主机
+
{{ item.instance }}
+
个
+
+
+
+
监控
+
{{ item.isAlarm ? '已开启' : '已关闭' }}
+
+
+
+
+
+
@@ -403,6 +436,16 @@ export default {
}
})
break
+ case 'CLOUDTOWER':
+ this.$router.push({
+ name: 'MonitorCloudCloudTower',
+ query: {
+ vendorId: item.id,
+ vendorName: item.name,
+ type: item.type
+ }
+ })
+ break
case 'SMARTX':
this.$router.push({
name: 'MonitorCloudSmart',
@@ -518,7 +561,7 @@ export default {
conditionCloudVendor({
condition: JSON.stringify({
condition: 'listByTypes',
- types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'KUBERNETES', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'SMARTX']
+ types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'KUBERNETES', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'SMARTX', 'CLOUDTOWER']
})
}).then((data) => {
if (data.success) {
diff --git a/src/views/compute/cloud/platformMonitor/cloudTower_host.vue b/src/views/compute/cloud/platformMonitor/cloudTower_host.vue
new file mode 100755
index 0000000..0cc2a71
--- /dev/null
+++ b/src/views/compute/cloud/platformMonitor/cloudTower_host.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
diff --git a/src/views/compute/cloud/platformMonitor/cloudTower_vm.vue b/src/views/compute/cloud/platformMonitor/cloudTower_vm.vue
new file mode 100755
index 0000000..6abe20e
--- /dev/null
+++ b/src/views/compute/cloud/platformMonitor/cloudTower_vm.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
diff --git a/src/views/compute/vm.vue b/src/views/compute/vm.vue
index 8f4e995..ccfcac1 100644
--- a/src/views/compute/vm.vue
+++ b/src/views/compute/vm.vue
@@ -54,8 +54,8 @@
-
- {{ record.managerIp }}
+
+
{{ record.managerIp ? '(内网)' + record.managerIp : '--' }}
(内网){{ item }}
@@ -128,6 +128,7 @@
+
@@ -144,6 +145,7 @@ import openstackDetail from './cloud/openstack/vm_detail.vue'
import vcenterDetail from './cloud/vcenter/vm_detail.vue'
import huaweiDetail from './cloud/huawei/detail.vue'
import smartDetail from './cloud/smart/vm_detail.vue'
+import cloudtowerDetail from './cloud/cloudTower/vm_detail.vue'
import { customColorMethod, handleStart } from 'views/data'
import addPolicy from 'views/components/linkPolicy'
import { downloadFile } from 'utils/index'
@@ -214,7 +216,8 @@ export default {
vcenterDetail,
huaweiDetail,
smartDetail,
- addPolicy
+ addPolicy,
+ cloudtowerDetail
},
data() {
return {
@@ -373,7 +376,7 @@ export default {
conditionCloudVendor({
condition: JSON.stringify({
condition: 'listByTypes',
- types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'QCLOUD', 'AZURE', 'TENCENT', 'AWS', 'SMARTX']
+ types: ['OPENSTACK', 'VMWARE', 'FUSIONCLOUD', 'HMC', 'MANAGEONE', 'TIANYI', 'HUAWEI', 'H3C', 'ALIYUN', 'QCLOUD', 'AZURE', 'TENCENT', 'AWS', 'SMARTX', 'CLOUDTOWER']
})
}).then((data) => {
if (data.success) {
diff --git a/src/views/data.js b/src/views/data.js
index 02a0423..ba8053b 100644
--- a/src/views/data.js
+++ b/src/views/data.js
@@ -19,6 +19,21 @@ export const catalogList = [
}
]
},
+ {
+ name: 'CloudTower',
+ value: 'MONITOR_CLOUDTOWER',
+ vendorType: 'CLOUDTOWER',
+ data: [
+ {
+ name: '宿主机',
+ value: 'MONITOR_CLOUDTOWER_HOST'
+ },
+ {
+ name: '云主机',
+ value: 'MONITOR_CLOUDTOWER_VM'
+ }
+ ]
+ },
{
name: 'OpenStack',
value: 'MONITOR_OPENSTACK',
@@ -334,6 +349,16 @@ export const resourceList = [
value: 'MONITOR_SMARTX_HOST',
type: 'SMARTX'
},
+ {
+ name: 'CloudTower宿主机',
+ value: 'MONITOR_CLOUDTOWER_HOST',
+ type: 'CLOUDTOWER'
+ },
+ {
+ name: 'CloudTower云主机',
+ value: 'MONITOR_CLOUDTOWER_VM',
+ type: 'CLOUDTOWER'
+ },
{
name: 'Dell存储设备',
value: 'MONITOR_STORAGE_DELL_STORAGE',
@@ -664,5 +689,5 @@ export function handleStart(self, data, resourceType) {
}
})
})
- .catch(() => {})
+ .catch(() => { })
}
diff --git a/vite.config.ts b/vite.config.ts
index 74b33df..03b8cd7 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -7,8 +7,8 @@ function resolve(dir) {
return path.join(__dirname, dir)
}
-const httpType = 'http://'
-const proxyUrl = '23.33.3.3:60006/' // 代理地址设置
+const httpType = 'https://'
+const proxyUrl = '23.33.3.28:60006/' // 代理地址设置
export default defineConfig({
resolve: {
diff --git a/vue.config.js b/vue.config.js
index 1a4bacf..809bb21 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -9,8 +9,8 @@ const CompressPlugin = require('compress-webpack-plugin')
function resolve(dir) {
return path.join(__dirname, dir)
}
-const httpType = 'http://'
-const proxyUrl = '23.33.3.3:60006/' // 代理地址设置
+const httpType = 'https://'
+const proxyUrl = '23.33.3.28:60006/' // 代理地址设置
// const proxyUrl = '10.20.51.92:7001' // 代理地址设置
// const proxyUrl = '10.10.2.60:50006/' 苏州代理地址
const publicPath = process.env.NODE_ENV === 'production' ? '/cms-web/' : '/'