@@ -9,6 +9,7 @@ import { SummaryData } from '../components/Widgets/Summary';
9
9
import dateMath from '@elastic/datemath' ;
10
10
import _ from 'lodash' ;
11
11
import { DEFAULT_DATE_RANGE } from '../../../utils/constants' ;
12
+ import { severityOptions } from '../../Alerts/utils/constants' ;
12
13
13
14
export interface TimeUnit {
14
15
unit : string ;
@@ -202,6 +203,11 @@ export function getFindingsVisualizationSpec(
202
203
domain : defaultScaleDomain ,
203
204
}
204
205
) {
206
+ const severities = [ 'info' , 'low' , 'medium' , 'high' , 'critical' ] ;
207
+ const isGroupedByLogType = groupBy === 'logType' ;
208
+ const logTitle = 'Log type' ;
209
+ const severityTitle = 'Rule severity' ;
210
+ const title = isGroupedByLogType ? logTitle : severityTitle ;
205
211
return getVisualizationSpec ( 'Findings data overview' , visualizationData , [
206
212
addInteractiveLegends ( {
207
213
mark : {
@@ -214,16 +220,17 @@ export function getFindingsVisualizationSpec(
214
220
getTimeTooltip ( dateOpts ) ,
215
221
{
216
222
field : groupBy ,
217
- title : groupBy === 'logType' ? 'Log type' : 'Rule severity' ,
223
+ title : title ,
218
224
} ,
219
225
] ,
220
226
x : getXAxis ( dateOpts ) ,
221
227
y : getYAxis ( 'finding' , 'Count' ) ,
222
228
color : {
223
229
field : groupBy ,
224
- title : groupBy === 'logType' ? 'Log type' : 'Rule severity' ,
230
+ title : title ,
225
231
scale : {
226
- range : euiPaletteColorBlind ( ) ,
232
+ domain : isGroupedByLogType ? undefined : severities ,
233
+ range : groupBy === 'logType' ? euiPaletteColorBlind ( ) : euiPaletteForStatus ( 5 ) ,
227
234
} ,
228
235
} ,
229
236
} ,
@@ -240,6 +247,19 @@ export function getAlertsVisualizationSpec(
240
247
domain : defaultScaleDomain ,
241
248
}
242
249
) {
250
+ const isGroupedByStatus = groupBy === 'status' ;
251
+ let severities = severityOptions . map ( ( severity ) => severity . text ) ;
252
+ severities . reverse ( ) . pop ( ) ;
253
+
254
+ let states = [ 'ACTIVE' , 'ACKNOWLEDGED' ] ;
255
+ const statusColors = {
256
+ euiColorVis6 : '#B9A888' ,
257
+ euiColorVis9 : '#E7664C' ,
258
+ } ;
259
+
260
+ const statusTitle = 'Alert status' ;
261
+ const severityTitle = 'Alert severity' ;
262
+ const title = isGroupedByStatus ? statusTitle : severityTitle ;
243
263
return getVisualizationSpec ( 'Alerts data overview' , visualizationData , [
244
264
addInteractiveLegends ( {
245
265
mark : {
@@ -252,16 +272,17 @@ export function getAlertsVisualizationSpec(
252
272
getTimeTooltip ( dateOpts ) ,
253
273
{
254
274
field : groupBy ,
255
- title : groupBy === 'status' ? 'Alert status' : 'Alert severity' ,
275
+ title : title ,
256
276
} ,
257
277
] ,
258
278
x : getXAxis ( dateOpts ) ,
259
279
y : getYAxis ( 'alert' , 'Count' ) ,
260
280
color : {
261
281
field : groupBy ,
262
- title : groupBy === 'status' ? 'Alert status' : 'Alert severity' ,
282
+ title : title ,
263
283
scale : {
264
- range : groupBy === 'status' ? euiPaletteForStatus ( 5 ) : euiPaletteColorBlind ( ) ,
284
+ domain : isGroupedByStatus ? states : severities ,
285
+ range : isGroupedByStatus ? Object . values ( statusColors ) : euiPaletteForStatus ( 5 ) ,
265
286
} ,
266
287
} ,
267
288
} ,
0 commit comments