Dashboard structure in JSON
Dashboards allow you to visualize, organize and share analytical data.
Each dashboard is characterized by the following features:
- Can consist of one or more rows of panels.
- Each panel contains a visualization, such as a chart or table.
- In each panel, a search generates data for the visualization.
- Includes
inputs
elements, such as textboxes or multiselect, for user interaction. Elements in the dashboard can be configured to respond to inputs, such as changing the search query that drives the visualization.
The general view of the dashboard hierarchy is as follows
{
"label": [0..1],
"inputs": [
{
"input": [0..N]
}
],
"rows": [
{
"panels": [0..N]
}
],
"vars": [
{
"var": [0..N]
}
]
}
Item | Description | JSON |
---|
Label | Dashboard Name. | |
Filters | An array of inputs to interact with. | |
Rows | An array of dashboard rows with a panel or panels. | |
- | - | |
Filters define the interface of user interaction with the dashboard. Filters such as radio buttons and checkboxes allow users to select one or more options. Other filters such as text fields, time entry fields, etc. allow users to enter data or change the time range of the search.
The following attributes are used in each filter.
Name | Data type | Description |
---|
name | String | The system name of the filter. |
label | String | A text label for the filter. |
type | | One of the types presented. time text selection checkbox radio multiselection
|
options | Object | Presets for the filter. |
token | Object | The value selected by the user using the filter. |
timeInput | String | The value of the system field of the time type filter for use in search queries. Applies to filter types: selection , multiselection . |
Different types of settings can be used in each filter.
Name | Data Type | Description |
---|
default | Object | Default settings for the filter. |
static | Array | List of values to be filled manually (for types checkbox , selection , radio , multiselection ). |
allow_custom | Boolean | Possibility to enter your own option for further selection in the filter (only for multiselection type). |
search | String | Search query to generate dynamic selection options in the filter (only for selection and multiselection types). |
Each type of filter has its own default settings.
Filter Type | JSON | Description |
---|
time | { "options": { "default": { "start": "string", "end": "string", "isPaused": "boolean", "refreshInterval": "number" } } }
| start - start of the time periodend - end of time periodisPaused - flag for enabling/disabling automatic time updaterefreshInterval - time period of automatic time update.
|
checkbox
selection
multiselection
| { "options": { "default": [ { "label": "string", "value": "string" } ] } }
| label - displayed value in the filtervalue - system value in the filter.
|
text
radio
| { "options": { "default": "string" } }
| Default text value. |
The token has a different representation for each filter type.
Filter Type | JSON | Description |
---|
checkbox
multiselection
| { "token": { "prefix": "string", "suffix": "string" }, "token_value": { "prefix": "string", "suffix": "string" }, "delimiter": "string" }
| For token prefix - text to be added before the tokensuffix - text to be added after the token
For token_value prefix - text to be added before the token valuesuffix - text to be added after the token value
For delimiter delimiter - separator between the selected values.
|
text
radio
selection
| { "token": { "prefix": "string", "suffix": "string" } }
| prefix - text to be added before the tokensuffix - text to be added after the token
|
In the context of dashboard interfaces, the rows
element is a container for one or more child panel
elements. It is used to group and control the arrangement of panels on a page.
Inside the row
container are panel
elements, which are used to display visual data (charts, graphs, diagrams, etc.). Panels allow you to control the grouping and arrangement of visualizations on the page.
Within a panel, visualization elements are aligned horizontally. To arrange visualizations vertically, a new row
container is created.
General view of the panel structure
{
"inputs": [],
"height": "number | string",
"width": "number | string",
"label": "string",
"type": "string",
"viz": {},
"depends": [],
"subpanels": []
}
Item | Description | JSON |
---|
Filters | An array of inputs to interact with. | |
Height | Numeric or string value (percentage) of the panel height. | |
Width | A numeric or string value (in percentage or pixels) of the panel width. | |
Label | Panel Title. | |
Type | Panel Type. | |
Visualization | The visualisation used in the panel. | |
Depends | An array of tokens used to display the panel. | |
Subpanels | An array of child panels. | |
The panel can contain one or more visualization types.
Item | JSON | Description |
---|
options
| { "viz": { "options": {} } }
| Settings for visualization. |
options.sme.query | { "viz": { "options": { "sme": { "query": "string" } } } }
| Search query forming values in the visualization. |
options.drilldown | { "viz": { "options": { "drilldown": { "enableDrilldown": "boolean", "drilldownType": "string", "drilldownText": "string", "drilldownQuery": "string", "drilldownCustomTimeTokenEarliest": "string", "drilldownCustomTimeTokenLatest": "string", "drilldownSelectTimeToken": "string", "drilldownTokens": [{ "name": "string", "value": "string" } ] } } } }
| Drilldown. enableDrilldown - flag to enable drilldowndrilldownType - type of drilldown. The available options are: search (link to search), custom (external link), tokenControl (Change tokens in dashboard)drilldownText - external link value (only for custom )drilldownQuery - search query value (only for search )drilldownCustomTimeTokenEarliest - earliest time period value (only for search )drilldownCustomTimeTokenLatest - latest time period value (only for search )drilldownSelectTimeToken - system name of the time range token. For custom value, customPicker is used (only for search )drilldownTokens - array of tokens that participate in the drilldown. The array element includes token name and value (only for tokenControl )
|
timeToken
| { "viz": { "timeToken": "string" } }
| The value of a system filter field of type time for use in search queries OR pre-defined time frames for the start and end of the query. |
{ "viz": { "timeToken": { "start": "string", "end": "string" } } }
|
type
| { "viz": { "type": "string" } }
| One of the types of visualizations presented |
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.colorRuleList | { "options": { "colorRuleList": [{ "field": "string", "colorScheme": "string", "pallete": "string | []", "show": "boolean", "isBackground": "boolean" } ] } }
| Customizing color scheme of the columns field - field name.colorScheme - coloring type. The available options are: scale (palette), field (by value), range .palette - coloring palette. The value of the field depends on the colorScheme field.show - flag to display the color scheme setting.isBackground - Column cell coloring flag.
|
colorRuleList[].palette | | For colorScheme with scale value, the coloring palette is specified by a string. For example, white_to_green. |
{ "pallete": [{ "value": "string", "color": "string" } ] }
| For colorScheme with value field , the coloring palette is set by an object or objects with values: value - cell valuecolor - color value in HEX format.
|
{ "pallete": [{ "minValue": "number", "maxValue": "number", "color": "string" } ] }
| For colorScheme with value range , the coloring palette is set by an object or objects with values: minValue - the numeric value of the left range boundarymaxValue - the numeric value of the right range boundarycolor - color value in HEX format.
|
options.tableAutoWidth | { "options": { "tableAutoWidth": "boolean" } }
| Flag to automatically calculate the table width. |
options.pagination | { "options": { "pagination": { "enabled": "boolean", "rowsPerPageList": [{ "label": "string" } ], "rowsPerPageDefault": { "label": "string" } } } }
| Customizing pagination. enabled - flag to enable pagination in the tablerowsPerPageList - array of options for selecting the number of displayed rows in the table. The array element is specified by the value with the rowsPerPageDefault field structurerowsPerPageDefault - default value of the displayed rows in the table.
|
options.summary | { "options": { "summary": { "enabled": "boolean" } } }
| Flag to enable column statistics. |
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.general | { "options": { "general": { "fieldForTrend": "string", "fieldForValue": "string", "label": "string" } } }
| General settings fieldForTrend - name of the field for drawing the trend linefieldForValue - name of the field to display the metriclabel - name of the metrics panel.
|
options.show | { "options": { "show": { "arrow": "boolean", "label": "boolean", "sparkline": "boolean", "delimiters": "boolean", "delimiter": "string" } } }
| Display settings arrow - flag for displaying the trend indicatorlabel - flag for displaying the name of the metrics panelsparkline - trend display flagdelimiters - flag for displaying the thousands separatordelimiter - separator value. Valid values are comma (, ), dot (. ), space ( ).
|
options.color | { "options": { "color": { "invert": "boolean", "isRange": false, "color": [{ "color": "string", "value": "string | number" } ] } } }
| Configuring metric coloring by value. invert - Flag to color the text or background of the panel.isRange - Flag of metric coloring by range. In this case it is equal to false .color - Array of color pairs in HEX format color and metric values value .
|
{ "options": { "color": { "invert": "boolean", "isRange": true, "color": [{ "color": "string", "range": { "min": "number", "max": "number" } } ] } } }
| Configuring metric coloring by range invert - Flag to color the text or background of the panel.isRange - Flag of metric coloring by range. In this case it is equal to true .color - An array of pairs of HEX-formatted color color and metric value range range , which is described by a minimum value of min and a maximum value of max .
|
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.general | { "options": { "general": { "checkedDonut": "boolean", "checkedLabel": "boolean", "checkedOther": "boolean", "checkedSliceCount": "boolean", "checkedSlicePercent": "boolean", "textField": "string", "threshold": "number", "truncateText": "boolean", "truncatePosition": "string" } } }
| General settings checkedDonut - flag to enable the 'donut' diagramcheckedLabel - flag to enable the display of the name on the diagramcheckedOther - flag to enable the 'Other' sectorcheckedSliceCount - flag to enable the display of the number of values for each sectorcheckedSlicePercent - flag to enable the display of the percentage value for each sectortextField - chart titlethreshold - percentage threshold value for the 'Other' sectortruncateText - flag to enable text trucation for each sectortruncatePosition - The start of the text truncation position. The values left , right and center are allowed.
|
options.color | { "options": { "color": { "rulesArray": [{ "field": "string", "color": "string" } ] } } }
| Customising the sector coloring. field - the name of the sector in the chartcolor - color value in HEX format.
|
options.theme | { "options": { "theme": { "name": "string" } } }
| Pre-configured sector coloring theme. |
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "stackedMode": "boolean", "enableArea": "boolean", "multiseries": "boolean" } } }
| General settings showScrollBar - flag to enable the preview scale in the diagramstackedMode - flag to enable grouping of data seriesenableArea - flag to enable shading of the area below the graphmultiseries - flag to enable splitting of data series on the chart.
|
options.line | { "options": { "line": { "smooth": "number", "opacity": "number", "strokeWidth": "number" } } }
| Customising the line display smooth - smoothness of the lineopacity - opacity of the linestrokeWidth - line width value.
|
options.grouping | { "options": { "grouping": { "dataGrouping": "boolean", "dataGroupingAutoBaseInterval": "boolean", "dataGroupingBaseInterval": { "timeUnit": "string", "count": "number" }, "dataGroupingCount": "number" } } }
| Customizing data grouping dataGrouping - flag to enable data groupingdataGroupingAutoBaseInterval - flag to enable automatic calculation of the data grouping intervaldataGroupingBaseInterval - Object of manual calculation of data grouping interval. The object is characterized by time unit timeUnit and number of units count dataGroupingCount - Values for the amount of data to be grouped.
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean" } } }
| Customizing X-Axis title - axis titlelabelRotation - value of the degree of rotation of the values on the axistruncate - flag to enable truncation of the value name on the axis.
|
options.yaxis | { "options": { "yaxis": { "title": "string", "logarithmic": "boolean", "minVal": "string", "maxVal": "string" } } }
| Customizing Y-Axis title - axis titlelogarithmic - flag to enable logarithmic display scale. Default is linear (false)minVal - lower limit of values on the axismaxVal - upper limit of values on the axis.
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string", "truncateText": "boolean" } } }
| Customising the legend enabled - flag to enable legend display on the chartposition - value of the legend location on the chart. Valid values are: right , left , top , bottom truncateText - flag to enable value reduction in the legend.
|
options.color | { "options": { "color": { "colorList": [{ "field": "string", "color": "string" } ] } } }
| Customising the coloring of the lines field - line namecolor - color value in HEX format.
|
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "stackedMode": "boolean", "enableBar": "boolean", "multiseries": "boolean" } } }
| General settings showScrollBar - flag to enable the preview scale in the diagramstackedMode - flag to enable grouping of data seriesenableBar - flag to enable horizontal displaymultiseries - flag to enable splitting of data series on the chart.
|
options.column | { "options": { "column": { "borderRadius": "number", "opacity": "number" } } }
| Customization display of the column borderRadius - value of the rounding radius of the column cornersopacity - column opacity value.
|
options.grouping | { "options": { "grouping": { "dataGrouping": "boolean", "dataGroupingAutoBaseInterval": "boolean", "dataGroupingBaseInterval": { "timeUnit": "string", "count": "number" }, "dataGroupingCount": "number" } } }
| Customizing data grouping dataGrouping - flag to enable data groupingdataGroupingAutoBaseInterval - flag to enable automatic calculation of the data grouping intervaldataGroupingBaseInterval - Object of manual calculation of data grouping interval. The object is characterized by time unit timeUnit and number of units count dataGroupingCount - Values for the amount of data to be grouped.
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean" } } }
| Customizing X-Axis title - axis titlelabelRotation - value of the degree of rotation of the values on the axistruncate - flag to enable truncation of the value name on the axis.
|
options.yaxis | { "options": { "yaxis": { "title": "string", "logarithmic": "boolean", "minVal": "string", "maxVal": "string" } } }
| Customizing Y-Axis title - axis titlelogarithmic - flag to enable logarithmic display scale. Default is linear (false)minVal - lower limit of values on the axismaxVal - upper limit of values on the axis.
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string", "truncateText": "boolean" } } }
| Customising the legend enabled - flag to enable legend display on the chartposition - value of the legend location on the chart. Valid values are: right , left , top , bottom truncateText - flag to enable value reduction in the legend.
|
options.color | { "options": { "color": { "colorList": [{ "field": "string", "color": "string" } ] } } }
| Customizing the coloring of columns field - column namecolor - color value in HEX format.
|
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.general | { "options": { "general": { "html": "string" } } }
| General settings |
options.styles | { "options": { "styles": { "сss": "string" } } }
| Styles settings |
The following types of settings are characteristic of visualization.
Item | JSON | Description |
---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "showScrollBarY": "boolean", "enableSpace": "boolean", } } }
| General settings showScrollBar - flag to enable the preview scale in the chartshowScrollBarY - flag to enable the preview vertical scale in the chartenableSpace - flag to enable merging between elements.
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean", "field": "string" } } }
| Customizing X-Axis title - axis titlelabelRotation - value of the degree of rotation of the values on the axistruncate - flag to enable truncation of the value name on the axisfield - data field.
|
options.yaxis | { "options": { "yaxis": { "title": "string", "field": "string" } } }
| Customizing Y-Axis title - axis titlefield - data field.
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string" } } }
| Customising the legend enabled - flag to enable legend display on the chartposition - value of the legend location on the chart. Valid values are: right , left , bottom
|
options.color | { "options": { "color": { "type": "string", "intervals": [ { "to": "number", "color": "string" } ], "field": "string", "minColor": "string", "maxColor": "string" } } }
| Customizing the coloring type - coloring method. Options for selecting Minimum-Maximum and Intervals are availablefield - data fieldminColor - color for minimum value (only for type Minimum-Maximum )maxColor - color for maximum value (only for type Minimum-Maximum )intervals[].to - numeric value for upper bound interval (only for type Intervals )intervals[].color - color value in HEX format. (only for type Intervals )
|