CN-376 fix: 实体列表显示活跃数据
This commit is contained in:
@@ -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')
|
||||||
}
|
} */
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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 }">
|
||||||
|
|||||||
@@ -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') }} : </span>
|
<span>{{ $t('entities.recentAlert') }} : </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') }} : </span
|
>{{ $t('entities.recentSecurity') }} : </span
|
||||||
>
|
>
|
||||||
<span>{{ entityData.securityCount || '-' }}</span>
|
<span>{{ entityData.securityCount}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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() })
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user