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 @@
+
+