Skip to content

Alert Dashboard Changes

The changes made to the dashboard are listed below.

The Clear Alerts(BULK CLEAR) action has been updated to utilize SaaS reports to get alerts when the Clear Alerts action is triggered. The purpose of this modification is to eliminate rda_saas_reports dependency on AP.

Important

The rda_saas_reports dependence from AP will be removed in the upcoming version, thus all custom dashboards made during customer setup will need to be migrated.

1. oia-alert-os

Update alerts tabular report definition

Replace widgets definition

Dashboard_sections -> Section with "title": "alerts" -> widgets

"widgets": [
   {
       "extends":[
               "self:alerts_tabular",
               "self:actions_lib.alerts_tabular_actions"
       ],
        "extend_vars": {
           "alerts_tabular_extra_filter": "project_id in {{PROJECT_ID}} and a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'",
           "clear_alerts_extra_filter": "a_status is not 'CLEARED' and project_id in {{PROJECT_ID}} and a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'"
       },
       "widget_id": "94a3fc11"
   }
]

library -> widgets -> alerts_tabular

  • "extra_filter": "$alerts_tabular_extra_filter"

  • Remove actions from tabular definition

Added below section under library:

"actions_lib": {
  "alerts_tabular_actions": {
    "actions": [
      {
        "title": "View Topology",
        "type": "POPUP_CHART",
        "chart-type": "GRAPH",
        "permission-resource": "update",
        "permission": "oia:incident:view",
        "selectionType": "SINGLE",
        "identifier": "saas-service-action:stack-view-topology",
        "contextParamList": {
          "contextParams": [
            {
              "paramKey": "a_incident_id",
              "paramId": "incident_id"
            }
          ]
        },
        "api-endpoint": {
          "service-name": "saas-reports",
          "methodName": "getReport",
          "stringified-params": false,
          "parse-output": false,
          "params": [
            {
              "reportId": "rda.saas.stack.view.topo",
              "oia_details": {
                "oia_stream": "oia-alerts-stream",
                "query": "timestamp later than -1 months",
                "oia_id_attribute": "a_id",
                "node_id_attribute": "a_en_node_id",
                "stack_name_attribute": "a_en_stack_name",
                "alert_source": {
                  "stream": "oia-alerts-stream",
                  "group_by": [
                    "a_en_node_id",
                    "a_severity",
                    "a_status"
                  ],
                  "incident_id_attr": "a_incident_id",
                  "context_incident_id_attr": "a_incident_id",
                  "extra_filter": "a_source_systemname is not 'Alert Group' ",
                  "ts_column": "timestamp",
                  "duration_hours": 1440,
                  "agg": "value_count",
                  "column": "count_",
                  "type": "int"
                }
              },
              "stack_type": "OIA",
              "register_search_endpoints": true,
              "auto_group": false
            }
          ]
        },
        "actionCondition": {
          "actionControl": "SHOW_IF",
          "conditionalField": [
            {
              "conditionType": "IS_NOT_NULL",
              "fieldId": "a_en_stack_name"
            },
            {
              "conditionType": "IS_NOT_NULL",
              "fieldId": "a_en_node_id"
            },
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "Not Available",
              "fieldId": "a_incident_id"
            }
          ]
        }
      },
      {
        "permission": "oia:alert:clear",
        "title": "Clear Alerts",
        "type": "POPUP_FORM",
        "selectionType": "NONE",
        "identifier": "alert-processor:cfx.alert.clear.batch",
        "api-endpoint": {
          "service-name": "saas-reports",
          "methodName": "getForm",
          "stringified-params": true,
          "parse-output": false,
          "params": [
            {
              "formId": "rda.saas.dynamic.form",
              "formDefinition": {
                "id": "rda.saas.dynamic.form",
                "refreshRequired": true,
                "formFieldList": [
                  {
                    "help": "Clear Alerts",
                    "dataType": "string",
                    "controlType": "SELECTOR_TABLE",
                    "controlPropertyList": [
                      {
                        "attribute": "column-key",
                        "value": "a_id"
                      },
                      {
                        "attribute": "selection",
                        "value": "MULTIPLE"
                      }
                    ],
                    "widget": {
                      "extends": "self:alerts_tabular",
                      "extend_vars": {
                        "alerts_tabular_extra_filter": "$clear_alerts_extra_filter"
                      }
                    },
                    "required": true,
                    "editable": true,
                    "label": "Alerts",
                    "hidden": false,
                    "fieldId": "selectedAlerts"
                  },
                  {
                    "fieldId": "notes",
                    "label": "Notes",
                    "help": "Notes",
                    "dataType": "string",
                    "controlType": "TEXT_AREA",
                    "hidden": false,
                    "editable": true,
                    "required": true
                  }
                ]
              },
              "formActionList": {
                "formActions": [
                  {
                    "identifier": "Submit",
                    "actionLabel": "Clear"
                  }
                ]
              },
              "actions": [
                {
                  "type": "UPDATE_PSTREAM",
                  "pstreamName": "alert_clear_jobs",
                  "collapse_json": true,
                  "collapsed_json_column": "payload"
                }
              ]
            }
          ]
        }
      },
      {
        "permission": "oia:alert:clear",
        "identifier": "alert-processor:cfx.alert.clear",
        "selectionType": "SINGLE",
        "title": "Clear Alert",
        "type": "POPUP_FORM",
        "api-endpoint": {
          "methodName": "invokeAppApi:getFormById",
          "namespace": "io.cfx.dimensions.app",
          "params": [
            {
              "context": {},
              "form_id": "cfx.alert.clear"
            }
          ],
          "parse-output": false,
          "service-name": "alert-processor",
          "stringified-params": true
        },
        "actionCondition": {
          "actionControl": "SHOW_IF",
          "conditionalField": [
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "CLEARED",
              "fieldId": "a_status"
            }
          ]
        }
      },
      {
        "permission": "oia:alert:view",
        "title": "Alert Details",
        "type": "GO_TO_APP_STATE",
        "stateName": "app.featureapp",
        "appName": "user-dashboard/alert-details-app",
        "selectionType": "SINGLE",
        "drillDownContext": "a_incident_id",
        "destinationContext": "incidentid",
        "displayLabelColumnId": "a_incident_id",
        "contextParamList": {
          "contextParams": [
            {
              "paramKey": "project_id",
              "paramId": "projectId"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incidentid"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incident_id"
            },
            {
              "paramKey": "project_id",
              "paramId": "roomid"
            },
            {
              "paramKey": "project_id",
              "paramId": "projectid"
            },
            {
              "paramKey": "a_event_id",
              "paramId": "eventid"
            },
            {
              "paramKey": "a_source_event_id",
              "paramId": "sourceeventid"
            },
            {
              "paramKey": "a_alert_key",
              "paramId": "eventkey"
            },
            {
              "paramKey": "a_id",
              "paramId": "processedeventid"
            }
          ]
        }
      },
      {
        "permission": "oia:alert:addToIncident",
        "title": "Add To Incident",
        "type": "POPUP_FORM",
        "templateUrl": "cfx-oia/source-alert-report",
        "icon": "mdi mdi-plus",
        "selectionType": "SINGLE",
        "identifier": "alert-processor:cfx.alert.add.to.incident",
        "contextParamList": {
          "contextParams": [
            {
              "paramKey": "a_incident_id",
              "paramId": "incidentid"
            },
            {
              "paramKey": "project_id",
              "paramId": "projectId"
            }
          ]
        },
        "api-endpoint": {
          "service-name": "alert-processor",
          "namespace": "io.cfx.dimensions.app",
          "methodName": "invokeAppApi:getFormById",
          "stringified-params": true,
          "parse-output": false,
          "useReportContext": true,
          "params": [
            {
              "form_id": "cfx.alert.form.add.to.incident",
              "context": {},
              "is_pstream_dashboard": true
            }
          ]
        },
        "actionCondition": {
          "actionControl": "SHOW_IF",
          "conditionalField": [
            {
              "conditionType": "EQUAL",
              "conditionValue": "CORRELATED",
              "fieldId": "a_correlation_status"
            }
          ]
        }
      },
      {
        "permission": "oia:alert:view",
        "title": "View Incident",
        "type": "GO_TO_APP_STATE",
        "stateName": "app.featureapp",
        "appName": "user-dashboard/incident-details-app",
        "selectionType": "SINGLE",
        "drillDownLinkField": "a_incident_id",
        "drillDownContext": "a_incident_id",
        "destinationContext": "incidentid",
        "displayLabelColumnId": "a_incident_id",
        "contextParamList": {
          "contextParams": [
            {
              "paramKey": "project_id",
              "paramId": "projectId"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incidentid"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incident_id"
            },
            {
              "paramKey": "project_id",
              "paramId": "roomid"
            },
            {
              "paramKey": "project_id",
              "paramId": "projectid"
            }
          ]
        },
        "actionCondition": {
          "actionControl": "SHOW_IF",
          "conditionalField": [
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "SUPPRESSED",
              "fieldId": "a_correlation_status"
            },
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "Not Available",
              "fieldId": "a_incident_id"
            }
          ]
        }
      }
    ]
  }
}

2. oia-alert-groups-os

Update alerts tabular report definition:

Replace widgets definition:

Dashboard_sections -> Section with "title": "Alert Groups" -> widgets

"widgets": [
  {
    "extends": [
      "self:group_tabular",
      "self:actions_lib.group_tabular_actions"
    ],
    "extend_vars": {
      "group_tabular_extra_filter": "project_id in {{PROJECT_ID}} and a_source_systemname in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'",
      "clear_alerts_extra_filter": "a_status is not 'CLEARED' and project_id in {{PROJECT_ID}} and a_source_systemname in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'"
    },
    "widget_id": "94a3fc11"
  }
]

library -> widgets -> group_tabular

  • "extra_filter": "$group_tabular_extra_filter"

  • Remove actions from tabular definition

Added below section under library: library

"actions_lib": {
  "group_tabular_actions": {
    "actions": [
      {
        "title": "Clear Alert Groups",
        "type": "POPUP_FORM",
        "permission": "oia:alert:clear",
        "selectionType": "NONE",
        "identifier": "alert-processor:cfx.alert.clear.batch",
        "api-endpoint": {
          "service-name": "saas-reports",
          "methodName": "getForm",
          "stringified-params": true,
          "parse-output": false,
          "params": [
            {
              "formId": "rda.saas.dynamic.form",
              "formDefinition": {
                "id": "rda.saas.dynamic.form",
                "refreshRequired": true,
                "formFieldList": [
                  {
                    "help": "Clear Alert Groups",
                    "dataType": "string",
                    "controlType": "SELECTOR_TABLE",
                    "controlPropertyList": [
                      {
                        "attribute": "column-key",
                        "value": "a_id"
                      },
                      {
                        "attribute": "selection",
                        "value": "MULTIPLE"
                      }
                    ],
                    "widget": {
                      "extends": "self:group_tabular",
                      "extend_vars": {
                        "group_tabular_extra_filter": "$clear_alerts_extra_filter"
                      }
                    },
                    "required": true,
                    "editable": true,
                    "label": "Alerts",
                    "hidden": false,
                    "fieldId": "selectedAlerts"
                  },
                  {
                    "fieldId": "notes",
                    "label": "Notes",
                    "help": "Notes",
                    "dataType": "string",
                    "controlType": "TEXT_AREA",
                    "hidden": false,
                    "editable": true,
                    "required": true
                  }
                ]
              },
              "formActionList": {
                "formActions": [
                  {
                    "identifier": "Submit",
                    "actionLabel": "Clear"
                  }
                ]
              },
              "actions": [
                {
                  "type": "UPDATE_PSTREAM",
                  "pstreamName": "alert_clear_jobs",
                  "collapse_json": true,
                  "collapsed_json_column": "payload"
                }
              ]
            }
          ]
        }
      },
      {
        "identifier": "alert-processor:cfx.alert.clear",
        "selectionType": "SINGLE",
        "permission": "oia:alert:clear",
        "title": "Clear Alert Group",
        "type": "POPUP_FORM",
        "api-endpoint": {
          "methodName": "invokeAppApi:getFormById",
          "namespace": "io.cfx.dimensions.app",
          "params": [
            {
              "context": {},
              "form_id": "cfx.alert.clear"
            }
          ],
          "parse-output": false,
          "service-name": "alert-processor",
          "stringified-params": true
        },
        "actionCondition": {
          "actionControl": "SHOW_IF",
          "conditionalField": [
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "CLEARED",
              "fieldId": "a_status"
            }
          ]
        }
      },
      {
        "title": "View Details",
        "type": "GO_TO_APP_STATE",
        "selectionType": "SINGLE",
        "permission": "oia:alert:view",
        "stateName": "app.featureapp",
        "appName": "user-dashboard/alert-group-details-app",
        "contextParamList": {
          "contextParams": [
            {
              "paramKey": "view_details_v2_action_id",
              "paramId": "id"
            },
            {
              "paramKey": "project_id",
              "paramId": "projectId"
            },
            {
              "paramKey": "project_id",
              "paramId": "projectid"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incidentid"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incident_id"
            },
            {
              "paramKey": "project_id",
              "paramId": "roomid"
            }
          ]
        },
        "drillDownContext": "a_incident_id",
        "displayLabelColumnId": "a_message"
      },
      {
        "title": "View Incident",
        "type": "GO_TO_APP_STATE",
        "permission": "oia:alert:view",
        "stateName": "app.featureapp",
        "appName": "user-dashboard/incident-details-app",
        "selectionType": "SINGLE",
        "drillDownLinkField": "a_incident_id",
        "drillDownContext": "a_incident_id",
        "destinationContext": "incidentid",
        "displayLabelColumnId": "a_incident_id",
        "contextParamList": {
          "contextParams": [
            {
              "paramKey": "project_id",
              "paramId": "projectId"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incidentid"
            },
            {
              "paramKey": "a_incident_id",
              "paramId": "incident_id"
            },
            {
              "paramKey": "project_id",
              "paramId": "roomid"
            },
            {
              "paramKey": "project_id",
              "paramId": "projectid"
            }
          ]
        },
        "actionCondition": {
          "actionControl": "SHOW_IF",
          "conditionalField": [
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "SUPPRESSED",
              "fieldId": "a_correlation_status"
            },
            {
              "conditionType": "NOT_EQUAL",
              "conditionValue": "Not Available",
              "fieldId": "a_incident_id"
            }
          ]
        }
      }
    ]
  }
}

3. incident-details-alerts

Replace widget definition which has "extends": "alerts:alerts_tabular" element

Dashboard_Sections -> Section with "title": "alerts" -> Widgets

{
   "extends":[
       "alerts:alerts_tabular",
       "alerts:actions_lib.alerts_tabular_actions"
   ],
   "extend_vars":{
       "alerts_tabular_extra_filter": "a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE' and project_id is '{{PROJECT_ID}}' and a_incident_id is '{{INCIDENT_ID}}'",
       "clear_alerts_extra_filter": "a_status is not 'CLEARED' and a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE' and project_id is '{{PROJECT_ID}}' and a_incident_id is '{{INCIDENT_ID}}'"
   },
   "min_width": 12,
   "height": 12,
   "max_width": 12,
   "widget_id": "94a3fc11"
}

4. oia-alert-group-view-details-os-v2

Replace widget definition which has "extends": "alerts:alerts_tabular" element

Dashboard_Sections -> Section with "title": "alerts" -> Widgets

{
   "extends":[
           "alerts:alerts_tabular",
           "alerts:actions_lib.alerts_tabular_actions"
   ],
    "extend_vars": {
       "alerts_tabular_extra_filter": "a_correlation_parent is '{{CORRELATION_PARENT_ID}}'",
       "clear_alerts_extra_filter": "a_status is not 'CLEARED' and a_correlation_parent is '{{CORRELATION_PARENT_ID}}'"
   },
   "extra_filter": "a_correlation_parent is '{{CORRELATION_PARENT_ID}}'",
   "min_width": 12,
   "height": 12,
   "max_width": 12,
   "widget_id": "94a3fc11"
}

5. oia-view-alerts-policy-os

Replace widget definition which has "extends": "alerts:alerts_tabular" element

Dashboard_Sections -> Section with "title": "alerts" -> Widgets

{
   "extends":[
           "alerts:alerts_tabular",
           "alerts:actions_lib.alerts_tabular_actions"
   ],
    "extend_vars": {
       "alerts_tabular_extra_filter": "a_rule_id is '{{RULE_ID}}' and a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'",
       "clear_alerts_extra_filter": "a_status is not 'CLEARED' and a_rule_id is '{{RULE_ID}}' and a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'"
   },
   "min_width": 12,
   "height": 12,
   "max_width": 12,
   "widget_id": "94a3fc11"
}

6. oia-alert-groups-policy-os

Replace widget definition which has "extends": "alertgroup:group_tabular" element

Dashboard_Sections -> Section with "title": "Alert Groups" -> Widgets

{
   "extends": [
       "alertgroup:group_tabular",
       "alertgroup:actions_lib.group_tabular_actions"
   ],
     "extend_vars": {
       "group_tabular_extra_filter": "a_rule_id is '{{RULE_ID}}' and a_source_systemname in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'",
       "clear_alerts_extra_filter": "a_status is not 'CLEARED' and a_rule_id is '{{RULE_ID}}' and a_source_systemname in 'Alert Group' and a_correlation_status not-in 'AGGREGATE'"
   },
   "min_width": 12,
   "height": 12,
   "max_width": 12,
   "widget_id": "94a3fc11"
}

Replace widget definition which has "extends": "alerts:alerts_tabular" element

Dashboard_Sections -> Section with "title": "alerts" -> Widgets

{
   "extends":[
       "alerts:alerts_tabular",
       "alerts:actions_lib.alerts_tabular_actions"
   ],
   "extend_vars":{
       "alerts_tabular_extra_filter": "a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE' and project_id is '{{PROJECT_ID}}' and a_incident_id is '{{INCIDENT_ID}}'",
       "clear_alerts_extra_filter": "a_status is not 'CLEARED' and a_source_systemname is not-in 'Alert Group' and a_correlation_status not-in 'AGGREGATE' and project_id is '{{PROJECT_ID}}' and a_incident_id is '{{INCIDENT_ID}}'"
   },
   "ts_column": "a_created_ts",
   "min_width": 12,
   "height": 12,
   "max_width": 12,
   "widget_id": "94a3fc11"
}