Dashboard YAML structure
Full dashboards Examples Directory
dashboard
Required
Dict
| type | description | default | required | |
|---|---|---|---|---|
| name | String | Dashboard name | True | |
| description | String | Dashboard description | False | |
| layout | Dict | The dashbaord layout structure | True | |
| variables | List | CList of variables with optional CLI arguments | False | |
| visualization | List | List of graphs to display on the defined layout boxes | True |
layout
Required
Dict
| type | description | default | required | |
|---|---|---|---|---|
| splitMode | String | Split | “row” | False |
| fullScreen | Boolean | Dashboard description | True | False |
| header | Dict | Dashboard header options | False | |
| body.boxes | Dict | Options of the 3 main screen splits | True |
left || middle || right
Optional
Dict
Example
left: enable: true size: 190 ratio: 1 split_mode: column split: left_a: size: 0 ratio: 1
| type | description | default | required | |
|---|---|---|---|---|
| enable | Boolean | Whether to enable the screen split mode | False | False |
| size | Integer | Layout Size | 0 | False |
| ratio | Integer | Layout Ratio | 1 | False |
| split_mode | Dict | Split option, Options: column , row | “row” | False |
| split | Dict | Furthur split | True |
[left || middle || right].split
Optional
Dict
| type | description | default | required | |
|---|---|---|---|---|
| SPLIT-NAME | Dict | User Input - | False | False |
| size | Integer | Layout Size | 0 | False |
| ratio | Integer | Layout Ratio | 1 | False |
Variables
Optional
List
Example
variables: - name: namespace default: .* cliArgument: enable: true short: -n required: false - name: pod default: .* cliArgument: enable: true short: -po required: false
| type | description | default | required | |
|---|---|---|---|---|
| name | String | variable name ,, also used for the CLI argument name | True | |
| default | String | devault value for the variable | True | |
| cliArgument | Dict | CLI argument options for the variable | False |
cliArgument
Optional
Dict
| type | description | default | required | |
|---|---|---|---|---|
| enable | Boolean | Enable CLI argument for the variable | True | |
| short | String | short for the argument | True | |
| required | Boolean | Wether the argument is required to run the command | False | False |
Visualization
Required
List
Example
visualization: - name: Pods Memory Usage enable: true box: right_a type: asciiGraph metricUnit: mb # Sorting is important if you expect lots of results asciiGraphMetric: > sort_desc(sum(container_memory_usage_bytes{namespace=~"$namespace", pod=~"$pod", pod!=""}) by (pod) / 1024 / 1024) custom_key: "🥕 " asciiGraphOptions: height: 0 width: 80 maxHeight: 17 maxWidth: 45 updateIntervalSeconds: 2
| type | description | default | required | |
|---|---|---|---|---|
| name | String | Name of graph | True | |
| enable | Boolean | Enable the display of the graph | True | False |
| box | Boolean | The layout box to display the graph in, Example: right , right_a , left_b | True | |
| type | Graph data type - Options: [asciiGraph, progressBarList, simpleTable, advancedTable] | True | ||
| metricUnit | String | the metirc value unit - Options: [None, byte, mb, gb, tb, seconds, percentage] | ||
| custom_key | String | custom key for the metric result key, | Metric default result key | |
| asciiGraphOptions | Dict | Graph options with asciiGraph data type | False | |
| progressBarListOptions | Dict | Graph options with progressBarList data type | False | |
| simpleTableOptions | Dict | Graph options with simpleTable data type | False | |
| advancedTableOptions | Dict | Graph options with advancedTable data type | False | |
| simpleTableMetric | String | Required with simpleTable Data typeA single Prometheus Metric, where each result item is a row in the table and each label is a column. | True | |
| advancedTableColumns | List | Required with advancedTable Data typeList of metrics, where each metric represent a column on the table | True | |
| progressBarListMetrics | Dict | Required with progressBarList Data typeTwo Prometheus metrics, “usage” & “total” , to calculate and display the percentage of each result item and display as a progressBar | True | |
| asciiGraphMetric | String | Required with asciiGraph Data typeA single Prometheus Metric, where each result item is a line on the graph | True |
asciiGraphOptions
Optional
Dict
| type | description | default | required | |
|---|---|---|---|---|
| height | Integer | Graph height | 17 | False |
| width | Integer | Graph width | 45 | False |
| maxHeight | Integer | 20 | False | |
| maxWidth | Integer | 50 | False | |
| updateIntervalSeconds | Integer | Data update interval | 5 | False |
progressBarListOptions
Optional
Dict
| type | description | default | required | |
|---|---|---|---|---|
| maxItemsCount | Integer | Maxumim number of items to visualize | 20 | False |
| lineBreak | Boolean | Print lines between progressBars | True | False |
| showBarPercentage | Boolean | show progress percentage for ProgressBars | True | False |
| barWidth | Integer | ProgressBar width | 20 | False |
| updateIntervalSeconds | Integer | Data update interval | 5 | False |
simpleTableOptions
Optional
Dict
| type | description | default | required | |
|---|---|---|---|---|
| tableType | String | Table type - Allowed Options | plain | False |
| showValue | Boolean | Show value column | True | False |
| headersUppercase | Boolean | Show the table header in Upecase | True | False |
| autoConvertValue | Boolean | Auto convert the metric value based on the metricUnit .. for example, if metric value is in byte, it would be converted to kb, mb, gb .. etc. | False | False |
| showTableIndex | Boolean | Show table Index on the left | True | False |
| updateIntervalSeconds | Integer | Data update interval | 5 | False |
advancedTableOptions
Optional
Dict
| type | description | default | required | |
|---|---|---|---|---|
| tableType | String | Table type - Allowed Options | plain | False |
| showValue | Boolean | Show value column | True | False |
| headersUppercase | Boolean | Show the table header in Upecase | True | False |
| autoConvertValue | Boolean | Auto convert the metric value based on the metricUnit .. for example, if metric value is in byte, it would be converted to kb, mb, gb .. etc. | False | False |
| showTableIndex | Boolean | Show table Index on the left | True | False |
| updateIntervalSeconds | Integer | Data update interval | 5 | False |
advancedTableColumns
Required
List
| type | description | default | required | |
|---|---|---|---|---|
| COULMN NAME EX: - memory usage: | String | Column name (User Input name) | plain | True |
| metric | String | Prometheus metric to qurey | True | |
| metricUnit | String | metric result value unit Options: [ None, kb, byte, mb, gb, tb, seconds, percentage] | byte | False |
| autoConvertValue | Boolean | Auto convert the metric value based on the metricUnit .. for example, if metric value is in byte, it would be converted to kb, mb, gb .. etc. | False | False |
progressBarListMetrics
Required
Dict
| type | description | default | required | |
|---|---|---|---|---|
| total_value_metric | String | Prometheus metric to qurey - to get total values | True | |
| total_value_metric | String | Prometheus metric to qurey - to get usage values | True |