Dashboard YAML structure

Full dashboards Examples Directory


dashboard

Required

Dict

 typedescriptiondefaultrequired
nameString
Dashboard name True
description
StringDashboard description False
layout
DictThe dashbaord layout structure
True
variablesListCList of variables with optional CLI arguments False
visualizationListList of graphs to display on the defined layout boxes True

layout

Required

Dict

 typedescriptiondefaultrequired
splitModeString
Split“row”False
fullScreen
BooleanDashboard descriptionTrueFalse
header
DictDashboard header options
False
body.boxesDictOptions 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
 typedescriptiondefaultrequired
enableBoolean
Whether to enable the screen split modeFalseFalse
size
IntegerLayout Size0False
ratio
IntegerLayout Ratio1False
split_modeDictSplit option, Options: column , row“row”False
splitDictFurthur split True

[left || middle || right].split

Optional

Dict

 typedescriptiondefaultrequired
SPLIT-NAMEDict
User Input - ​FalseFalse
size
IntegerLayout Size0False
ratio
IntegerLayout Ratio1False

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
 typedescriptiondefaultrequired
nameStringvariable name ,, also used for the CLI argument name True
default
Stringdevault value for the variable True
cliArgument
DictCLI argument options for the variable
False

cliArgument

Optional

Dict

 typedescriptiondefaultrequired
enableBooleanEnable CLI argument for the variable True
short
Stringshort for the argument True
required
BooleanWether the argument is required to run the commandFalseFalse

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
 typedescriptiondefaultrequired
nameStringName of graph True
enable
BooleanEnable the display of the graphTrueFalse
box
BooleanThe layout box to display the graph in,
Example: right , right_a , left_b

True
type Graph data type - Options: [asciiGraph, progressBarList, simpleTable, advancedTable] True
metricUnitStringthe metirc value unit - Options: [None, byte, mb, gb, tb, seconds, percentage]  
custom_keyStringcustom key for the metric result key,

Metric default result key 
asciiGraphOptionsDictGraph options with asciiGraph data type False
progressBarListOptionsDictGraph options with progressBarList data type False
simpleTableOptionsDictGraph options with simpleTable data type False
advancedTableOptionsDictGraph options with advancedTable data type False
simpleTableMetricStringRequired with ​simpleTable​ Data type
A single Prometheus Metric, where each result item is a row in the table and each label is a column.
 True
advancedTableColumnsListRequired with ​​advancedTable​ Data type
List of metrics, where each metric represent a column on the table
 True
progressBarListMetricsDictRequired with ​progressBarList​ Data type
Two Prometheus metrics, “usage” & “total” , to calculate and display the percentage of each result item and display as a progressBar
 True
asciiGraphMetricStringRequired with ​asciiGraph​ Data type
A single Prometheus Metric, where each result item is a line on the graph
 True


asciiGraphOptions

Optional

Dict

 typedescriptiondefaultrequired
heightIntegerGraph height17
False
width
IntegerGraph width45False
maxHeightInteger 20False
maxWidth
Integer
50False
updateIntervalSecondsIntegerData update interval5False

progressBarListOptions

Optional

Dict

 typedescriptiondefaultrequired
maxItemsCountIntegerMaxumim number of items to visualize20False
lineBreak
BooleanPrint lines between progressBarsTrueFalse
showBarPercentageBooleanshow progress percentage for ProgressBarsTrue
False
barWidth
IntegerProgressBar width20
False
updateIntervalSecondsIntegerData update interval5False

simpleTableOptions

Optional

Dict

 typedescriptiondefaultrequired
tableTypeStringTable type - Allowed OptionsplainFalse
showValue
BooleanShow value columnTrueFalse
headersUppercaseBooleanShow the table header in UpecaseTrue
False
autoConvertValue
BooleanAuto 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.FalseFalse
showTableIndexBooleanShow table Index on the leftTrue
False
updateIntervalSecondsIntegerData update interval5False

advancedTableOptions

Optional

Dict

 typedescriptiondefaultrequired
tableTypeStringTable type - Allowed OptionsplainFalse
showValue
BooleanShow value columnTrueFalse
headersUppercaseBooleanShow the table header in UpecaseTrue
False
autoConvertValue
BooleanAuto 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
showTableIndexBooleanShow table Index on the leftTrue
False
updateIntervalSecondsIntegerData update interval5False


advancedTableColumns

Required

List

 typedescriptiondefaultrequired
COULMN NAME
EX: - memory usage:
StringColumn name (User Input name)plainTrue
metric
StringPrometheus metric to qurey
True
metricUnitStringmetric result value unit
Options: [None, kb, byte, mb, gb, tb, seconds, percentage]
byteFalse
autoConvertValue
BooleanAuto 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.FalseFalse

progressBarListMetrics

Required

Dict

 typedescriptiondefaultrequired
total_value_metricStringPrometheus metric to qurey - to get total values True
total_value_metric
StringPrometheus metric to qurey - to get usage values
True