diff --git a/src/assets/css/components/views/detections/detection-list/row.scss b/src/assets/css/components/views/detections/detection-list/row.scss index baf0b4a1..4082d3d9 100644 --- a/src/assets/css/components/views/detections/detection-list/row.scss +++ b/src/assets/css/components/views/detections/detection-list/row.scss @@ -107,6 +107,9 @@ letter-spacing: 0; line-height: 14px; margin-left: 5px; + font-style: italic; + padding: 0 2px; + font-weight: 500; } .detection-event-severity-color-block { width: 5px; @@ -143,12 +146,12 @@ flex-wrap: wrap; .basic-info__item { - padding-right: 40px; + padding-right: 30px; display: flex; align-items: center; i { - padding-right: 6px; + padding-right: 5px; color: #8FA1BE; font-size: 14px; } diff --git a/src/assets/css/components/views/entityExplorer/entityList/row.scss b/src/assets/css/components/views/entityExplorer/entityList/row.scss index bfeac711..5031bff3 100644 --- a/src/assets/css/components/views/entityExplorer/entityList/row.scss +++ b/src/assets/css/components/views/entityExplorer/entityList/row.scss @@ -87,7 +87,7 @@ flex-wrap: wrap; .basic-info__item { - padding-right: 40px; + padding-right: 30px; .item__box { display: flex; @@ -105,7 +105,7 @@ } i { - padding-right: 6px; + padding-right: 5px; color: #8FA1BE; font-size: 12px; height: 13px; diff --git a/src/mock/entity.js b/src/mock/entity.js index 66e9818e..ad64e3df 100644 --- a/src/mock/entity.js +++ b/src/mock/entity.js @@ -66,6 +66,84 @@ if (openMock) { } } }) + Mock.mock(new RegExp(BASE_CONFIG.baseUrl + 'interface/entityDetail/securityEvent.*'), 'get', function (requestObj) { + const result = [ + { + eventId: '1298414830886991872', + securityType: 'command and control', + domain: null, + offenderIp: '213.186.33.5', + victimIp: '116.178.217.92', + offenderDomain: 'baidu.com', + victimDomain: 'mi.com', + eventSeverity: 'Critical', + malwareName: 'NetWire RC', + cryptominingPool: null, + startTime: 1683186600, + durationMs: 300000, + endTime: 1683186900 + }, + { + eventId: '1298414830886991873', + securityType: 'command and control', + domain: null, + offenderIp: '213.186.33.5', + victimIp: '116.178.217.93', + offenderDomain: 'baidu.com', + victimDomain: 'mi.com', + eventSeverity: 'Low', + malwareName: 'NetWire RC', + cryptominingPool: null, + startTime: 1683186600, + durationMs: 300000, + endTime: 1683186900 + } + ] + + return { + msg: 'success', + code: 200, + data: { + result: result + } + } + }) + Mock.mock(new RegExp(BASE_CONFIG.baseUrl + 'interface/entityDetail/performanceEvent.*'), 'get', function (requestObj) { + const result = [ + { + eventId: '1308078720390412288', + entityType: 'ip', + serverIp: '116.178.78.180', + domain: null, + appName: null, + eventSeverity: 'Critical', + eventType: 'Http error', + startTime: 1683250500, + durationMs: 900000, + endTime: 1683251400 + }, + { + eventId: '1308078720390412289', + entityType: 'ip', + serverIp: '116.178.78.180', + domain: null, + appName: null, + eventSeverity: 'Info', + eventType: 'Http error', + startTime: 1683250500, + durationMs: 900000, + endTime: 1683251400 + } + ] + + return { + msg: 'success', + code: 200, + data: { + result: result + } + } + }) } const getQuery = (url) => { diff --git a/src/utils/api.js b/src/utils/api.js index 2fdb695e..5dc2a637 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -234,7 +234,9 @@ export const api = { drilldownTrafficAnalysis: '/interface/dns/overview/drilldown/trafficAnalysis' }, entity: { - totalTrafficAnalysis: 'interface/entityDetail/totalTrafficAnalysis' + totalTrafficAnalysis: 'interface/entityDetail/totalTrafficAnalysis', + securityEvent: 'interface/entityDetail/securityEvent', + performanceEvent: 'interface/entityDetail/performanceEvent' } } diff --git a/src/utils/constants.js b/src/utils/constants.js index 2cab376b..96b56f67 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -165,6 +165,13 @@ export const eventSeverityColor = { low: '#FFD82D', info: '#D1BD50' } +export const eventSeverityColor1 = { + Critical: '#D84C4C', + High: '#FE845D', + Medium: '#FFB65A', + Low: '#FFD82D', + Info: '#D1BD50' +} export const securityType = { commandAndControl: 'common and control', payloadDelivery: 'payload delivery', diff --git a/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue b/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue new file mode 100644 index 00000000..24c7f2a1 --- /dev/null +++ b/src/views/charts2/charts/entityDetail/tabs/PerformanceEvent.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue b/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue new file mode 100644 index 00000000..05beee08 --- /dev/null +++ b/src/views/charts2/charts/entityDetail/tabs/SecurityEvent.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/views/detections/DetectionRow.vue b/src/views/detections/DetectionRow.vue index 769ab4d4..141729c2 100644 --- a/src/views/detections/DetectionRow.vue +++ b/src/views/detections/DetectionRow.vue @@ -61,7 +61,7 @@ {{dateFormatByAppearance(detection.startTime) || '-'}}
- + {{$t('overall.duration')}} :