Skip to content

Dashboard

1. What is a Dashboard

Dashboards feature in RDA Fabric platform provides analytics and reporting using which different UI views can be created for different user personas such as executives, IT admins and operators etc. Dashboards are composable and customizable to fit specific user needs within the IT operations landscape.

Below are some of the available different data types in RDA Fabric platform using which Dashboards can be created, but not limited to.

  • Metrics
  • Alerts / Events
  • Logs
  • Traces
  • Asset Inventory
  • Tickets
  • Other IT operations & service management data

2. Creating a Dashboard

Follow the below steps to access the Dashboard feature in RDA Fabric platform

2.1 Dashboard Configuration

Step-1: Login into RDA Fabric platform as a MSP Admin user.

Step-2: Go to Main Menu --> Configuration --> RDA Administration --> Dashboards

Step-3: Click on Add button to create a new Dashboard.

Dashboard configuration need to be provided in JSON / YAML format. Below is a sample configuration to create a new Dashboard.

{
    "name": "rdaf-platform-log-analytics-2",
    "label": "RDAF Platform Logs2",
    "description": "RDAF Platform service's log analysis dashboard",
    "version": "22.9.22.2",
    "enabled": true,
    "dashboard_style": "tabbed",
    "status_poller": {},
    "dashboard_filters": {
        "time_filter": true,
        "columns_filter": [],
        "group_filters": []
    },
    "dashboard_sections": [],
    "dashboard_type": "app",
    "dashboard_pages": []
}

Please refer the below table for details about Dashboard's configuration parameters.

Parameter Name
Mandatory Description
name yes Unique name or ID for the Dashboard. May contain letters, digits and hyphen only.
label yes Label for the dashboard. This is visible to users of the dashboard
description yes Description for the dashboard. This is also visible to the users
version no Dashboard version to track the changes for better management of it's configuration. Ex: YYYY.MM.DD.NUMBER 2022.12.01.01 or any alphanumerical value which uniquely distinguishes between each version.
enabled yes Specifies if the dashboard to be enabled / disabled. If not enabled, Dashboard would not be visible to users. Valid values are true or false. Default is false
dashboard_style no Dashboards can be tabbed or sectioned. If set to auto, tabs will be shown only if more than one section is specified under dashboard_sections. Default is auto
dashboard_folder no Specify the folder name under which the dashboard to be created. When it is not specified, it is placed under Default folder.
status_poller no It is a smart dashboard UI refresh feature. When used, it will refresh the Dashboard with new data within the user defined polling frequency automatically. It will refresh the Dashboard UI only if there is new data since last poll.
dashboard_filters yes This object defines if and how filtering should be enabled for dashboard.
dashboard_sections yes This is list of objects which specify list of sections, and widgets in each section. How to add the widgets to the Dashboard Section Refer Widgets Type
dashboard_type no Specify the Dashboard type. Supported values are app.
dashboard_pages no Specify the sub Dashboard configuration parameters. This parameter is needed when dashboard_type is set to app

2.2 Status Poller

Please refer the below sample configuration settings to enable Status Poller feature within the Dashboard configuration.

    "status_poller": {
        "stream": "rdaf_pstream_name",
        "frequency": 30,
        "columns": [
            "timestamp"
        ],
        "sorting": [
            {
                "timestamp": "desc"
            }
        ],
        "query": "timestamp is after '${timestamp}'",
        "defaults": {
            "timestamp": "$UTCNOW"
        },
        "action": "refresh"
    }

Please refer the below table for details about Status poller's configuration parameters.

Parameter Name
Mandatory Description
stream yes Persistent stream name from which the data to be polled to refresh the data within the Dashboard.
frequency yes Specify the polling frequency in Seconds. Ex: 15 or 30 or 60 etc.
columns no Specify the timestamp column within the persistent stream name. It is an array field and supports multiple values. Default value is timestamp
sorting no Specifies the sorting to be applied on the queried data. Default setting is desc. Supported values as desc and asc
query yes Specify the query in CFXQL format to query the data during the refresh poll.
defaults yes Specify the timestamp format of the RDA Fabric system, UTC vs Local time. Syntax is { "timestamp": "$UTCNOW" }. timestamp is timestamp column within the specified pstream name. Supported values are $NOW and $UTCNOW
action yes Supported value is refresh

2.3 Dashboard Filters

Dashboard filters is a feature within each Dashboard which allows the user to expose selective columns from supported datasources such as persistent stream or a dataset as Filters. Dashboard supports below two types of filters.

  • Column Filters
  • Group Filters

Dashboard_Filter_Bar Dashboard_Group_Filter_Bar

Column Filters option allows the user to query and filter the data on one or more selected column(s) using the dashboard's filter bar on demand.

    "dashboard_filters": {
        "time_filter": true,
        "columns_filter": [
            {
                "id": "timestamp",
                "label": "Timestamp",
                "type": "DATETIME"
            },
            ...
            ...
            {
                "id": "host",
                "label": "IP Address",
                "type": "TEXT"
            }
        ]
    }

Please refer the below table for details about Dashboard filter's configuration parameters.

Parameter Name
Mandatory Description
time_filter no This parameter is to enable time filter or not for the dashboard. Supported values are true or false.
columns_filter no Configure the parameters and specify the columns which need to be exposed as filterable columns.
group_filters no Configure the parameters and specify the columns which need to be exposed as group or quick (drop down) filters.

Please refer the below table for details about Column filter's configuration parameters.

Parameter Name
Mandatory Description
id yes Column name from the persistent stream or dataset.
label yes Specify the label for the selected column under id parameter.
type yes Specify the selected column's data type. Supported values are TEXT, DATETIME

Group Filters option acts as a quick filter, when defined, it provides a simple drop down with unique filtered values from the selected column and allows the user to select one or more values to filter the data quickly.

Tip

Both Column Filters and Group Filters are optional within the Dashboard configuration.

    "group_filters": [
            {
                "stream": "rdaf_services_logs",
                "title": "Log Severity",
                "group_by": [
                    "log_severity"
                ],
                "ts_column": "@timestamp",
                "agg": "value_count",
                "column": "_id",
                "type": "int"
            },
            ...
            ...
            {
                "stream": "rdaf_services_logs",
                "title": "RDA Host IPAddress",
                "group_by": [
                    "service_host"
                ],
                "ts_column": "@timestamp",
                "agg": "value_count",
                "column": "_id",
                "type": "int"
            }
        ]

Please refer the below table for details about Group filter's configuration parameters.

Parameter Name
Mandatory Description
stream yes Specify the persistent stream.
title yes Specify the label for group filter
group_by yes Specify one or more columns to apply the group_by. This parameter supports multiple column values. Ex: "group_by": [ "column_01", "column_02", "column_n"]
column yes Specify the column name that is to uniquely identify the selected group_by column values within each record of persistent stream or dataset.
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
agg yes Specify the aggregation function. Supported values are value_count (shows total count) and cardinality (shows unique count)
type no Specify the data type while performing aggregation function. Supported values are int and str. int option is valid only for min, max, sum, mean aggregation operations and these are not applicable for group filters.

2.4 Dashboard Pages

Dashboards can be grouped and used as sub dashboards within another main dashboard and they are configured as Dashboard Pages.

Below is the configuration format for Dashboard Pages.

    "dashboard_pages": [
        {
            "name": "CFX Incidents - Dashboard",
            "label": "Incidents",
            "icon": "incident.svg"
        },
        ...
        ...
        {
            "name": "Operational Metric - Dashboard",
            "label": "Metric Analysis",
            "icon": "metrics.svg"
        }
    ]

Please refer the below table for details about Dashboard page(s) configuration parameters.

Parameter Name
Mandatory Description
name yes Specify name of the Dashboard which need to be added as a page.
label yes Specify the label for Dashboard page.
icon no Specify an icon image file name which can be used for the Dashboard page. Some of the provided icons within the system are, incident.svg, metrics.svg, alert.svg, contract.svg, customer.svg, asset.svg, detail.svg, hands.svg, hardware.svg, overall.svg, room.svg, software.svg, activities.svg, alertGroups.svg, Analytics.svg, attachments.svg, bots.svg, changes.svg, cluster.svg, collaboration.svg, datasource.svg, diagnostic.svg, enrichment.svg, eye.svg, file.svg, gateway.svg, insights.svg, ipTelephony.svg, jobs.svg, metrics.svg, ml.svg, outcome.svg, pipeline.svg, rca.svg, rda.svg, remedial.svg, schedule.svg, security.svg, stack.svg, status.svg, suppression.svg, team.svg, topology.svg, version.svg

Below is the sample screenshot of Dashboard Pages

Dashboard_Pages

2.5 Dashboard Grid Layout

Dashboard_Grid_layout

RDA Dashboards use a grid to display specified widgets. Grid width is always 12. column parameter of the layout can be between 0 (left most()) to 11 (right most). Grid Height is indefinite. row parameter of layout can start 0 for first row at these top.

RDA Dashboard uses an automated algorithm to layout the specified widgets in a dashboard.

Each widget's size and dimensions within a Dashboard is configured using the below parameters.

  • min_width
  • height
  • max_width

Please refer the below configuration example and highlighted parameters

{
  "name": "my-dashboard",
  "label": "My Dashboard",
  "description": "Example dashboard",
  "enabled": true,
  "dashboard_style": "tabbed",
  "dashboard_filters": {
    "time_filter": true,
    "columns_filter": [
      {
        "id": "sys_created_on",
        "label": "Created On",
        "type": "DATETIME"
      },
      {
        "id": "assigned_to",
        "label": "Assigned To",
        "type": "TEXT"
      }
    ]
  },
  "dashboard_sections": [
    {
      "title": "Service Now",
      "show_filter": true,
      "widgets": [
        {
          "title": "Sample Data",
          "widget_type": "tabular",
          "min_width": 8,
          "height": 8,
          "max_width": 12,
          "timestamp": "sys_created_on",
          "columns": {
            "assigned_to": "Assigned To",
            "sys_created_on": "Created On",
            "severity": "Severity"
          },
          "dataset": "servicenow_data"
        }
      ]
    }
  ]
}

3. Dashboard Charts / Widgets

Dashboards support many different types of charts / widgets using which data can be presented and visualized as per the targeted user persona requirements.

Below are the supported widget types.

  1. Pie Chart
  2. Tabular Chart
  3. Pivot Tabular Chart
  4. Counter Chart
  5. Bar Chart
  6. Multi Bar Chart
  7. Topology Chart
  8. Line Graph Chart
  9. Data Flow Chart
  10. Image Chart

Please refer the below widget parameter table which has the associated type value for each of the above widgets / charts.

Widget / Chart Parameter Name
Description
pie_chart A pie chart is a circle / a donut that is divided into areas, or slices. Each area / slice represents the count or percentage of the observations of a level for the variable.
tabular Tabular chart is used to visualize the data in tabular format using one or more selected fields.
pivot Pivot table is used to arrange, group and summarize for an easy analysis of large sets of data in a tabular form.
custom_counter Custom counter chart is used to show the total count of the selected field's value.
expressions_counter Expression counter chart can be used to show the derived computed values using one more fields value.
bar_chart Bar chart can be used to display the selected fields values as individual bars (horizontal / vertical) whose height is determined by the value.
topology Topology chart is used to visualize the relationship between different nodes or components which exchanges the data between them.
timeseries Timeseries is a line graph chart to visualize any timeseries metric data
timeseries_multisource Timeseries multisource is another type of line graph chart to visualize any timeseries metric data from more than one datasource
dataflow Dataflow chart is used to visualize the dataflow between different end points within the RDA Fabric platform.
image Image chart is used to add and visualize any URL based image within a Dashboard.

3.1 Pie Chart

Please refer the below configuration parameter table which are used to configure a pie chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the pie chart.
widget_type yes Specify the chart / widget type. i.e. pie_chart
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
dataset no Specify the dataset name. Note: Either of persistent stream or dataset parameter is needed
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
extra_filter no Use this parameter to filter the data from from one or more selected field(s). It supports CFXQL query format.
column yes Specify the column name that is to uniquely identify the selected group_by column values within each record of persistent stream or dataset.
agg yes Specify the aggregation function. Supported values are value_count (shows total count) and cardinality (shows unique count)
group_by yes Specify one or more columns to apply the group_by. This parameter supports multiple column values. Ex: "group_by": [ "column_01", "column_02", "column_n"]
type no Specify the data type while performing aggregation function. Supported values are int and str. int option is valid only for min, max, sum, mean aggregation functions.
style no Using this parameter, each grouped value can be visualized using a specific color using color-map parameter as shown in the one of the below examples.
min_width no Specify the chart / widget's minimum width size, range is 0 to 12.
height no Specify the chart / widget's height, range is 0 to n.
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.

Below is the sample of Pie Chart / Widget configuration.

 {
  "widget_type": "pie_chart",
  "title": "Logs by RDA Host",
  "stream": "rdaf_services_logs",
  "ts_column": "timestamp",
  "extra_filter": "log_severity in ['ERROR', 'DEBUG', 'INFO']",
  "column": "_id",
  "agg": "value_count",
  "group_by": [
    "service_host"
  ],
  "type": "str",
  "min_width": 4,
  "height": 2,
  "max_width": 4
}

3.1.1 Sample Pie Chart

Pie Chart Using Group By Example: Pie Chart Using Group By Example Percentage:
PieChart_Group_By_Example PieChart_Group_By_Example_Percentage

3.1.2 Pie Chart using extra_filter

{
  "widget_type": "pie_chart",
  "title": "Pie Chart Using Extra Filter Example",
  "stream": "rdaf_services_logs",
  "extra_filter": "log_severity in ['ERROR', 'DEBUG', 'INFO']",
  "ts_column": "timestamp",
  "column": "_id",
  "agg": "value_count",
  "group_by": [
    "log_severity"
  ],
  "type": "str"
}
PieChart_Extra_Filter_Example

3.1.3 Pie Chart with color-mapping

{
  "widget_type": "pie_chart",
  "title": "Pie Chart with Color Map Example",
  "stream": "rdaf_services_logs",
  "ts_column": "timestamp",
  "column": "_id",
  "agg": "value_count",
  "group_by": [
    "log_severity"
  ],
  "type": "str",
  "style": {
    "color-map": {
      "ERROR": [
        "#ef5350",
        "#ffffff"
      ],
      "WARNING": [
        "#FFA726",
        "#ffffff"
      ],
      "INFO": [
        "#388e3c",
        "#ffffff"
      ],
      "DEBUG": [
        "#000000",
        "#ffffff"
      ],
      "UNKNOWN": [
        "#bcaaa4",
        "#ffffff"
      ]
    }
  }
}
Dashboard_Pie_Chart_with_Color_Map_Example

3.2 Tabular Chart

Please refer the below configuration parameter table which are used to configure a Tabular chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Tabular chart.
widget_type yes Specify the chart / widget type. i.e. tabular
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
dataset no Specify the dataset name. Note: Either of persistent stream or dataset parameter is needed.
query no Specify CFXQL based query to filter the data. * gets all of the data from the selected persistent stream or dataset.
truncateColumns no Specify the array of fields / columns (comma separated) which need to be truncated if the length of the value is very long. It shows the full value on mouse hover.
resizableColumns no Specify true or false to enable or disable to enable the flexibility of adjusting each column's width
paginated no Specify true or false to enable or disable paginated data for tabular chart.
virtual_scrolling no Specify true or false to enable or disable this parameter. It allows to scroll through the paginated data instead of manually going through one page at a time.
showRowSummary no Specify true or false to enable or disable this parameter. It provides a clickable UI option for each row to view it's summary that includes all of the columns and their values in a vertical form.
max_rows no Specify the maximum number of rows to be shown within a page.
sorting no Specify the column / field names on which the sorting to enabled. Supported values for sorting is desc or asc. The default value is desc
columns yes Specify one or more columns / fields to be shown in the tabular chart. Syntax is as shown above. columns: { "column_a_name": "column a label", "column_b_name": "column b label", ...}
min_width no Specify the chart / widget's minimum width size, range is 0 to 12.
height no Specify the chart / widget's height, range is 0 to n.
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided
remote_searchable no If true, enables search across all pstream data
remote_searchable_columns no Allows to specify on what columns we will be filtering data from pstream.

3.2.1 Sample Tabular Chart

Below is the sample configuration of Tabular Chart / Widget.

{
  "title": "Tabular with Pstream Query Example",
  "widget_type": "tabular",
  "stream": "dli-synthetic-logs-raw",
  "query": "*",
  "min_width": 6,
  "height": 8,
  "max_width": 6,
  "paginated": true,
  "remote_searchable": true,
  "remote_searchable_cols": [
       "device",
       "message"
  ],
  "max_rows": 50,
  "sorting": [
    {
      "timestamp": "desc"
    }
  ],
  "columns": {
    "timestamp": "Timestamp",
    "device": "Device",
    "count_": "Count",
    "message": "Message"
  },
  "widget_id": "94a3fc11"
}

Time_Series_Stream_Example

3.2.2 Tabular Chart with truncateColumns

Below is the sample configuration of Tabular Chart / Widget with truncateColumns parameter.

{
  "title": "Incidents",
  "app": "Incidents",
  "show_actions": "SINGLE",
  "widget_type": "app_tabular",
  "max_width": 12,
  "height": 10,
  "ts_column": "created",
  "min_width": 12,
  "widget_id": "f5dfdef9",
  "preview_dashboard": "incident-topology",
  "preview_width": 1000,
  "preview_height": 700,
  "truncateColumns": [
    "Summary"
  ],
  "hideColumns": [
    "Type",
    "Source",
    "Label",
    "Resolved By",
    "CFX State",
    "CFX Incident Occurred",
    "Data Updated",
    "Created ISO",
    "Resolved At ISO"
  ]
}

tabular report truncate Columns

3.2.3 Tabular chart with resizableColumns

Below is the sample configuration of Tabular Chart / Widget with resizableColumns parameter.

{
  "title": "Tabular with Pstream Query resizableColumns Example",
  "widget_type": "tabular",
  "stream": "dli-synthetic-logs-raw",
  "query": "*",
  "min_width": 6,
  "height": 8,
  "max_width": 6,
  "resizableColumns": true,
  "paginated": true,
  "max_rows": 50,
  "sorting": [
    {
      "timestamp": "desc"
    }
  ],
  "columns": {
    "timestamp": "Timestamp",
    "device": "Device",
    "count_": "Count",
    "message": "Message"
  },
  "widget_id": "94a3fc11"
}

Tabular_resizableColumns_before_Example

Tabular_resizableColumns_Example

3.2.4 Tabular chart with virtual_scrolling & showRowSummary

Below is the sample configuration of Tabular Chart / Widget with Virtual_scrolling & showRowSummary parameter.

Tabular_Virtual_scrolling_showsummary_Example

{
   "name":"Tabular chart",
   "label":"virtual_scrolling and showRowSummary",
   "description":"Tabular chart with virtual_scrolling and showRowSummary",
   "version":"22.9.22.2",
   "enabled":true,
   "debug":true,
   "dashboard_filters":{
      "time_filter":true,
      "columns_filter":[

      ]
   },
   "dashboard_style":"tabbed",
   "status_poller":{
      "stream":"rda_synthetic_metrics",
      "frequency":30,
      "columns":[
         "timestamp"
      ],
      "sorting":[
         {
            "timestamp":"desc"
         }
      ],
      "query":"timestamp is after '${timestamp}'",
      "defaults":{
         "timestamp":"$UTCNOW"
      },
      "action":"refresh"
   },
   "dashboard_sections":[
      {
         "title":"Tabular chart with virtual_scrolling and showRowSummary",
         "widgets":[
            {
               "title":"virtual_scrolling and showRowSummary",
               "widget_type":"tabular",
               "stream":"rda_synthetic_metrics",
               "ts_column":"timestamp",
               "query":"*",
               "min_width":6,
               "height":8,
               "max_width":6,
               "paginated":true,
               "virtual_scrolling":true,
               "showRowSummary":true,
               "max_rows":50,
               "sorting":[
                  {
                     "timestamp":"desc"
                  }
               ],
               "columns":{
                  "timestamp":"Timestamp",
                  "metric_name":"metric_name",
                  "count_":"Count",
                  "source_tool":"source_tool",
                  "stack_name":"stack_name"
               },
               "widget_id":"94a3fc11"
            }
         ]
      }
   ],
   "saved_time":"2022-12-02T06:38:00.570369"
}

Below is the sample configuration of Tabular Chart / Widget with Column specific Hyperlink.

Parameter Name
Mandatory Description
appName yes Specify the appName. Supported values are user-dashboard
permission yes Specify the permission in order to enable Hyperlink. Supported values are aia:page:view, oia:page:view
drillDownContext yes Context column-id that needs to be passed to the landing dashboard
drillDownLinkField yes Column-id that needs to be enabled with hyperlink
identifier yes Column-id that needs to be enabled with hyperlink
selectionType yes Specify the selectionType. Supported values are SINGLE
stateName yes Specify the stateName. Supported values are app.featureapp
title yes Specify the label for the action
actionCondition no Enables hyperlink when it satisfies action conditions
actionControl no Specify the actionControl. Supported values are SHOW_IF
conditionType no Specify the conditionType. Supported values are EQUAL
conditionValue no Matches according to the value present in stream data
fieldId no Need to pass column-id that has condition value specified
type yes Specify the app type. Supported values are GO_TO_APP_STATE.
"actions": [
  {
    "appName": "user-dashboard",
    "permission": "aia:page:view",
    "drillDownContext": "id",
    "drillDownLinkField": "dns_name",
    "identifier": "dns_name",
    "selectionType": "SINGLE",
    "stateName": "app.featureapp",
    "title": "View Details",
    "actionCondition": {
      "actionControl": "SHOW_IF",
      "conditionalField": [
        {
          "conditionType": "EQUAL",
          "conditionValue": "CHASSIS",
          "fieldId": "equipment_type"
        }
      ]
    },
    "type": "GO_TO_APP_STATE"
  }
]

Note

Mentioned below needs to be part of the columns list and the value needs to be replaced with the template/dashboard/app name

Ex: user-dashboard-<template/dashboard/app name>

"id": {
       "title": "ID",
       "value": "user-dashboard-aia-network-drilldown-app",
       "key": true,
       "type": "FIXED_VALUE",
       "hidden": true,
       "visible": false
      }

Note

All the report definitions that are part of the above template/dashboard/app needs to be added with mentioned below parameters

"include_context_in_query": true
"include_context_keys" : ["column1","column2","column3"]

Note

In order to pass column(s) as a context to template/dashboard/app, make sure the list of include_context_keys mentioned above are the key column(s)

"dns_name": {
              "title": "DNS Name",
              "type": "TEXT",
              "key": true
            }

Below is the sample configuration of Tabular Chart / Widget with External URL Hyperlink.

Note

Make sure the URL values are present as one of the column value in Pstream/Dataset as shown in Below Example

Below is how the column needs to be added in order to enable External URL on Specific column

"<column-id>": {
        "title": "<label>",
        "htmlTemplateForRow": "<a href=\"{{row.<column-id>}}\" target='_blank'>{{row.<column-id>}}</a>"
       }
"drilldown_url": {
        "title": "Drilldown_URL",
        "htmlTemplateForRow": "<a href=\"{{row.drilldown_url}}\" target='_blank'>{{row.controller_name}}</a>"
       }

Note

Same URL link can be launched by enabling hyperlink on different column, Below is the syntax for column Definition

"drilldown_url": {
        "title": "Controller",
        "htmlTemplateForRow": "<a href=\"{{row.drilldown_url}}\" target='_blank'>{{row.controller_name}}</a>"
       }

3.3 Pivot Tabular Chart

Please refer the below configuration parameter table which are used to configure a Pivot Tabular chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Pivot Table Example.
widget_type yes Specify the chart / widget type. i.e. pivot
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
min_width no Specify the timestamp column name within the selected persistent stream or dataset.
height no Specify the chart / widget's height, range is 0 to n.
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.
ts_column yes Specify the timestamp column name within the selected persistent stream or dataset.
duration_hours no This parameter specifies how many hours in the past should the data be fetched. If time_filter is set to true, time filter will override this value.
index_cols yes Specify one or more columns to apply the group_by. This parameter supports multiple column values. Ex: "group_by": [ "column_01", "column_02", "column_n"]
value_cols yes value column contains numerical data to perform aggregations
Value_col_sort no Displays the report in ascending and descending
grp_columns yes This parameter supports multiple column values
agg_funcs yes Support aggregations are sum,min, max, mean. Default is sum
post_pivot_filter no
extra_filter no Use this parameter to filter the data from from one or more selected field(s). It supports CFXQL query format.
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided

3.3.1 Pivot Table without Extra Filter Example

Below is a sample configuration of Pivot Table Chart / Widget.

{
  "title": "Pivot Table Example",
  "widget_type": "pivot",
  "stream": "rda_microservice_traces",
  "min_width": 6,
  "height": 8,
  "max_width": 6,
  "ts_column": "timestamp",
  "duration_hours": 24,
  "index_cols": [
    {
      "name": "source",
      "label": "source_label"
    },
    {
      "name": "request_type",
      "label": "request_type_label"
    }
  ],
  "value_cols": "duration",
  "value_col_sort": "ascending",
  "grp_columns": [
    {
      "name": "destination",
      "label": "destination_label"
    },
    {
      "name": "subject_type",
      "label": "subject_type_label"
    }
  ],
  "agg_funcs": "sum",
  "post_pivot_filter": "duration != 0",
  "widget_id": "3d7466a3"
}

Dashboard_Pivot_Table_Example

3.3.2 Pivot Table With Extra Filter Example

Below is a sample configuration of Pivot Table Chart / Widget with extra_filter.

{
  "title": "Pivot Table Example",
  "widget_type": "pivot",
  "stream": "rda_microservice_traces",
  "extra_filter": "request_type != 'are-you-there'",
  "min_width": 6,
  "height": 8,
  "max_width": 6,
  "ts_column": "timestamp",
  "duration_hours": 24,
  "index_cols": [
    {
      "name": "source",
      "label": "source_label"
    },
    {
      "name": "request_type",
      "label": "request_type_label"
    }
  ],
  "value_cols": "duration",
  "value_col_sort": "ascending",
  "grp_columns": [
    {
      "name": "destination",
      "label": "destination_label"
    },
    {
      "name": "subject_type",
      "label": "subject_type_label"
    }
  ],
  "agg_funcs": "sum",
  "post_pivot_filter": "duration != 0",
  "widget_id": "3d7466a3"
}

Dashboard_Pivot_Table_Example

3.4 Counter Chart

Please refer the below configuration parameter table which are used to configure a simple Counter chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Group Chart.
widget_type yes Specify the chart / widget type. i.e. counter,custom_counter,expression_counter
formatter no Formats integer values as K for thousands, M for Millions. If the input value is already a counted as thousands, optional value multiplier can be specified.
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
duration_hours no this parameter specifies how many hours in the past should the data be fetched. If time_filter is set to true, time filter will override this value.
column yes Name of the column in the data that contains numerical data to perform aggregations
agg yes Specify the aggregation function. Supported values are value_count (shows total count) and cardinality (shows unique count)
type yes Specify the data type while performing aggregation function. Supported values are int or float option is valid only for min, max, sum, mean aggregation functions.
expression yes the expression on any arithmetic operations on given columns will support Example syntax: "expression": "((input-output)/input) * 100" needed only for expression_counter not needed for other counter types
unit yes Units to be displayed next to the value
segments yes Segments is a list of objects. Each segment defines a variable to be computed. needed only for expression_counter
extra_filter no Use this parameter to filter the data from from one or more selected field(s). It supports CFXQL query format.
min_Width no Specify the timestamp column name within the selected persistent stream or dataset.
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.
type yes Specify the data type while performing aggregation function. Supported values are int or float option is valid only for min, max, sum, mean
variable no Name of the variable to be computed. Note This variable name may be used in expression.
duration_hours no This parameter specifies how many hours in the past should the data be fetched. If time_filter is set to true, time filter will override this value.
group_by yes Specify one or more columns to apply the group_by. This parameter supports multiple column values. Ex: "group_by": [ "column_01", "column_02", "column_n"]
formatter yes Formats integer values as K for thousands, M for Millions. If the input value is already a counted as thousands, optional value multiplier can be specified.
style no Using this parameter, each grouped value can be visualized using a specific color using color-map parameter as shown in the above example. Note not needed in custom_counter and expression_counter
limit no Limiting of groups/segments
sparkline no Optional visualization configuration for the grouped counts with default interval as 1D, fill as True and smooth also as True
widget_id no Every widget will be represented with Unique id at the end, it is autogenerated if not provided

3.4.1 Simple Counter Chart Example

Below is a sample configuration of Counter Chart / Widget.

{
  "title": "Simple Counter Example",
  "widget_type": "custom_counter",
  "formatter": "DescriptiveCountFormatter",
  "stream": "rda_system_worker_trace_summary",
  "ts_column": "timestamp",
  "duration_hours": 96,
  "column": "num_bot_executions",
  "agg": "sum",
  "type": "int",
  "widget_id": "02be1e20"
}

Dashboard_Simple_Counter_Example

3.4.2 Expression Counter Example

Below is a sample configuration of Counter Chart / Widget with expression_counter and expression.

{
  "title": "Expression Counter Example",
  "widget_type": "expression_counter",
  "expression": "((input-output)/input) * 100",
  "unit": "%",
  "segments": [
    {
      "variable": "output",
      "stream": "dli-log-stats",
      "extra_filter": "mode is 'processed'",
      "ts_column": "timestamp",
      "duration_hours": 720,
      "group_by": [
        "mode"
      ],
      "column": "count",
      "agg": "sum",
      "type": "int"
    },
    {
      "variable": "input",
      "stream": "dli-log-stats",
      "extra_filter": "mode is 'ingested'",
      "ts_column": "timestamp",
      "duration_hours": 720,
      "group_by": [
        "mode"
      ],
      "column": "count",
      "agg": "sum",
      "type": "int"
    }
  ]
}

Dashboard_Expression_Counter_Example

3.4.3 Group Counter Chart Example

Below is a sample configuration of Counter Chart / Widget grouping multiples of them.

{
  "title": "Group Counter Chart Example",
  "widget_type": "counter",
  "min_width": 6,
  "max_width": 12,
  "formatter": "DescriptiveCountFormatter",
  "stream": "dli-log-stats",
  "ts_column": "timestamp",
  "style": {
    "color-map": {
      "ingestion": "#388e3c",
      "archived": "#8e24aa",
      "splunk": "#d32f2f"
    }
  },
  "limit": 5,
  "duration_hours": 24,
  "sparkline": {
    "interval": "4h"
  },
  "group_by": [
    "mode"
  ],
  "column": "count",
  "agg": "sum",
  "type": "int"
}

Dashboard_Group_Counter_Chart_Example

3.5 Bar Chart

Please refer the below configuration parameter table which are used to configure a Bar chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Bar Chart.
widget_type yes Specify the chart / widget type. i.e. bar_chart
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
chartProperties chartProperties defines the representation of data using Yaxis, Xaxis & Various other Combinations like zooming,color etc...
dataset no Specify the dataset name. Note: Either of persistent stream or dataset parameter is needed
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
duration hours no This parameter specifies how many hours in the past should the data be fetched. If time_filter is set to true, time filter will override this value.
group by yes Specify one or more columns to apply group_by. This parameter supports multiple column values. Ex: "group_by": [ "column_01", "column_02", "column_n"]
extra_filter no use this parameter to filter the data from from one or more selected field(s). It supports CFXQL query format.
column yes Name of the column in the data that contains numerical data to perform aggregations
agg yes Specify the aggregation function. Supported values are value_count (shows total count) and cardinality (shows unique count)
type no Specify the data type while performing aggregation function. Supported values are int and str. int option is valid only for min, max, sum, mean aggregation functions.
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided

3.5.1 Bar Chart Example

Below is a sample of Bar Chart / Widget configuration.

{
  "title": "Bar Chart Example",
  "widget_type": "bar_chart",
  "stream": "rda_microservice_traces",
  "ts_column": "timestamp",
  "chartProperties": {
    "yAxisLabel": null,
    "xAxisLabel": "Count",
    "stacked": true,
    "legendLocation": "none",
    "orientation": "vertical"
  },
  "duration_hours": 24,
  "group_by": [
    "request_type"
  ],
  "column": "duration",
  "agg": "value_count",
  "type": "int",
  "widget_id": "f4786acb"
}

Dashboard_Bar_Chart_Example

3.5.2 Bar Chart with extra filter

Below is a sample of Bar Chart / Widget configuration with extra_filter

{
  "title": "Bar Chart Example",
  "widget_type": "bar_chart",
  "stream": "rda_microservice_traces",
  "extra_filter": "request_type != 'are-you-there'",
  "ts_column": "timestamp",
  "chartProperties": {
    "yAxisLabel": null,
    "xAxisLabel": "Count",
    "stacked": true,
    "legendLocation": "none",
    "orientation": "vertical"
  },
  "duration_hours": 24,
  "group_by": [
    "request_type"
  ],
  "column": "duration",
  "agg": "value_count",
  "type": "int",
  "widget_id": "f4786acb"
}

Dashboard_Bar_Chart_Example

3.5.3 Fixed Bar Width Chart

Below is a sample configuration of Fixed Bar Width Chart / Widget.

{
  "title": "FIXED_BAR_WIDTH_CHART",
  "widget_type": "fixed_bar_width_chart",
  "stream": "people_custom_timestamp",
  "chartProperties": {
    "barThickness": 100
  },
  "ts_column": "timestamp",
  "column": "age",
  "agg": "value_count",
  "group_by": [
    "city"
  ]
}
Dashboard_Width_chart

3.6 Multi Bar Chart

Please refer the below configuration parameter table which are used to configure a Multi Bar chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Multi Bar Chart.
widget_type yes Specify the chart / widget type. i.e. multi_bar_chart
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
extra_filter no use this parameter to filter the data from from one or more selected field(s). It supports CFXQL query format.
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
chartProperties chartProperties defines the representation of data using Yaxis, Xaxis & Various other Combinations like zooming,color etc...
duration hours no This parameter specifies how many hours in the past should the data be fetched. If time_filter is set to true, time filter will override this value.
group_by yes Specify one or more columns to apply the group_by. This parameter supports multiple column values. Ex: "group_by": [ "column_01", "column_02", "column_n"]
Column yes Name of the column in the data that contains numerical data to perform aggregations
agg yes Specify the aggregation function. Supported values are value_count (shows total count) and cardinality (shows unique count)
type yes Specify the data type while performing aggregation function. Supported values are int and str. int option is valid only for min, max, sum, mean aggregation functions.
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided
axis no To provide another y-axis support we will add the new definition here
graph_type no It expects two parameters bar & line, Note: Default is bar

3.6.1 Multi Bar Chart Example

Below are a sample configuration of Multi Bar Chart / Widget configuration.

{
  "title": "Multi Bar Chart Example",
  "widget_type": "multi_bar_chart",
  "stream": "rda_microservice_traces",
  "extra_filter": "request_type != 'are-you-there'",
  "ts_column": "timestamp",
  "chartProperties": {
    "yAxisLabel": "Duration",
    "xAxisLabel": "Services",
    "stacked": true,
    "legendLocation": "right",
    "orientation": "vertical"
  },
  "duration_hours": 24,
  "group_by": [
    "request_type",
    "destination"
  ],
  "column": "duration",
  "agg": "value_count",
  "type": "int",
  "widget_id": "172919af"
}

Dashboard_Multi_Bar_Chart_Example

3.6.2 Multi Bar Chart with extra filter

Below are a sample configuration of Multi Bar Chart / Widget configuration with extra_filter

{
  "title": "Multi Bar Chart Example",
  "widget_type": "multi_bar_chart",
  "stream": "rda_microservice_traces",
  "extra_filter": "source in ['scheduler', 'alert-ingester']",
  "ts_column": "timestamp",
  "chartProperties": {
    "yAxisLabel": "Duration",
    "xAxisLabel": "Services",
    "stacked": true,
    "legendLocation": "right",
    "orientation": "vertical"
  },
  "duration_hours": 24,
  "group_by": [
    "request_type",
    "destination"
  ],
  "column": "duration",
  "agg": "value_count",
  "type": "int",
  "widget_id": "172919af"
}

Dashboard_Multi_Bar_Chart_scheduler_alert-ingester

3.6.3 Multi Bar Chart Without Filters

{
  "title": "Multi Bar Chart Example",
  "widget_type": "multi_bar_chart",
  "stream": "rda_microservice_traces",
  "ts_column": "timestamp",
  "chartProperties": {
    "yAxisLabel": "Duration",
    "xAxisLabel": "Services",
    "stacked": true,
    "legendLocation": "right",
    "orientation": "vertical"
  },
  "duration_hours": 24,
  "group_by": [
    "request_type",
    "destination"
  ],
  "column": "duration",
  "agg": "value_count",
  "type": "int",
  "widget_id": "172919af"
}

Dashboard_Multi_Bar_Chart_Without_Filters

3.6.4 Mixed Chart Bucket

Below is a sample configuration of Mixed Chart Bucket / Widget.

{
  "title": "Mixed Chart",
  "widget_type": "mixed_chart_buckets",
  "axis": [
    {
      "stream": "people_custom_timestamp",
      "ts_column": "timestamp",
      "chartProperties": {
        "yAxisLabel": "Same name people in City",
        "xAxisLabel": "Name",
        "stacked": false,
        "legendLocation": "right",
        "orientation": "vertical"
      },
      "group_by": [
        "city",
        "name"
      ],
      "column": "_RDA_Id",
      "agg": "value_count",
      "type": "int"
    },
    {
      "stream": "people_custom_timestamp",
      "ts_column": "timestamp",
      "chartProperties": {
        "yAxisLabel": "Number of people in Age group",
        "xAxisLabel": "Name"
      },
      "group_by": [
        "age",
        "name"
      ],
      "column": "count_",
      "agg": "value_count",
      "type": "int",
      "graph_type": "line",
      "widget_id": "1e074715"
    }
  ],
  "widget_id": "172919a9"
}
Dashboard_Mixed_Chart

3.7 Line Graph Chart

Please refer the below configuration parameter table which are used to configure a Line Graph chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Line Graph chart.
widget_type yes Specify the chart / widget type. i.e. timeseries
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
dataset no Specify the dataset name. Note: Either of persistent stream or dataset parameter is needed
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.
min_Width no Specify the timestamp column name within the selected persistent stream or dataset.
height no Specify the chart / widget's height, range is 0 to n.
chartProperties no chartProperties defines the representation of data using Yaxis, Xaxis & Various other Combinations like zooming,color etc...
interval yes Displays the report according to the prescribed time frame, Supported units are milliseconds (ms), seconds (s), minutes (m), hours (h), days (d). example: '5m' means 5 minutes
interval_type no When the interval_type is set to calender. Note: the possible values for interval are minute,hour,day,week,month,quarter,year
gap_interval no This expects join, keep, skip
group_by yes Splitting and defining reports which are identical and showing them categorically
series_spec yes Its more about how many series to show and which data points to show
column yes Name of the column in the data that contains numerical data to perform aggregations
agg yes Specify the aggregation function. Supported values are value_count (shows total count), cardinality (shows unique count), min, max and avg
type yes Specify the data type while performing aggregation function. Supported values are int and str. int option is valid only for min, max, sum, mean aggregation functions.
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided
fixTimeWindow no By specifying fixTimeWindow as true X-axis time window will show user selected duration even if the data is only for subset of the time
customIntervalMap no which can contain from and to range expressed in hours, and interval for that time range. If this map is not specified, backend defaults to a built in range.

Below is a sample configuration of Line Graph Chart / Widget.

{
  "title": "Time Series using Stream Example",
  "widget_type": "timeseries",
  "stream": "rdaf_services_logs",
  "ts_column": "timestamp",
  "max_width": 12,
  "height": 3,
  "min_width": 12,
  "chartProperties": {
    "yAxisLabel": "Count",
    "xAxisLabel": null,
    "legendLocation": "bottom"
  },
  "interval": "15Min",
  "group_by": [
    "log_severity"
  ],
  "series_spec": [
    {
      "column": "log_severity",
      "agg": "value_count",
      "type": "int"
    }
  ]
}
Dashboard_Line_Graph_chart

3.7.1 Line Graph Chart With Fix Time Window

Below is a sample configuration of Line Graph Chart With Fix Time Window / Widget.

{
  "title": "Time Series using Stream Example",
  "widget_type": "timeseries",
  "stream": "rda_microservice_traces",
  "ts_column": "timestamp",
  "max_width": 12,
  "height": 3,
  "min_width": 12,
  "fixTimeWindow": true,
  "chartProperties": {
    "yAxisLabel": "Count",
    "xAxisLabel": null,
    "legendLocation": "bottom"
  },
  "interval": "auto",
  "group_by": [
    "request_type"
  ],
  "series_spec": [
    {
      "column": "request_type",
      "agg": "value_count",
      "type": "int"
    }
  ],
  "widget_id": "121762cf"
}

Dashboard_Line_Graph_chart

User Selected Duration

Dashboard_Line_Graph_chart

3.7.2 Timeseries with Interval and Interval Type

Below is a sample configuration of Timeseries with Interval and Interval Type

{
  "title": "Time Series (Calendar Interval month)",
  "widget_type": "timeseries",
  "stream": "covid19",
  "ts_column": "timestamp",
  "width": 12,
  "height": 6,
  "chartProperties": {
    "yAxisLabel": "Confirmed Count",
    "xAxisLabel": "months",
    "legendLocation": "bottom"
  },
  "interval": "month",
  "interval_type": "calendar",
  "series_spec": [
    {
      "column": "Confirmed",
      "agg": "value_count",
      "type": "int"
    }
  ]
}

Dashboard_Interval_Type

3.7.3 Timeseries with Gap Interval

Below is a sample configuration of Timeseries with Gap Interval - Keep / Widget configuration

{
  "title": "Time Series (Gap Interval Keep)",
  "widget_type": "timeseries",
  "gap_interval": "keep",
  "stream": "covi19",
  "ts_column": "timestamp",
  "max_width": 12,
  "height": 3,
  "min_width": 12,
  "chartProperties": {
    "yAxisLabel": "Count",
    "xAxisLabel": "Timestamp",
    "legendLocation": "bottom"
  },
  "interval": "5m",
  "series_spec": [
    {
      "column": "Confirmed",
      "agg": "sum",
      "type": "int"
    }
  ]
}
Dashboard_Keep_Chart

Below is a sample configuration of Timeseries with Gap Interval - Join / Widget configuration

{
  "title": "Time Series (Gap Interval Join)",
  "widget_type": "timeseries",
  "gap_interval": "join",
  "stream": "covi19",
  "ts_column": "timestamp",
  "max_width": 12,
  "height": 3,
  "min_width": 12,
  "chartProperties": {
    "yAxisLabel": "Count",
    "xAxisLabel": "Timestamp",
    "legendLocation": "bottom"
  },
  "interval": "5m",
  "series_spec": [
    {
      "column": "Confirmed",
      "agg": "sum",
      "type": "int"
    }
  ]
}
Dashboard_Join_Chart

Below is a sample configuration of Timeseries with Gap Interval - Skip / Widget configuration

{
  "title": "Time Series (Gap Interval Skip)",
  "widget_type": "timeseries",
  "gap_interval": "skip",
  "stream": "covi19",
  "ts_column": "timestamp",
  "max_width": 12,
  "height": 3,
  "min_width": 12,
  "chartProperties": {
    "yAxisLabel": "Count",
    "xAxisLabel": "Timestamp",
    "legendLocation": "bottom"
  },
  "interval": "5m",
  "series_spec": [
    {
      "column": "Confirmed",
      "agg": "sum",
      "type": "int"
    }
  ]
}
Dashboard_Skip_Chart

3.8 Data flow Chart

Please refer the below configuration parameter table which are used to configure a Data flow chart within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Data Flow chart.
widget_type yes Specify the chart / widget type. i.e. dataflow,eventflow
chart properties yes chartProperties defines the representation of data using Yaxis, Xaxis & Various other Combinations like zooming,color etc...
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
dataset no Specify the dataset name. Note: Either of persistent stream or dataset parameter is needed
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.
min_Width no Specify the timestamp column name within the selected persistent stream or dataset.
height no Specify the chart / widget's height, range is 0 to n.
formatter no Formats integer values as K for thousands, M for Millions. If the input value is already a counted as thousands, optional value multiplier can be specified.
extra_filter no se this parameter to filter the data from from one or more selected field(s). It supports CFXQL query format.
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.
duration_hours no This parameter specifies how many hours in the past should the data be fetched. If time_filter is set to true, time filter will override this value.
group_by yes Splitting and defining reports which are identical and showing them categorically
column yes Name of the column in the data that contains numerical data to perform aggregations
agg yes Specify the aggregation function. Supported values are value_count (shows total count) and cardinality (shows unique count)
type yes Specify the data type while performing aggregation function. Supported values are int and str. int option is valid only for min, max, sum, mean aggregation functions.
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided

Below is the sample of Data Flow Chart / Widget configuration.

{
  "title": "Event Flow Graph",
  "widget_type": "dataflow",
  "chartProperties": {
    "layoutDirection": "tb",
    "userZoomingEnabled": false,
    "hasToolbar": false
  },
  "output": {
    "formatter": "DescriptiveCountFormatter",
    "stream": "dli-log-stats",
    "extra_filter": "mode is 'processed' and device not in ['ERROR','INFO','WARNING']",
    "ts_column": "timestamp",
    "duration_hours": 720,
    "group_by": [
      "device"
    ],
    "column": "count",
    "agg": "sum",
    "type": "int"
  },
  "input": {
    "formatter": "DescriptiveCountFormatter",
    "stream": "dli-log-stats",
    "extra_filter": "mode is 'ingested' and device not in ['ERROR','INFO','WARNING']",
    "ts_column": "timestamp",
    "duration_hours": 720,
    "group_by": [
      "device"
    ],
    "column": "count",
    "agg": "sum",
    "type": "int",
    "widget_id": "da16c98b"
  },
  "widget_id": "66b927bc"
}

Dashboard_Event_Flow_chart

3.9 Image Chart

Image widget can show any image that is accessible through a URL.

Please refer the below configuration parameter table which are used to configure an Image chart / widget within the dashboard.

Parameter Name
Mandatory Description
title yes Specify the label for the Image chart
widget_type yes Specify the chart / widget type. i.e. image
max_width no Specify the chart / widget's maximum width size, range is 0 to 12.
min_width no Specify the timestamp column name within the selected persistent stream or dataset.
imageUrl yes Specify the url of the image thats needs to be represented in the chart
widget_id no Every widget will be represented with Unique id at the end, Its Autogenerated if not provided

Below is a sample configuration of Image Chart / Widget.

{
  "title": "Ocean",
  "widget_type": "image",
  "max_width": 6,
  "min_width": 4,
  "height": 6,
  "imageUrl": "https://images.unsplash.com/photo-1657883509333-0b1d2ee75853?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=704&q=80",
  "widget_id": "6e8df419"
}
Dashboard_Image_chart

3.10 Features

3.10.1 Library

Please refer the below configuration parameter table which are used to configure Library / widget within the dashboard.

Parameter Name
Mandatory Description
name yes Specify name of the Dashboard which need to be added as a page.
label yes Specify the label for Dashboard page.
title yes Specify the label for the Multi Bar Chart.
stream no Specify the persistent stream. Note: Either of persistent stream or dataset parameter is needed.
library yes Any Dashboard can be a widget library. Note: Any other dashboard can import any widget from any library
import no from (the library dashboard name) and as (rename that dashboard temporary as) ex.from: "covi-library-1", as: "lib1"
extends yes will get the name of library within the definition or from other dashboard ex. "extends": "self:covi_count" / "extends": "lib1:covi_counter" Note: self is used when we call the library within the definition & name of the library if its imported

Library Defined

Below is a sample configuration of Library / Widget.

{
  "name": "covi-library-1",
  "label": "Test Library for Sample Widgets",
  "enabled": "false",
  "description": "Sample library",
  "library": {
    "widgets": {
      "covi_counter": {
        "title": "Deaths",
        "min_width": 6,
        "height": 4,
        "max_width": 6,
        "widget_type": "custom_counter",
        "formatter": "DescriptiveCountFormatter",
        "stream": "covid19",
        "ts_column": "timestamp",
        "duration_hours": 9600,
        "sparkline": {
          "interval": "360h"
        },
        "style": {
          "color-list": [
            "#8e24aa"
          ]
        },
        "column": "Deaths",
        "agg": "sum"
      }
    }
  }

}

Library Being Called from the above Definition

Below is a sample configuration of Library Being Called from the above Definition / Widget.

{
  "name": "covi-library-2",
  "label": "Library Widget Covid",
  "description": "Covid data",
  "enabled": "false",
  "dashboard_type": "dashboard",
  "dashboard_folder": "Default",
  "import": [
    {
      "from": "covi-library-1",
      "as": "lib1"
    }
  ],
  "dashboard_sections": [
    {
      "title": "SECTION 1",
      "show_filter": true,
      "widgets": [
        {
          "extends": "self:covi_count",
          "widget_id": "e1201b84"
        },
        {
          "extends": "lib1:covi_counter",
          "widget_id": "c3ac1d59"
        }
      ]
    }
  ],
  "library": {
    "widgets": {
      "covi_count": {
        "title": "Confirmed",
        "min_width": 6,
        "height": 4,
        "max_width": 6,
        "widget_type": "custom_counter",
        "formatter": "DescriptiveCountFormatter",
        "stream": "covid19",
        "ts_column": "timestamp",
        "duration_hours": 8990,
        "sparkline": {
          "interval": "360h"
        },
        "style": {
          "color-list": [
            "#008000"
          ]
        },
        "column": "Confirmed",
        "agg": "sum"
      }
    }
  } 
}

Dashboard_Library_Report

3.10.2 Stream Query Mapping

Please refer the below configuration parameter table which are used to configure Stream Query Mapping

Parameter Name
Mandatory Description
stream yes Name of the stream which needs to be passed

Note

When specifying a replacement column, both columns must be of same type

Below is a sample configuration of Stream Query Mapping / Widget

"stream_query_mapping": {
        "oia-incidents-stream": {
            "timestamp": "i_created_ts",
            "a_severity": null
        },
        "oia-alerts-stream": {
            "timestamp": "a_created_ts",
            "i_priority_label": null
        }
    }

Info

By adding above section to any dashboard, it will alter queries sent to OpenSearch based which stream it is querying. If filter contains column "timestamp", replace it with i_created_ts If the filter contains a_severity column skip that specific filter in the query (rest of the conditions will still apply)

{
  "name": "Stream Query Mapping Example",
  "label": "Trends",
  "description": "Trends",
  "version": "23.9.9",
  "enabled": true,
  "dashboard_style": "auto",
  "dashboard_type": "auto",
  "stream_query_mapping": {
    "oia-incidents-stream": {
      "timestamp": "i_created_ts",
      "a_severity": null
    },
    "oia-alerts-stream": {
      "timestamp": "a_created_ts",
      "i_priority_label": null
    }
  },
  "dashboard_filters": {
    "time_filter": true,
    "group_filters": [
      {
        "stream": "oia-alerts-stream",
        "title": "Source",
        "group_by": [
          "a_source_systemname"
        ],
        "ts_column": "a_updated_ts",
        "agg": "value_count",
        "column": "a_id",
        "type": "str"
      }
    ]
  },
  "dashboard_sections": [
    {
      "title": "Trends",
      "show_filter": true,
      "widgets": [
        {
          "widget_type": "timeseries",
          "title": "Alert Trend",
          "stream": "oia-alerts-stream",
          "interval": "auto",
          "ts_column": "a_created_ts",
           "group_by": [
            "a_severity"
          ],
          "series_spec": [
            {
              "agg": "sum",
              "column": "count_",
              "label": "Alert Count"
            }
          ]
        },
        {
          "widget_type": "timeseries",
          "title": "Incident Trend",
          "stream": "oia-incidents-stream",
          "interval": "auto",
          "ts_column": "timestamp",
          "group_by": [
          "i_priority_label"
          ],
          "series_spec": [
            {
              "agg": "sum",
              "column": "count_",
              "label": "Incident Count"
            }
          ]
        }
      ]
    }
  ]
}

3.11 Shaded Chart

Please refer the below configuration parameter table which are used to configure Shaded Chart / widget within the dashboard.

Note

This chart/widget is only specific to Machine Learning Data & not for Generic Use

Parameter Name
Mandatory Description
title yes Specify the label for the Multi Bar Chart.
widget_type yes Specify the chart / widget type. i.e. multi_bar_chart
stream yes Specify the persistent stream
chart properties yes chartProperties defines the representation of data using Yaxis, Xaxis & Various other Combinations like zooming,color etc...
downsample no if set to true chart will downsample the number of datapoints maintaining overall pattern of data else plot entire data
baseline_column yes column name representing actual data
anomalies_column yes column name representing anomaly values
predicted_column yes column name representing predicted values by the model
predicted_anomalies yes column name representing predicted anomaly values by the model
upperBound_column yes column name representing upper bound values
lowerBound_column yes column name representing lower bound values
show-markers no if set to true charts will show an yellow vertical line which denotes Prediction start time
type yes This attribute accepts two types of data train & predict
ts_column yes Specify the timestamp column name within the selected persistent stream. It is optional when dataset is used.

Below is a sample configuration of Shaded Chart / Widget.

{
  "widget_type": "shaded_chart_multisource",
  "title": "Forecasting and Anomaly Detection",
  "show-markers": true,
  "max_width": 12,
  "min_width": 12,
  "height": 8,
  "chartProperties": {
    "yAxisLabel": "Value",
    "xAxisLabel": "Time"
  },
  "sources": [
    {
      "type": "train",
      "downsample": false,
      "stream": "regression-train-output",
      "ts_column": "timestamp",
      "baseline_column": "baseline",
      "anomalies_column": "anomalies",
      "predicted_column": "predicted",
      "predicted_anomalies": "predicted_anomalies",
      "upperBound_column": "upperBound",
      "lowerBound_column": "lowerBound",
      "duration_hours": 1000000,
      "synchronized-group": 0
    },
    {
      "type": "predict",
      "downsample": false,
      "stream": "regression-live-output",
      "ts_column": "live_timestamp",
      "baseline_column": "baseline",
      "anomalies_column": "anomaly",
      "predicted_column": "predicted",
      "predicted_anomalies": "predicted_anomalies",
      "upperBound_column": "upperBound",
      "lowerBound_column": "lowerBound",
      "duration_hours": 1000000,
      "synchronized-group": 0
    }
  ],
  "widget_id": "7a134625"
}
Dashboard_Shaded_Chart