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
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
2.5 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.
- Pie Chart
- Tabular Chart
- Pivot Tabular Chart
- Counter Chart
- Bar Chart
- Multi Bar Chart
- Topology Chart
- Line Graph Chart
- Data Flow Chart
- 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: |
---|---|
![]() |
![]() |
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"
}

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"
]
}
}
}

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"
}
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"
]
}
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"
}
3.2.4 Tabular chart with virtual_scrolling & showRowSummary
Below is the sample configuration of Tabular Chart / Widget with Virtual_scrolling & showRowSummary
parameter.
{
"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"
}
3.2.5 Tabular chart with Column Specific Hyperlink
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
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)
3.2.6 Tabular chart with External URL Hyperlink
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"
}
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"
}
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"
}
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"
}
]
}
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"
}
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"
}
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"
}
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"
]
}

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"
}
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"
}
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"
}
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"
}

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"
}
]
}

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"
}
User Selected Duration
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"
}
]
}
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"
}
]
}

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"
}
]
}

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"
}
]
}

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"
}
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"
}

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"
}
}
}
}
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"
}
