CN-376 fix: 实体列表显示活跃数据

This commit is contained in:
chenjinsong
2022-03-18 16:23:55 +08:00
parent 9fd50f57f1
commit 95cb044df3
9 changed files with 73 additions and 37 deletions

View File

@@ -49,11 +49,11 @@ const routes = [
{ {
path: '/chart', path: '/chart',
component: () => import('@/views/settings/Chart') component: () => import('@/views/settings/Chart')
}, }/* ,
{ {
path: '/temp', path: '/temp',
component: () => import('@/views/Temp') component: () => import('@/views/Temp')
} } */
] ]
} }
] ]

View File

@@ -34,8 +34,6 @@ export const api = {
entityNew: '/interface/entity/index/new', entityNew: '/interface/entity/index/new',
entityActive: '/interface/entity/index/active', entityActive: '/interface/entity/index/active',
entityTraffic: '/interface/entity/list/traffic', entityTraffic: '/interface/entity/list/traffic',
entityAlertNum: '/interface/entity/list/alertNum',
entitySecurityNum: '/interface/entity/list/detectionNum',
ipBytes: '/interface/entity/detail/ip/bytes', ipBytes: '/interface/entity/detail/ip/bytes',
domainBytes: '/interface/entity/detail/domain/bytes', domainBytes: '/interface/entity/detail/domain/bytes',
appBytes: '/interface/entity/detail/app/bytes', appBytes: '/interface/entity/detail/app/bytes',
@@ -45,7 +43,7 @@ export const api = {
entityAppDetailNetworkQuantity: '/interface/entity/detail/overview/app/networkQuantity', entityAppDetailNetworkQuantity: '/interface/entity/detail/overview/app/networkQuantity',
entityAppDetailLinkIn: '/interface/entity/detail/overview/app/linkIn', entityAppDetailLinkIn: '/interface/entity/detail/overview/app/linkIn',
entityAppDetailLinkOut: '/interface/entity/detail/overview/app/linkOut', entityAppDetailLinkOut: '/interface/entity/detail/overview/app/linkOut',
entityAppDetailAlert: '/interface/entity/detail/overview/app/performanceEvent', entityAppDetailPerformance: '/interface/entity/detail/overview/app/performanceEvent',
entityAppDetailSecurity: '/interface/entity/detail/overview/app/securityEvent', entityAppDetailSecurity: '/interface/entity/detail/overview/app/securityEvent',
entityAppRelatedServerDomain: '/interface/entity/detail/overview/app/relatedDomain', entityAppRelatedServerDomain: '/interface/entity/detail/overview/app/relatedDomain',
entityAppRelatedServerIp: '/interface/entity/detail/overview/app/relatedServerIp', entityAppRelatedServerIp: '/interface/entity/detail/overview/app/relatedServerIp',
@@ -56,7 +54,7 @@ export const api = {
entityDomainDetailNetworkQuantity: '/interface/entity/detail/overview/domain/networkQuantity', entityDomainDetailNetworkQuantity: '/interface/entity/detail/overview/domain/networkQuantity',
entityDomainDetailLinkIn: '/interface/entity/detail/overview/domain/linkIn', entityDomainDetailLinkIn: '/interface/entity/detail/overview/domain/linkIn',
entityDomainDetailLinkOut: '/interface/entity/detail/overview/domain/linkOut', entityDomainDetailLinkOut: '/interface/entity/detail/overview/domain/linkOut',
entityDomainDetailAlert: '/interface/entity/detail/overview/domain/performanceEvent', entityDomainDetailPerformance: '/interface/entity/detail/overview/domain/performanceEvent',
entityDomainDetailSecurity: '/interface/entity/detail/overview/domain/securityEvent', entityDomainDetailSecurity: '/interface/entity/detail/overview/domain/securityEvent',
entityDomainRelatedServerIp: '/interface/entity/detail/overview/domain/relatedServerIp', entityDomainRelatedServerIp: '/interface/entity/detail/overview/domain/relatedServerIp',
entityDomainRelatedServerApp: '/interface/entity/detail/overview/domain/relatedApp', entityDomainRelatedServerApp: '/interface/entity/detail/overview/domain/relatedApp',
@@ -69,7 +67,7 @@ export const api = {
entityIpDetailNetworkQuantity: '/interface/entity/detail/overview/ip/networkQuantity', entityIpDetailNetworkQuantity: '/interface/entity/detail/overview/ip/networkQuantity',
entityIpDetailLinkIn: '/interface/entity/detail/overview/ip/linkIn', entityIpDetailLinkIn: '/interface/entity/detail/overview/ip/linkIn',
entityIpDetailLinkOut: '/interface/entity/detail/overview/ip/linkOut', entityIpDetailLinkOut: '/interface/entity/detail/overview/ip/linkOut',
entityIpDetailAlert: '/interface/entity/detail/overview/ip/performanceEvent', entityIpDetailPerformance: '/interface/entity/detail/overview/ip/performanceEvent',
entityIpDetailSecurity: '/interface/entity/detail/overview/ip/securityEvent', entityIpDetailSecurity: '/interface/entity/detail/overview/ip/securityEvent',
entityIpRelatedServerDomain: '/interface/entity/detail/overview/ip/relatedDomain', entityIpRelatedServerDomain: '/interface/entity/detail/overview/ip/relatedDomain',
entityIpRelatedServerApp: '/interface/entity/detail/overview/ip/relatedApp', entityIpRelatedServerApp: '/interface/entity/detail/overview/ip/relatedApp',

View File

@@ -28,7 +28,7 @@
v-for="(c, i) in table.tableColumns" v-for="(c, i) in table.tableColumns"
show-overflow-tooltip show-overflow-tooltip
:key="i" :key="i"
:label="$t(chartTableOrderOptionsMapping[c])" :label="c"
:prop="c" :prop="c"
> >
<template #default="{ row }"> <template #default="{ row }">

View File

@@ -154,14 +154,14 @@
<div class="basic-info__item"> <div class="basic-info__item">
<i class="cn-icon cn-icon-entity-alert"></i> <i class="cn-icon cn-icon-entity-alert"></i>
<span>{{ $t('entities.recentAlert') }}&nbsp;:&nbsp;&nbsp;</span> <span>{{ $t('entities.recentAlert') }}&nbsp;:&nbsp;&nbsp;</span>
<span>{{ entityData.alertCount || '-' }}</span> <span>{{ entityData.performanceCount}}</span>
</div> </div>
<div class="basic-info__item"> <div class="basic-info__item">
<i class="cn-icon cn-icon-safe"></i> <i class="cn-icon cn-icon-safe"></i>
<span <span
>{{ $t('entities.recentSecurity') }}&nbsp;:&nbsp;&nbsp;</span >{{ $t('entities.recentSecurity') }}&nbsp;:&nbsp;&nbsp;</span
> >
<span>{{ entityData.securityCount || '-' }}</span> <span>{{ entityData.securityCount}}</span>
</div> </div>
</div> </div>
<div <div

View File

@@ -192,6 +192,7 @@ import _ from 'lodash'
import ChartSingleValue from '@/views/charts/charts/ChartSingleValue' import ChartSingleValue from '@/views/charts/charts/ChartSingleValue'
import { get } from '@/utils/http' import { get } from '@/utils/http'
import relatedServer from '@/mixins/relatedServer' import relatedServer from '@/mixins/relatedServer'
import { getSecond } from '@/utils/date-util'
export default { export default {
name: 'App', name: 'App',
@@ -209,7 +210,7 @@ export default {
networkQuantityUrl: api.entityAppDetailNetworkQuantity, networkQuantityUrl: api.entityAppDetailNetworkQuantity,
linkInUrl: api.entityAppDetailLinkIn, linkInUrl: api.entityAppDetailLinkIn,
linkOutUrl: api.entityAppDetailLinkOut, linkOutUrl: api.entityAppDetailLinkOut,
alertUrl: api.entityAppDetailAlert, performanceUrl: api.entityIpDetailPerformance,
securityUrl: api.entityAppDetailSecurity, securityUrl: api.entityAppDetailSecurity,
trafficUrlMap: api.entityAppDetailTrafficMap, trafficUrlMap: api.entityAppDetailTrafficMap,
relatedServerDomainUrl: api.entityAppRelatedServerDomain, relatedServerDomainUrl: api.entityAppRelatedServerDomain,
@@ -266,8 +267,8 @@ export default {
methods: { methods: {
getQueryParams () { getQueryParams () {
const queryParams = { const queryParams = {
startTime: parseInt(this.timeFilter.startTime / 1000), startTime: getSecond(this.timeFilter.startTime),
endTime: parseInt(this.timeFilter.endTime / 1000), endTime: getSecond(this.timeFilter.endTime),
appName: this.entity.appName appName: this.entity.appName
} }
return queryParams return queryParams

View File

@@ -196,6 +196,8 @@ import Chart from '@/views/charts/Chart'
import _ from 'lodash' import _ from 'lodash'
import { get } from '@/utils/http' import { get } from '@/utils/http'
import relatedServer from '@/mixins/relatedServer' import relatedServer from '@/mixins/relatedServer'
import { getSecond } from '@/utils/date-util'
export default { export default {
name: 'Domain', name: 'Domain',
components: { components: {
@@ -212,7 +214,7 @@ export default {
networkQuantityUrl: api.entityDomainDetailNetworkQuantity, networkQuantityUrl: api.entityDomainDetailNetworkQuantity,
linkInUrl: api.entityDomainDetailLinkIn, linkInUrl: api.entityDomainDetailLinkIn,
linkOutUrl: api.entityDomainDetailLinkOut, linkOutUrl: api.entityDomainDetailLinkOut,
alertUrl: api.entityDomainDetailAlert, performanceUrl: api.entityDomainDetailPerformance,
securityUrl: api.entityDomainDetailSecurity, securityUrl: api.entityDomainDetailSecurity,
trafficUrlMap: api.entityDomainDetailTrafficMap, trafficUrlMap: api.entityDomainDetailTrafficMap,
relatedServerIpUrl: api.entityDomainRelatedServerIp, relatedServerIpUrl: api.entityDomainRelatedServerIp,
@@ -270,8 +272,8 @@ export default {
methods: { methods: {
getQueryParams () { getQueryParams () {
const queryParams = { const queryParams = {
startTime: parseInt(this.timeFilter.startTime / 1000), startTime: getSecond(this.timeFilter.startTime),
endTime: parseInt(this.timeFilter.endTime / 1000), endTime: getSecond(this.timeFilter.endTime),
domain: this.entity.domainName domain: this.entity.domainName
} }
return queryParams return queryParams

View File

@@ -180,6 +180,7 @@ import Chart from '@/views/charts/Chart'
import _ from 'lodash' import _ from 'lodash'
import { get } from '@/utils/http' import { get } from '@/utils/http'
import relatedServer from '@/mixins/relatedServer' import relatedServer from '@/mixins/relatedServer'
import { getSecond } from '@/utils/date-util'
export default { export default {
name: 'Ip', name: 'Ip',
@@ -198,7 +199,7 @@ export default {
networkQuantityUrl: api.entityIpDetailNetworkQuantity, networkQuantityUrl: api.entityIpDetailNetworkQuantity,
linkInUrl: api.entityIpDetailLinkIn, linkInUrl: api.entityIpDetailLinkIn,
linkOutUrl: api.entityIpDetailLinkOut, linkOutUrl: api.entityIpDetailLinkOut,
alertUrl: api.entityIpDetailAlert, performanceUrl: api.entityIpDetailPerformance,
securityUrl: api.entityIpDetailSecurity, securityUrl: api.entityIpDetailSecurity,
relatedServerDomainUrl: api.entityIpRelatedServerDomain, relatedServerDomainUrl: api.entityIpRelatedServerDomain,
relatedServerAppUrl: api.entityIpRelatedServerApp, relatedServerAppUrl: api.entityIpRelatedServerApp,
@@ -274,8 +275,8 @@ export default {
methods: { methods: {
getQueryParams () { getQueryParams () {
const queryParams = { const queryParams = {
startTime: parseInt(this.timeFilter.startTime / 1000), startTime: getSecond(this.timeFilter.startTime),
endTime: parseInt(this.timeFilter.endTime / 1000), endTime: getSecond(this.timeFilter.endTime),
ip: this.entity.ipAddr ip: this.entity.ipAddr
} }
return queryParams return queryParams

View File

@@ -210,8 +210,8 @@ export default {
} }
}, },
queryEntityDetailAlert () { queryEntityDetailPerformance () {
get(this.alertUrl, this.getQueryParams()).then(response => { get(this.performanceUrl, this.getQueryParams()).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.entityData.alertNum = response.data.result.length this.entityData.alertNum = response.data.result.length
this.entityData.alertList = response.data.result this.entityData.alertList = response.data.result
@@ -230,8 +230,7 @@ export default {
queryEntityDetail () { queryEntityDetail () {
this.queryEntityDetailTraffic() this.queryEntityDetailTraffic()
// this.queryEntityDetailRelation() this.queryEntityDetailPerformance()
this.queryEntityDetailAlert()
this.queryEntityDetailSecurity() this.queryEntityDetailSecurity()
this.queryEntityDetailNetworkQuantity() this.queryEntityDetailNetworkQuantity()
this.queryEntityDetailLinkOutUrl() this.queryEntityDetailLinkOutUrl()

View File

@@ -4,6 +4,7 @@ import { api } from '@/utils/api'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { entityListLineOption } from '@/views/charts/charts/chart-options' import { entityListLineOption } from '@/views/charts/charts/chart-options'
import { riskLevelMapping, unitTypes } from '@/utils/constants' import { riskLevelMapping, unitTypes } from '@/utils/constants'
import { getSecond } from '@/utils/date-util'
export default { export default {
props: { props: {
@@ -149,27 +150,61 @@ export default {
}, },
querySecurity () { querySecurity () {
const queryParams = { const queryParams = {
startTime: parseInt(this.timeFilter.startTime / 1000), startTime: getSecond(this.timeFilter.startTime),
endTime: parseInt(this.timeFilter.endTime / 1000), endTime: getSecond(this.timeFilter.endTime)
entityType: this.entityData.entityType,
name: this.entityName
} }
get(api.entitySecurityNum, queryParams).then(response => { let url
switch (this.entityData.entityType) {
case ('ip'): {
url = api.entityIpDetailSecurity
queryParams.ip = this.entityName
break
}
case ('domain'): {
url = api.entityDomainDetailSecurity
queryParams.domain = this.entityName
break
}
case ('app'): {
url = api.entityAppDetailSecurity
queryParams.appName = this.entityName
break
}
default: break
}
get(url, queryParams).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.entityData.securityCount = response.data.result[0].count this.entityData.securityCount = response.data.result && response.data.result.length
} }
}) })
}, },
queryAlert () { queryPerformance () {
const queryParams = { const queryParams = {
startTime: parseInt(this.timeFilter.startTime / 1000), startTime: getSecond(this.timeFilter.startTime),
endTime: parseInt(this.timeFilter.endTime / 1000), endTime: getSecond(this.timeFilter.endTime)
entityType: this.entityData.entityType,
name: this.entityName
} }
get(api.entityAlertNum, queryParams).then(response => { let url
switch (this.entityData.entityType) {
case ('ip'): {
url = api.entityIpDetailPerformance
queryParams.ip = this.entityName
break
}
case ('domain'): {
url = api.entityDomainDetailPerformance
queryParams.domain = this.entityName
break
}
case ('app'): {
url = api.entityAppDetailPerformance
queryParams.appName = this.entityName
break
}
default: break
}
get(url, queryParams).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.entityData.alertCount = response.data.result[0].value this.entityData.performanceCount = response.data.result && response.data.result.length
} }
}) })
}, },
@@ -259,7 +294,7 @@ export default {
this.entityData = _.cloneDeep(this.entity) this.entityData = _.cloneDeep(this.entity)
setTimeout(() => { this.queryTraffic() }) setTimeout(() => { this.queryTraffic() })
setTimeout(() => { this.querySecurity() }) setTimeout(() => { this.querySecurity() })
setTimeout(() => { this.queryAlert() }) setTimeout(() => { this.queryPerformance() })
if (this.listMode === 'block') { if (this.listMode === 'block') {
setTimeout(() => { this.queryTrafficLine() }) setTimeout(() => { this.queryTrafficLine() })
} }