forked from hswaw/hscloud
ops/monitoring: pull in grafonnet-7.0
Change-Id: Ie036ef767419418876a18255a5ad378f5cfa1535
This commit is contained in:
parent
3af7da1988
commit
7d311e9602
13 changed files with 1839 additions and 0 deletions
846
ops/monitoring/lib/grafonnet/DOCS.md
Normal file
846
ops/monitoring/lib/grafonnet/DOCS.md
Normal file
|
@ -0,0 +1,846 @@
|
|||
# Docs
|
||||
|
||||
* [dashboard](#dashboard)
|
||||
* [panel](#panel)
|
||||
* [gauge.new](#panelGaugenew)
|
||||
* [graph.new](#panelGraphnew)
|
||||
* [row.new](#panelRownew)
|
||||
* [stat.new](#panelStatnew)
|
||||
* [table.new](#panelTablenew)
|
||||
* [text.new](#panelTextnew)
|
||||
* [target](#target)
|
||||
* [prometheus.new](#targetPrometheusnew)
|
||||
* [template](#template)
|
||||
* [datasource.new](#templateDatasourcenew)
|
||||
* [query.new](#templateQuerynew)
|
||||
|
||||
## dashboard
|
||||
|
||||
|
||||
|
||||
### dashboard.new
|
||||
|
||||
Instantiate a dashboard.
|
||||
|
||||
* **description**: (type: string, default: `null`)
|
||||
|
||||
* **editable**: (type: boolean, default: `true`)
|
||||
|
||||
* **graphTooltip**: (type: integer, default: `0`)
|
||||
|
||||
* **refresh**: (type: string, default: `null`)
|
||||
|
||||
* **schemaVersion**: (type: integer, default: `25`)
|
||||
|
||||
* **style**: (type: string, default: `"dark"`)
|
||||
|
||||
* **tags**: (type: array, default: `[]`)
|
||||
|
||||
* **timezone**: (type: string, default: `null`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **uid**: (type: string, default: `null`)
|
||||
|
||||
|
||||
#### #setTime
|
||||
|
||||
* **from**: (type: string, default: `"now-6h"`)
|
||||
|
||||
* **to**: (type: string, default: `"now"`)
|
||||
|
||||
#### #setTimepicker
|
||||
|
||||
* **refreshIntervals**: (type: array, default: `["5s","10s","30s","1m","5m","15m","30m","1h","2h","1d"]`)
|
||||
|
||||
|
||||
#### #addAnnotation
|
||||
|
||||
* **builtIn**: (type: integer, default: `0`)
|
||||
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **enable**: (type: boolean, default: `true`)
|
||||
|
||||
* **hide**: (type: boolean, default: `false`)
|
||||
|
||||
* **iconColor**: (type: string, default: `null`)
|
||||
|
||||
* **name**: (type: string, default: `null`)
|
||||
|
||||
* **rawQuery**: (type: string, default: `null`)
|
||||
|
||||
* **showIn**: (type: integer, default: `0`)
|
||||
|
||||
#### #addTemplate
|
||||
|
||||
* **template**: (type: object)
|
||||
|
||||
|
||||
|
||||
## panel
|
||||
|
||||
|
||||
|
||||
### panel.gauge.new
|
||||
|
||||
|
||||
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **description**: (type: string, default: `null`)
|
||||
|
||||
* **repeat**: (type: string, default: `null`)
|
||||
|
||||
* **repeatDirection**: (type: string, default: `null`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **transparent**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #setFieldConfig
|
||||
|
||||
* **max**: (type: integer, default: `null`)
|
||||
|
||||
* **min**: (type: integer, default: `null`)
|
||||
|
||||
* **thresholdMode**: (type: string, default: `"absolute"`)
|
||||
|
||||
* **unit**: (type: string, default: `null`)
|
||||
|
||||
#### #setGridPos
|
||||
|
||||
* **h**: (type: integer, default: `8`)
|
||||
Panel height.
|
||||
* **w**: (type: integer, default: `12`)
|
||||
Panel width.
|
||||
* **x**: (type: integer, default: `null`)
|
||||
Panel x position.
|
||||
* **y**: (type: integer, default: `null`)
|
||||
Panel y position.
|
||||
#### #setOptions
|
||||
|
||||
* **calcs**: (type: array, default: `["mean"]`)
|
||||
|
||||
* **fields**: (type: string, default: `null`)
|
||||
|
||||
* **orientation**: (type: string, default: `"auto"`)
|
||||
|
||||
* **showThresholdLabels**: (type: boolean, default: `false`)
|
||||
|
||||
* **showThresholdMarkers**: (type: boolean, default: `true`)
|
||||
|
||||
* **values**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #addPanelLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addDataLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addMapping
|
||||
|
||||
* **from**: (type: string, default: `null`)
|
||||
|
||||
* **id**: (type: integer, default: `null`)
|
||||
|
||||
* **operator**: (type: string, default: `null`)
|
||||
|
||||
* **text**: (type: string, default: `null`)
|
||||
|
||||
* **to**: (type: string, default: `null`)
|
||||
|
||||
* **type**: (type: integer, default: `null`)
|
||||
|
||||
* **value**: (type: string, default: `null`)
|
||||
|
||||
#### #addOverride
|
||||
|
||||
* **matcher**: (type: oject, default: `null`)
|
||||
|
||||
* **properties**: (type: array, default: `null`)
|
||||
|
||||
#### #addThresholdStep
|
||||
|
||||
* **color**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: integer, default: `null`)
|
||||
|
||||
#### #addTarget
|
||||
|
||||
* **target**: (type: object)
|
||||
|
||||
|
||||
|
||||
### panel.graph.new
|
||||
|
||||
|
||||
|
||||
* **bars**: (type: boolean, default: `false`)
|
||||
Display values as a bar chart.
|
||||
* **dashLength**: (type: integer, default: `10`)
|
||||
Dashed line length.
|
||||
* **dashes**: (type: boolean, default: `false`)
|
||||
Show line with dashes.
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **decimals**: (type: integer, default: `null`)
|
||||
Controls how many decimals are displayed for legend values and
|
||||
graph hover tooltips.
|
||||
* **description**: (type: string, default: `null`)
|
||||
|
||||
* **fill**: (type: integer, default: `1`)
|
||||
Amount of color fill for a series. Expects a value between 0 and 1.
|
||||
* **fillGradient**: (type: integer, default: `0`)
|
||||
Degree of gradient on the area fill. 0 is no gradient, 10 is a
|
||||
steep gradient.
|
||||
* **hiddenSeries**: (type: boolean, default: `false`)
|
||||
Hide the series.
|
||||
* **lines**: (type: boolean, default: `true`)
|
||||
Display values as a line graph.
|
||||
* **linewidth**: (type: integer, default: `1`)
|
||||
The width of the line for a series.
|
||||
* **nullPointMode**: (type: string, default: `"null"`)
|
||||
How null values are displayed.
|
||||
* 'null' - If there is a gap in the series, meaning a null value,
|
||||
then the line in the graph will be broken and show the gap.
|
||||
* 'null as zero' - If there is a gap in the series, meaning a null
|
||||
value, then it will be displayed as a zero value in the graph
|
||||
panel.
|
||||
* 'connected' - If there is a gap in the series, meaning a null
|
||||
value or values, then the line will skip the gap and connect to the
|
||||
next non-null value.
|
||||
* **percentage**: (type: boolean, default: `false`)
|
||||
Available when `stack` is true. Each series is drawn as a percentage
|
||||
of the total of all series.
|
||||
* **pointradius**: (type: integer, default: `null`)
|
||||
Controls how large the points are.
|
||||
* **points**: (type: boolean, default: `false`)
|
||||
Display points for values.
|
||||
* **repeat**: (type: string, default: `null`)
|
||||
|
||||
* **repeatDirection**: (type: string, default: `null`)
|
||||
|
||||
* **spaceLength**: (type: integer, default: `10`)
|
||||
Dashed line spacing when `dashes` is true.
|
||||
* **stack**: (type: boolean, default: `false`)
|
||||
Each series is stacked on top of another.
|
||||
* **steppedLine**: (type: boolean, default: `false`)
|
||||
Draws adjacent points as staircase.
|
||||
* **timeFrom**: (type: string, default: `null`)
|
||||
|
||||
* **timeShift**: (type: string, default: `null`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **transparent**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #setGridPos
|
||||
|
||||
* **h**: (type: integer, default: `8`)
|
||||
Panel height.
|
||||
* **w**: (type: integer, default: `12`)
|
||||
Panel width.
|
||||
* **x**: (type: integer, default: `null`)
|
||||
Panel x position.
|
||||
* **y**: (type: integer, default: `null`)
|
||||
Panel y position.
|
||||
#### #setLegend
|
||||
|
||||
* **alignAsTable**: (type: boolean, default: `null`)
|
||||
Whether to display legend in table.
|
||||
* **avg**: (type: boolean, default: `false`)
|
||||
Average of all values returned from the metric query.
|
||||
* **current**: (type: boolean, default: `false`)
|
||||
Last value returned from the metric query.
|
||||
* **max**: (type: boolean, default: `false`)
|
||||
Maximum of all values returned from the metric query.
|
||||
* **min**: (type: boolean, default: `false`)
|
||||
Minimum of all values returned from the metric query.
|
||||
* **rightSide**: (type: boolean, default: `false`)
|
||||
Display legend to the right.
|
||||
* **show**: (type: boolean, default: `true`)
|
||||
Show or hide the legend.
|
||||
* **sideWidth**: (type: integer, default: `null`)
|
||||
Available when `rightSide` is true. The minimum width for the legend in
|
||||
pixels.
|
||||
* **total**: (type: boolean, default: `false`)
|
||||
Sum of all values returned from the metric query.
|
||||
* **values**: (type: boolean, default: `true`)
|
||||
|
||||
#### #setThresholds
|
||||
|
||||
* **thresholdMode**: (type: string, default: `"absolute"`)
|
||||
|
||||
#### #setTooltip
|
||||
|
||||
* **shared**: (type: boolean, default: `true`)
|
||||
* true - The hover tooltip shows all series in the graph.
|
||||
Grafana highlights the series that you are hovering over in
|
||||
bold in the series list in the tooltip.
|
||||
* false - The hover tooltip shows only a single series, the one
|
||||
that you are hovering over on the graph.
|
||||
* **sort**: (type: integer, default: `2`)
|
||||
* 0 (none) - The order of the series in the tooltip is
|
||||
determined by the sort order in your query. For example, they
|
||||
could be alphabetically sorted by series name.
|
||||
* 1 (increasing) - The series in the hover tooltip are sorted
|
||||
by value and in increasing order, with the lowest value at the
|
||||
top of the list.
|
||||
* 2 (decreasing) - The series in the hover tooltip are sorted
|
||||
by value and in decreasing order, with the highest value at the
|
||||
top of the list.
|
||||
#### #setXaxis
|
||||
|
||||
* **buckets**: (type: string, default: `null`)
|
||||
|
||||
* **mode**: (type: string, default: `"time"`)
|
||||
The display mode completely changes the visualization of the
|
||||
graph panel. It’s like three panels in one. The main mode is
|
||||
the time series mode with time on the X-axis. The other two
|
||||
modes are a basic bar chart mode with series on the X-axis
|
||||
instead of time and a histogram mode.
|
||||
* 'time' - The X-axis represents time and that the data is
|
||||
grouped by time (for example, by hour, or by minute).
|
||||
* 'series' - The data is grouped by series and not by time. The
|
||||
Y-axis still represents the value.
|
||||
* 'histogram' - Converts the graph into a histogram. A histogram
|
||||
is a kind of bar chart that groups numbers into ranges, often
|
||||
called buckets or bins. Taller bars show that more data falls
|
||||
in that range.
|
||||
* **name**: (type: string, default: `null`)
|
||||
|
||||
* **show**: (type: boolean, default: `true`)
|
||||
Show or hide the axis.
|
||||
#### #setYaxis
|
||||
|
||||
* **align**: (type: boolean, default: `false`)
|
||||
Align left and right Y-axes by value.
|
||||
* **alignLevel**: (type: integer, default: `0`)
|
||||
Available when align is true. Value to use for alignment of
|
||||
left and right Y-axes, starting from Y=0.
|
||||
|
||||
#### #addDataLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addPanelLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addOverride
|
||||
|
||||
* **matcher**: (type: oject, default: `null`)
|
||||
|
||||
* **properties**: (type: array, default: `null`)
|
||||
|
||||
#### #addSeriesOverride
|
||||
|
||||
* **alias**: (type: string, default: `null`)
|
||||
Alias or regex matching the series you'd like to target.
|
||||
* **bars**: (type: boolean, default: `null`)
|
||||
|
||||
* **color**: (type: string, default: `null`)
|
||||
|
||||
* **dashLength**: (type: integer, default: `null`)
|
||||
|
||||
* **dashes**: (type: boolean, default: `null`)
|
||||
|
||||
* **fill**: (type: integer, default: `null`)
|
||||
|
||||
* **fillBelowTo**: (type: string, default: `null`)
|
||||
|
||||
* **fillGradient**: (type: integer, default: `null`)
|
||||
|
||||
* **hiddenSeries**: (type: boolean, default: `null`)
|
||||
|
||||
* **hideTooltip**: (type: boolean, default: `null`)
|
||||
|
||||
* **legend**: (type: boolean, default: `null`)
|
||||
|
||||
* **lines**: (type: boolean, default: `null`)
|
||||
|
||||
* **linewidth**: (type: integer, default: `null`)
|
||||
|
||||
* **nullPointMode**: (type: string, default: `null`)
|
||||
|
||||
* **pointradius**: (type: integer, default: `null`)
|
||||
|
||||
* **points**: (type: boolean, default: `null`)
|
||||
|
||||
* **spaceLength**: (type: integer, default: `null`)
|
||||
|
||||
* **stack**: (type: integer, default: `null`)
|
||||
|
||||
* **steppedLine**: (type: boolean, default: `null`)
|
||||
|
||||
* **transform**: (type: string, default: `null`)
|
||||
|
||||
* **yaxis**: (type: integer, default: `null`)
|
||||
|
||||
* **zindex**: (type: integer, default: `null`)
|
||||
|
||||
#### #addThresholdStep
|
||||
|
||||
* **color**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: integer, default: `null`)
|
||||
|
||||
#### #addTarget
|
||||
|
||||
* **target**: (type: object)
|
||||
|
||||
#### #addYaxis
|
||||
|
||||
* **decimals**: (type: integer, default: `null`)
|
||||
Defines how many decimals are displayed for Y value.
|
||||
* **format**: (type: string, default: `"short"`)
|
||||
The display unit for the Y value.
|
||||
* **label**: (type: string, default: `null`)
|
||||
The Y axis label.
|
||||
* **logBase**: (type: integer, default: `1`)
|
||||
The scale to use for the Y value - linear, or logarithmic.
|
||||
* 1 - linear
|
||||
* 2 - log (base 2)
|
||||
* 10 - log (base 10)
|
||||
* 32 - log (base 32)
|
||||
* 1024 - log (base 1024)
|
||||
* **max**: (type: integer, default: `null`)
|
||||
The maximum Y value.
|
||||
* **min**: (type: integer, default: `null`)
|
||||
The minimum Y value.
|
||||
* **show**: (type: boolean, default: `true`)
|
||||
Show or hide the axis.
|
||||
|
||||
|
||||
### panel.row.new
|
||||
|
||||
|
||||
|
||||
* **collapse**: (type: boolean, default: `true`)
|
||||
|
||||
* **collapsed**: (type: boolean, default: `true`)
|
||||
|
||||
* **datasource**: (type: string, default: `null`)
|
||||
|
||||
* **repeat**: (type: string, default: `null`)
|
||||
|
||||
* **repeatIteration**: (type: string, default: `null`)
|
||||
|
||||
* **showTitle**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **titleSize**: (type: string, default: `"h6"`)
|
||||
|
||||
|
||||
#### #setGridPos
|
||||
|
||||
* **h**: (type: integer, default: `8`)
|
||||
Panel height.
|
||||
* **w**: (type: integer, default: `12`)
|
||||
Panel width.
|
||||
* **x**: (type: integer, default: `null`)
|
||||
Panel x position.
|
||||
* **y**: (type: integer, default: `null`)
|
||||
Panel y position.
|
||||
|
||||
#### #addPanel
|
||||
|
||||
* **panel**: (type: object)
|
||||
|
||||
|
||||
|
||||
### panel.stat.new
|
||||
|
||||
|
||||
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **description**: (type: string, default: `null`)
|
||||
|
||||
* **repeat**: (type: string, default: `null`)
|
||||
|
||||
* **repeatDirection**: (type: string, default: `null`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **transparent**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #setFieldConfig
|
||||
|
||||
* **max**: (type: integer, default: `null`)
|
||||
|
||||
* **min**: (type: integer, default: `null`)
|
||||
|
||||
* **thresholdMode**: (type: string, default: `"absolute"`)
|
||||
|
||||
* **unit**: (type: string, default: `null`)
|
||||
|
||||
#### #setGridPos
|
||||
|
||||
* **h**: (type: integer, default: `8`)
|
||||
Panel height.
|
||||
* **w**: (type: integer, default: `12`)
|
||||
Panel width.
|
||||
* **x**: (type: integer, default: `null`)
|
||||
Panel x position.
|
||||
* **y**: (type: integer, default: `null`)
|
||||
Panel y position.
|
||||
#### #setOptions
|
||||
|
||||
* **calcs**: (type: array, default: `["mean"]`)
|
||||
|
||||
* **colorMode**: (type: string, default: `"value"`)
|
||||
|
||||
* **fields**: (type: string, default: `null`)
|
||||
|
||||
* **graphMode**: (type: string, default: `"none"`)
|
||||
|
||||
* **justifyMode**: (type: string, default: `"auto"`)
|
||||
|
||||
* **orientation**: (type: string, default: `"auto"`)
|
||||
|
||||
* **textMode**: (type: string, default: `"auto"`)
|
||||
|
||||
* **values**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #addDataLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addPanelLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addMapping
|
||||
|
||||
* **from**: (type: string, default: `null`)
|
||||
|
||||
* **id**: (type: integer, default: `null`)
|
||||
|
||||
* **operator**: (type: string, default: `null`)
|
||||
|
||||
* **text**: (type: string, default: `null`)
|
||||
|
||||
* **to**: (type: string, default: `null`)
|
||||
|
||||
* **type**: (type: integer, default: `null`)
|
||||
|
||||
* **value**: (type: string, default: `null`)
|
||||
|
||||
#### #addOverride
|
||||
|
||||
* **matcher**: (type: oject, default: `null`)
|
||||
|
||||
* **properties**: (type: array, default: `null`)
|
||||
|
||||
#### #addThresholdStep
|
||||
|
||||
* **color**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: integer, default: `null`)
|
||||
|
||||
#### #addTarget
|
||||
|
||||
* **target**: (type: object)
|
||||
|
||||
|
||||
|
||||
### panel.table.new
|
||||
|
||||
|
||||
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **description**: (type: string, default: `null`)
|
||||
|
||||
* **repeat**: (type: string, default: `null`)
|
||||
|
||||
* **repeatDirection**: (type: string, default: `null`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **transparent**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #setFieldConfig
|
||||
|
||||
* **displayName**: (type: string, default: `null`)
|
||||
|
||||
* **max**: (type: integer, default: `0`)
|
||||
|
||||
* **min**: (type: integer, default: `0`)
|
||||
|
||||
* **thresholdMode**: (type: string, default: `"absolute"`)
|
||||
|
||||
* **noValue**: (type: string, default: `null`)
|
||||
|
||||
* **unit**: (type: string, default: `"short"`)
|
||||
|
||||
* **width**: (type: integer, default: `null`)
|
||||
|
||||
#### #setGridPos
|
||||
|
||||
* **h**: (type: integer, default: `8`)
|
||||
Panel height.
|
||||
* **w**: (type: integer, default: `12`)
|
||||
Panel width.
|
||||
* **x**: (type: integer, default: `null`)
|
||||
Panel x position.
|
||||
* **y**: (type: integer, default: `null`)
|
||||
Panel y position.
|
||||
#### #setOptions
|
||||
|
||||
* **showHeader**: (type: boolean, default: `true`)
|
||||
|
||||
|
||||
#### #addPanelLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addDataLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addMapping
|
||||
|
||||
* **from**: (type: string, default: `null`)
|
||||
|
||||
* **id**: (type: integer, default: `null`)
|
||||
|
||||
* **operator**: (type: string, default: `null`)
|
||||
|
||||
* **text**: (type: string, default: `null`)
|
||||
|
||||
* **to**: (type: string, default: `null`)
|
||||
|
||||
* **type**: (type: integer, default: `null`)
|
||||
|
||||
* **value**: (type: string, default: `null`)
|
||||
|
||||
#### #addOverride
|
||||
|
||||
* **matcher**: (type: oject, default: `null`)
|
||||
|
||||
* **properties**: (type: array, default: `null`)
|
||||
|
||||
#### #addThresholdStep
|
||||
|
||||
* **color**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: integer, default: `null`)
|
||||
|
||||
#### #addTarget
|
||||
|
||||
* **target**: (type: object)
|
||||
|
||||
|
||||
|
||||
### panel.text.new
|
||||
|
||||
|
||||
|
||||
* **content**: (type: string, default: `null`)
|
||||
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **description**: (type: string, default: `null`)
|
||||
|
||||
* **mode**: (type: string, default: `"markdown"`)
|
||||
|
||||
* **repeat**: (type: string, default: `null`)
|
||||
|
||||
* **repeatDirection**: (type: string, default: `null`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **transparent**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #setGridPos
|
||||
|
||||
* **h**: (type: integer, default: `8`)
|
||||
Panel height.
|
||||
* **w**: (type: integer, default: `12`)
|
||||
Panel width.
|
||||
* **x**: (type: integer, default: `null`)
|
||||
Panel x position.
|
||||
* **y**: (type: integer, default: `null`)
|
||||
Panel y position.
|
||||
|
||||
#### #addPanelLink
|
||||
|
||||
* **targetBlank**: (type: boolean, default: `true`)
|
||||
|
||||
* **title**: (type: string, default: `null`)
|
||||
|
||||
* **url**: (type: string, default: `null`)
|
||||
|
||||
#### #addTarget
|
||||
|
||||
* **target**: (type: object)
|
||||
|
||||
|
||||
|
||||
|
||||
## target
|
||||
|
||||
|
||||
|
||||
### target.prometheus.new
|
||||
|
||||
|
||||
|
||||
* **datasource**: (type: string, default: `"default"`)
|
||||
|
||||
* **expr**: (type: string, default: `null`)
|
||||
|
||||
* **format**: (type: string, default: `"time_series"`)
|
||||
|
||||
* **interval**: (type: string, default: `null`)
|
||||
|
||||
* **intervalFactor**: (type: integer, default: `null`)
|
||||
|
||||
* **legendFormat**: (type: string, default: `null`)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## template
|
||||
|
||||
|
||||
|
||||
### tamplate.datasource.new
|
||||
|
||||
|
||||
|
||||
* **hide**: (type: integer, default: `0`)
|
||||
|
||||
* **includeAll**: (type: boolean, default: `false`)
|
||||
|
||||
* **label**: (type: string, default: `null`)
|
||||
|
||||
* **multi**: (type: boolean, default: `false`)
|
||||
|
||||
* **name**: (type: string, default: `null`)
|
||||
|
||||
* **query**: (type: string, default: `null`)
|
||||
|
||||
* **refresh**: (type: integer, default: `1`)
|
||||
|
||||
* **regex**: (type: string, default: `null`)
|
||||
|
||||
* **skipUrlSync**: (type: string, default: `false`)
|
||||
|
||||
|
||||
#### #setCurrent
|
||||
|
||||
* **selected**: (type: boolean, default: `false`)
|
||||
|
||||
* **text**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: string, default: `null`)
|
||||
|
||||
|
||||
|
||||
|
||||
### tamplate.query.new
|
||||
|
||||
|
||||
|
||||
* **allValue**: (type: string, default: `null`)
|
||||
|
||||
* **datasource**: (type: string, default: `null`)
|
||||
|
||||
* **definition**: (type: string, default: `null`)
|
||||
|
||||
* **hide**: (type: integer, default: `0`)
|
||||
|
||||
* **includeAll**: (type: boolean, default: `false`)
|
||||
|
||||
* **label**: (type: string, default: `null`)
|
||||
|
||||
* **multi**: (type: boolean, default: `false`)
|
||||
|
||||
* **name**: (type: string, default: `null`)
|
||||
|
||||
* **query**: (type: string, default: `null`)
|
||||
|
||||
* **refresh**: (type: integer, default: `0`)
|
||||
|
||||
* **regex**: (type: string, default: `null`)
|
||||
|
||||
* **skipUrlSync**: (type: string, default: `false`)
|
||||
|
||||
* **sort**: (type: integer, default: `0`)
|
||||
|
||||
* **tagValuesQuery**: (type: string, default: `null`)
|
||||
|
||||
* **tags**: (type: array, default: `null`)
|
||||
|
||||
* **tagsQuery**: (type: string, default: `null`)
|
||||
|
||||
* **useTags**: (type: boolean, default: `false`)
|
||||
|
||||
|
||||
#### #setCurrent
|
||||
|
||||
* **selected**: (type: boolean, default: `null`)
|
||||
|
||||
* **text**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: string, default: `null`)
|
||||
|
||||
|
||||
#### #addOption
|
||||
|
||||
* **selected**: (type: boolean, default: `true`)
|
||||
|
||||
* **text**: (type: string, default: `null`)
|
||||
|
||||
* **value**: (type: string, default: `null`)
|
||||
|
||||
|
||||
|
7
ops/monitoring/lib/grafonnet/README.hscloud
Normal file
7
ops/monitoring/lib/grafonnet/README.hscloud
Normal file
|
@ -0,0 +1,7 @@
|
|||
This subpath (//ops/monitoring/lib/grafonnet) comes from the following Git repository:
|
||||
|
||||
repository: https://github.com/grafana/grafonnet-lib.git
|
||||
revision: ff69572caf78c3163980d0d723c85a722eab73d9
|
||||
subpath: grafonnet-7.0
|
||||
|
||||
The files contained in this subdirectory are license under the Apache 2.0 License (see //third_party/licenses/Apache-2.0.txt).
|
85
ops/monitoring/lib/grafonnet/dashboard.libsonnet
Normal file
85
ops/monitoring/lib/grafonnet/dashboard.libsonnet
Normal file
|
@ -0,0 +1,85 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
description=null,
|
||||
editable=true,
|
||||
graphTooltip=0,
|
||||
refresh=null,
|
||||
schemaVersion=25,
|
||||
style='dark',
|
||||
tags=[],
|
||||
timezone=null,
|
||||
title=null,
|
||||
uid=null,
|
||||
):: {
|
||||
[if description != null then 'description']: description,
|
||||
[if editable != null then 'editable']: editable,
|
||||
[if graphTooltip != null then 'graphTooltip']: graphTooltip,
|
||||
[if refresh != null then 'refresh']: refresh,
|
||||
[if schemaVersion != null then 'schemaVersion']: schemaVersion,
|
||||
[if style != null then 'style']: style,
|
||||
[if tags != null then 'tags']: tags,
|
||||
[if timezone != null then 'timezone']: timezone,
|
||||
[if title != null then 'title']: title,
|
||||
[if uid != null then 'uid']: uid,
|
||||
|
||||
setTime(
|
||||
from='now-6h',
|
||||
to='now',
|
||||
):: self {}
|
||||
+ { time+: { [if from != null then 'from']: from } }
|
||||
+ { time+: { [if to != null then 'to']: to } }
|
||||
,
|
||||
|
||||
setTimepicker(
|
||||
refreshIntervals=['5s', '10s', '30s', '1m', '5m', '15m', '30m', '1h', '2h', '1d'],
|
||||
):: self {}
|
||||
+ { timepicker+: { [if refreshIntervals != null then 'refresh_intervals']: refreshIntervals } }
|
||||
,
|
||||
|
||||
|
||||
addTemplate(
|
||||
template
|
||||
):: self {}
|
||||
+ { templating+: { list+: [
|
||||
template,
|
||||
] } },
|
||||
|
||||
addAnnotation(
|
||||
builtIn=0,
|
||||
datasource='default',
|
||||
enable=true,
|
||||
hide=false,
|
||||
iconColor=null,
|
||||
name=null,
|
||||
rawQuery=null,
|
||||
showIn=0,
|
||||
):: self {}
|
||||
+ { annotations+: { list+: [
|
||||
{
|
||||
[if builtIn != null then 'builtIn']: builtIn,
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if enable != null then 'enable']: enable,
|
||||
[if hide != null then 'hide']: hide,
|
||||
[if iconColor != null then 'iconColor']: iconColor,
|
||||
[if name != null then 'name']: name,
|
||||
[if rawQuery != null then 'rawQuery']: rawQuery,
|
||||
[if showIn != null then 'showIn']: showIn,
|
||||
},
|
||||
] } },
|
||||
|
||||
|
||||
panels: [],
|
||||
_nextPanelID:: 2,
|
||||
addPanel(panel):: self {
|
||||
local nextPanelID = super._nextPanelID,
|
||||
panels+: [
|
||||
panel { id: nextPanelID } +
|
||||
if 'panels' in panel then { panels: std.mapWithIndex(function(i, p) p { id: nextPanelID + i + 1 }, panel.panels) } else {},
|
||||
],
|
||||
_nextPanelID:: nextPanelID + 1 + (if 'panels' in panel then std.length(panel.panels) else 0),
|
||||
},
|
||||
addPanels(panels):: std.foldl(function(d, p) d.addPanel(p), panels, self),
|
||||
},
|
||||
}
|
20
ops/monitoring/lib/grafonnet/grafana.libsonnet
Normal file
20
ops/monitoring/lib/grafonnet/grafana.libsonnet
Normal file
|
@ -0,0 +1,20 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
dashboard:: import 'dashboard.libsonnet',
|
||||
panel:: {
|
||||
gauge:: import 'panel/gauge.libsonnet',
|
||||
graph:: import 'panel/graph.libsonnet',
|
||||
row:: import 'panel/row.libsonnet',
|
||||
stat:: import 'panel/stat.libsonnet',
|
||||
table:: import 'panel/table.libsonnet',
|
||||
text:: import 'panel/text.libsonnet',
|
||||
},
|
||||
target:: {
|
||||
prometheus:: import 'target/prometheus.libsonnet',
|
||||
},
|
||||
template:: {
|
||||
datasource:: import 'template/datasource.libsonnet',
|
||||
query:: import 'template/query.libsonnet',
|
||||
},
|
||||
}
|
138
ops/monitoring/lib/grafonnet/panel/gauge.libsonnet
Normal file
138
ops/monitoring/lib/grafonnet/panel/gauge.libsonnet
Normal file
|
@ -0,0 +1,138 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
datasource='default',
|
||||
description=null,
|
||||
repeat=null,
|
||||
repeatDirection=null,
|
||||
title=null,
|
||||
transparent=false,
|
||||
):: {
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if description != null then 'description']: description,
|
||||
[if repeat != null then 'repeat']: repeat,
|
||||
[if repeatDirection != null then 'repeatDirection']: repeatDirection,
|
||||
[if title != null then 'title']: title,
|
||||
[if transparent != null then 'transparent']: transparent,
|
||||
type: 'gauge',
|
||||
|
||||
setFieldConfig(
|
||||
max=null,
|
||||
min=null,
|
||||
thresholdMode='absolute',
|
||||
unit=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { [if max != null then 'max']: max } } }
|
||||
+ { fieldConfig+: { defaults+: { [if min != null then 'min']: min } } }
|
||||
+ { fieldConfig+: { defaults+: { thresholds+: { [if thresholdMode != null then 'mode']: thresholdMode } } } }
|
||||
+ { fieldConfig+: { defaults+: { [if unit != null then 'unit']: unit } } }
|
||||
,
|
||||
|
||||
setGridPos(
|
||||
h=8,
|
||||
w=12,
|
||||
x=null,
|
||||
y=null,
|
||||
):: self {}
|
||||
+ { gridPos+: { [if h != null then 'h']: h } }
|
||||
+ { gridPos+: { [if w != null then 'w']: w } }
|
||||
+ { gridPos+: { [if x != null then 'x']: x } }
|
||||
+ { gridPos+: { [if y != null then 'y']: y } }
|
||||
,
|
||||
|
||||
setOptions(
|
||||
calcs=['mean'],
|
||||
fields=null,
|
||||
orientation='auto',
|
||||
showThresholdLabels=false,
|
||||
showThresholdMarkers=true,
|
||||
values=false,
|
||||
):: self {}
|
||||
+ { options+: { reduceOptions+: { [if calcs != null then 'calcs']: calcs } } }
|
||||
+ { options+: { reduceOptions+: { [if fields != null then 'fields']: fields } } }
|
||||
+ { options+: { [if orientation != null then 'orientation']: orientation } }
|
||||
+ { options+: { [if showThresholdLabels != null then 'showThresholdLabels']: showThresholdLabels } }
|
||||
+ { options+: { [if showThresholdMarkers != null then 'showThresholdMarkers']: showThresholdMarkers } }
|
||||
+ { options+: { reduceOptions+: { [if values != null then 'values']: values } } }
|
||||
,
|
||||
|
||||
|
||||
addDataLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] } } },
|
||||
|
||||
addPanelLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] },
|
||||
|
||||
addMapping(
|
||||
from=null,
|
||||
id=null,
|
||||
operator=null,
|
||||
text=null,
|
||||
to=null,
|
||||
type=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { mappings+: [
|
||||
{
|
||||
[if from != null then 'from']: from,
|
||||
[if id != null then 'id']: id,
|
||||
[if operator != null then 'operator']: operator,
|
||||
[if text != null then 'text']: text,
|
||||
[if to != null then 'to']: to,
|
||||
[if type != null then 'type']: type,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } } },
|
||||
|
||||
addOverride(
|
||||
matcher=null,
|
||||
properties=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { overrides+: [
|
||||
{
|
||||
[if matcher != null then 'matcher']: matcher,
|
||||
[if properties != null then 'properties']: properties,
|
||||
},
|
||||
] } },
|
||||
|
||||
addThresholdStep(
|
||||
color=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { thresholds+: { steps+: [
|
||||
{
|
||||
[if color != null then 'color']: color,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } } } },
|
||||
|
||||
addTarget(
|
||||
target
|
||||
):: self {}
|
||||
+ { targets+: [
|
||||
target,
|
||||
] },
|
||||
|
||||
},
|
||||
}
|
257
ops/monitoring/lib/grafonnet/panel/graph.libsonnet
Normal file
257
ops/monitoring/lib/grafonnet/panel/graph.libsonnet
Normal file
|
@ -0,0 +1,257 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
bars=false,
|
||||
dashLength=10,
|
||||
dashes=false,
|
||||
datasource='default',
|
||||
decimals=null,
|
||||
description=null,
|
||||
fill=1,
|
||||
fillGradient=0,
|
||||
hiddenSeries=false,
|
||||
lines=true,
|
||||
linewidth=1,
|
||||
nullPointMode='null',
|
||||
percentage=false,
|
||||
pointradius=null,
|
||||
points=false,
|
||||
repeat=null,
|
||||
repeatDirection=null,
|
||||
spaceLength=10,
|
||||
stack=false,
|
||||
steppedLine=false,
|
||||
timeFrom=null,
|
||||
timeShift=null,
|
||||
title=null,
|
||||
transparent=false,
|
||||
):: {
|
||||
[if bars != null then 'bars']: bars,
|
||||
[if dashLength != null then 'dashLength']: dashLength,
|
||||
[if dashes != null then 'dashes']: dashes,
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if decimals != null then 'decimals']: decimals,
|
||||
[if description != null then 'description']: description,
|
||||
[if fill != null then 'fill']: fill,
|
||||
[if fillGradient != null then 'fillGradient']: fillGradient,
|
||||
[if hiddenSeries != null then 'hiddenSeries']: hiddenSeries,
|
||||
[if lines != null then 'lines']: lines,
|
||||
[if linewidth != null then 'linewidth']: linewidth,
|
||||
[if nullPointMode != null then 'nullPointMode']: nullPointMode,
|
||||
[if percentage != null then 'percentage']: percentage,
|
||||
[if pointradius != null then 'pointradius']: pointradius,
|
||||
[if points != null then 'points']: points,
|
||||
[if repeat != null then 'repeat']: repeat,
|
||||
[if repeatDirection != null then 'repeatDirection']: repeatDirection,
|
||||
[if spaceLength != null then 'spaceLength']: spaceLength,
|
||||
[if stack != null then 'stack']: stack,
|
||||
[if steppedLine != null then 'steppedLine']: steppedLine,
|
||||
[if timeFrom != null then 'timeFrom']: timeFrom,
|
||||
[if timeShift != null then 'timeShift']: timeShift,
|
||||
[if title != null then 'title']: title,
|
||||
[if transparent != null then 'transparent']: transparent,
|
||||
renderer: 'flot',
|
||||
type: 'graph',
|
||||
tooltip+: { value_type: 'individual' },
|
||||
|
||||
setGridPos(
|
||||
h=8,
|
||||
w=12,
|
||||
x=null,
|
||||
y=null,
|
||||
):: self {}
|
||||
+ { gridPos+: { [if h != null then 'h']: h } }
|
||||
+ { gridPos+: { [if w != null then 'w']: w } }
|
||||
+ { gridPos+: { [if x != null then 'x']: x } }
|
||||
+ { gridPos+: { [if y != null then 'y']: y } }
|
||||
,
|
||||
|
||||
setLegend(
|
||||
alignAsTable=null,
|
||||
avg=false,
|
||||
current=false,
|
||||
max=false,
|
||||
min=false,
|
||||
rightSide=false,
|
||||
show=true,
|
||||
sideWidth=null,
|
||||
total=false,
|
||||
values=true,
|
||||
):: self {}
|
||||
+ { legend+: { [if alignAsTable != null then 'alignAsTable']: alignAsTable } }
|
||||
+ { legend+: { [if avg != null then 'avg']: avg } }
|
||||
+ { legend+: { [if current != null then 'current']: current } }
|
||||
+ { legend+: { [if max != null then 'max']: max } }
|
||||
+ { legend+: { [if min != null then 'min']: min } }
|
||||
+ { legend+: { [if rightSide != null then 'rightSide']: rightSide } }
|
||||
+ { legend+: { [if show != null then 'show']: show } }
|
||||
+ { legend+: { [if sideWidth != null then 'sideWidth']: sideWidth } }
|
||||
+ { legend+: { [if total != null then 'total']: total } }
|
||||
+ { legend+: { [if values != null then 'values']: values } }
|
||||
,
|
||||
|
||||
setThresholds(
|
||||
thresholdMode='absolute',
|
||||
):: self {}
|
||||
+ { thresholds+: { [if thresholdMode != null then 'mode']: thresholdMode } }
|
||||
,
|
||||
|
||||
setTooltip(
|
||||
shared=true,
|
||||
sort=2,
|
||||
):: self {}
|
||||
+ { tooltip+: { [if shared != null then 'shared']: shared } }
|
||||
+ { tooltip+: { [if sort != null then 'sort']: sort } }
|
||||
,
|
||||
|
||||
setXaxis(
|
||||
buckets=null,
|
||||
mode='time',
|
||||
name=null,
|
||||
show=true,
|
||||
):: self {}
|
||||
+ { xaxis+: { [if buckets != null then 'buckets']: buckets } }
|
||||
+ { xaxis+: { [if mode != null then 'mode']: mode } }
|
||||
+ { xaxis+: { [if name != null then 'name']: name } }
|
||||
+ { xaxis+: { [if show != null then 'show']: show } }
|
||||
,
|
||||
|
||||
setYaxis(
|
||||
align=false,
|
||||
alignLevel=0,
|
||||
):: self {}
|
||||
+ { yaxis+: { [if align != null then 'align']: align } }
|
||||
+ { yaxis+: { [if alignLevel != null then 'alignLevel']: alignLevel } }
|
||||
,
|
||||
|
||||
|
||||
addDataLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { options+: { dataLinks+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] } },
|
||||
|
||||
addPanelLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] },
|
||||
|
||||
addOverride(
|
||||
matcher=null,
|
||||
properties=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { overrides+: [
|
||||
{
|
||||
[if matcher != null then 'matcher']: matcher,
|
||||
[if properties != null then 'properties']: properties,
|
||||
},
|
||||
] } },
|
||||
|
||||
addSeriesOverride(
|
||||
alias=null,
|
||||
bars=null,
|
||||
color=null,
|
||||
dashLength=null,
|
||||
dashes=null,
|
||||
fill=null,
|
||||
fillBelowTo=null,
|
||||
fillGradient=null,
|
||||
hiddenSeries=null,
|
||||
hideTooltip=null,
|
||||
legend=null,
|
||||
lines=null,
|
||||
linewidth=null,
|
||||
nullPointMode=null,
|
||||
pointradius=null,
|
||||
points=null,
|
||||
spaceLength=null,
|
||||
stack=null,
|
||||
steppedLine=null,
|
||||
transform=null,
|
||||
yaxis=null,
|
||||
zindex=null,
|
||||
):: self {}
|
||||
+ { seriesOverrides+: [
|
||||
{
|
||||
[if alias != null then 'alias']: alias,
|
||||
[if bars != null then 'bars']: bars,
|
||||
[if color != null then 'color']: color,
|
||||
[if dashLength != null then 'dashLength']: dashLength,
|
||||
[if dashes != null then 'dashes']: dashes,
|
||||
[if fill != null then 'fill']: fill,
|
||||
[if fillBelowTo != null then 'fillBelowTo']: fillBelowTo,
|
||||
[if fillGradient != null then 'fillGradient']: fillGradient,
|
||||
[if hiddenSeries != null then 'hiddenSeries']: hiddenSeries,
|
||||
[if hideTooltip != null then 'hideTooltip']: hideTooltip,
|
||||
[if legend != null then 'legend']: legend,
|
||||
[if lines != null then 'lines']: lines,
|
||||
[if linewidth != null then 'linewidth']: linewidth,
|
||||
[if nullPointMode != null then 'nullPointMode']: nullPointMode,
|
||||
[if pointradius != null then 'pointradius']: pointradius,
|
||||
[if points != null then 'points']: points,
|
||||
[if spaceLength != null then 'spaceLength']: spaceLength,
|
||||
[if stack != null then 'stack']: stack,
|
||||
[if steppedLine != null then 'steppedLine']: steppedLine,
|
||||
[if transform != null then 'transform']: transform,
|
||||
[if yaxis != null then 'yaxis']: yaxis,
|
||||
[if zindex != null then 'zindex']: zindex,
|
||||
},
|
||||
] },
|
||||
|
||||
addThresholdStep(
|
||||
color=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { thresholds+: { steps+: [
|
||||
{
|
||||
[if color != null then 'color']: color,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } },
|
||||
|
||||
addTarget(
|
||||
target
|
||||
):: self {}
|
||||
+ { targets+: [
|
||||
target,
|
||||
] },
|
||||
|
||||
addYaxis(
|
||||
decimals=null,
|
||||
format='short',
|
||||
label=null,
|
||||
logBase=1,
|
||||
max=null,
|
||||
min=null,
|
||||
show=true,
|
||||
):: self {}
|
||||
+ { yaxes+: [
|
||||
{
|
||||
[if decimals != null then 'decimals']: decimals,
|
||||
[if format != null then 'format']: format,
|
||||
[if label != null then 'label']: label,
|
||||
[if logBase != null then 'logBase']: logBase,
|
||||
[if max != null then 'max']: max,
|
||||
[if min != null then 'min']: min,
|
||||
[if show != null then 'show']: show,
|
||||
},
|
||||
] },
|
||||
|
||||
},
|
||||
}
|
45
ops/monitoring/lib/grafonnet/panel/row.libsonnet
Normal file
45
ops/monitoring/lib/grafonnet/panel/row.libsonnet
Normal file
|
@ -0,0 +1,45 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
collapse=true,
|
||||
collapsed=true,
|
||||
datasource=null,
|
||||
repeat=null,
|
||||
repeatIteration=null,
|
||||
showTitle=true,
|
||||
title=null,
|
||||
titleSize='h6',
|
||||
):: {
|
||||
[if collapse != null then 'collapse']: collapse,
|
||||
[if collapsed != null then 'collapsed']: collapsed,
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if repeat != null then 'repeat']: repeat,
|
||||
[if repeatIteration != null then 'repeatIteration']: repeatIteration,
|
||||
[if showTitle != null then 'showTitle']: showTitle,
|
||||
[if title != null then 'title']: title,
|
||||
[if titleSize != null then 'titleSize']: titleSize,
|
||||
type: 'row',
|
||||
|
||||
setGridPos(
|
||||
h=8,
|
||||
w=12,
|
||||
x=null,
|
||||
y=null,
|
||||
):: self {}
|
||||
+ { gridPos+: { [if h != null then 'h']: h } }
|
||||
+ { gridPos+: { [if w != null then 'w']: w } }
|
||||
+ { gridPos+: { [if x != null then 'x']: x } }
|
||||
+ { gridPos+: { [if y != null then 'y']: y } }
|
||||
,
|
||||
|
||||
|
||||
addPanel(
|
||||
panel
|
||||
):: self {}
|
||||
+ { panels+: [
|
||||
panel,
|
||||
] },
|
||||
|
||||
},
|
||||
}
|
142
ops/monitoring/lib/grafonnet/panel/stat.libsonnet
Normal file
142
ops/monitoring/lib/grafonnet/panel/stat.libsonnet
Normal file
|
@ -0,0 +1,142 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
datasource='default',
|
||||
description=null,
|
||||
repeat=null,
|
||||
repeatDirection=null,
|
||||
title=null,
|
||||
transparent=false,
|
||||
):: {
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if description != null then 'description']: description,
|
||||
[if repeat != null then 'repeat']: repeat,
|
||||
[if repeatDirection != null then 'repeatDirection']: repeatDirection,
|
||||
[if title != null then 'title']: title,
|
||||
[if transparent != null then 'transparent']: transparent,
|
||||
type: 'stat',
|
||||
|
||||
setFieldConfig(
|
||||
max=null,
|
||||
min=null,
|
||||
thresholdMode='absolute',
|
||||
unit=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { [if max != null then 'max']: max } } }
|
||||
+ { fieldConfig+: { defaults+: { [if min != null then 'min']: min } } }
|
||||
+ { fieldConfig+: { defaults+: { thresholds+: { [if thresholdMode != null then 'mode']: thresholdMode } } } }
|
||||
+ { fieldConfig+: { defaults+: { [if unit != null then 'unit']: unit } } }
|
||||
,
|
||||
|
||||
setGridPos(
|
||||
h=8,
|
||||
w=12,
|
||||
x=null,
|
||||
y=null,
|
||||
):: self {}
|
||||
+ { gridPos+: { [if h != null then 'h']: h } }
|
||||
+ { gridPos+: { [if w != null then 'w']: w } }
|
||||
+ { gridPos+: { [if x != null then 'x']: x } }
|
||||
+ { gridPos+: { [if y != null then 'y']: y } }
|
||||
,
|
||||
|
||||
setOptions(
|
||||
calcs=['mean'],
|
||||
colorMode='value',
|
||||
fields=null,
|
||||
graphMode='none',
|
||||
justifyMode='auto',
|
||||
orientation='auto',
|
||||
textMode='auto',
|
||||
values=false,
|
||||
):: self {}
|
||||
+ { options+: { reduceOptions+: { [if calcs != null then 'calcs']: calcs } } }
|
||||
+ { options+: { [if colorMode != null then 'colorMode']: colorMode } }
|
||||
+ { options+: { reduceOptions+: { [if fields != null then 'fields']: fields } } }
|
||||
+ { options+: { [if graphMode != null then 'graphMode']: graphMode } }
|
||||
+ { options+: { [if justifyMode != null then 'justifyMode']: justifyMode } }
|
||||
+ { options+: { [if orientation != null then 'orientation']: orientation } }
|
||||
+ { options+: { [if textMode != null then 'textMode']: textMode } }
|
||||
+ { options+: { reduceOptions+: { [if values != null then 'values']: values } } }
|
||||
,
|
||||
|
||||
|
||||
addPanelLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] },
|
||||
|
||||
addDataLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] } } },
|
||||
|
||||
addMapping(
|
||||
from=null,
|
||||
id=null,
|
||||
operator=null,
|
||||
text=null,
|
||||
to=null,
|
||||
type=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { mappings+: [
|
||||
{
|
||||
[if from != null then 'from']: from,
|
||||
[if id != null then 'id']: id,
|
||||
[if operator != null then 'operator']: operator,
|
||||
[if text != null then 'text']: text,
|
||||
[if to != null then 'to']: to,
|
||||
[if type != null then 'type']: type,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } } },
|
||||
|
||||
addOverride(
|
||||
matcher=null,
|
||||
properties=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { overrides+: [
|
||||
{
|
||||
[if matcher != null then 'matcher']: matcher,
|
||||
[if properties != null then 'properties']: properties,
|
||||
},
|
||||
] } },
|
||||
|
||||
addThresholdStep(
|
||||
color=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { thresholds+: { steps+: [
|
||||
{
|
||||
[if color != null then 'color']: color,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } } } },
|
||||
|
||||
addTarget(
|
||||
target
|
||||
):: self {}
|
||||
+ { targets+: [
|
||||
target,
|
||||
] },
|
||||
|
||||
},
|
||||
}
|
134
ops/monitoring/lib/grafonnet/panel/table.libsonnet
Normal file
134
ops/monitoring/lib/grafonnet/panel/table.libsonnet
Normal file
|
@ -0,0 +1,134 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
datasource='default',
|
||||
description=null,
|
||||
repeat=null,
|
||||
repeatDirection=null,
|
||||
title=null,
|
||||
transparent=false,
|
||||
):: {
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if description != null then 'description']: description,
|
||||
[if repeat != null then 'repeat']: repeat,
|
||||
[if repeatDirection != null then 'repeatDirection']: repeatDirection,
|
||||
[if title != null then 'title']: title,
|
||||
[if transparent != null then 'transparent']: transparent,
|
||||
type: 'table',
|
||||
|
||||
setFieldConfig(
|
||||
displayName=null,
|
||||
max=0,
|
||||
min=0,
|
||||
thresholdMode='absolute',
|
||||
noValue=null,
|
||||
unit='short',
|
||||
width=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { [if displayName != null then 'displayName']: displayName } } }
|
||||
+ { fieldConfig+: { defaults+: { [if max != null then 'max']: max } } }
|
||||
+ { fieldConfig+: { defaults+: { [if min != null then 'min']: min } } }
|
||||
+ { fieldConfig+: { defaults+: { thresholds+: { [if thresholdMode != null then 'mode']: thresholdMode } } } }
|
||||
+ { fieldConfig+: { defaults+: { [if noValue != null then 'noValue']: noValue } } }
|
||||
+ { fieldConfig+: { defaults+: { [if unit != null then 'unit']: unit } } }
|
||||
+ { fieldConfig+: { defaults+: { custom+: { [if width != null then 'width']: width } } } }
|
||||
,
|
||||
|
||||
setGridPos(
|
||||
h=8,
|
||||
w=12,
|
||||
x=null,
|
||||
y=null,
|
||||
):: self {}
|
||||
+ { gridPos+: { [if h != null then 'h']: h } }
|
||||
+ { gridPos+: { [if w != null then 'w']: w } }
|
||||
+ { gridPos+: { [if x != null then 'x']: x } }
|
||||
+ { gridPos+: { [if y != null then 'y']: y } }
|
||||
,
|
||||
|
||||
setOptions(
|
||||
showHeader=true,
|
||||
):: self {}
|
||||
+ { options+: { [if showHeader != null then 'showHeader']: showHeader } }
|
||||
,
|
||||
|
||||
|
||||
addDataLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] } } },
|
||||
|
||||
addPanelLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] },
|
||||
|
||||
addMapping(
|
||||
from=null,
|
||||
id=null,
|
||||
operator=null,
|
||||
text=null,
|
||||
to=null,
|
||||
type=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { mappings+: [
|
||||
{
|
||||
[if from != null then 'from']: from,
|
||||
[if id != null then 'id']: id,
|
||||
[if operator != null then 'operator']: operator,
|
||||
[if text != null then 'text']: text,
|
||||
[if to != null then 'to']: to,
|
||||
[if type != null then 'type']: type,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } } },
|
||||
|
||||
addOverride(
|
||||
matcher=null,
|
||||
properties=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { overrides+: [
|
||||
{
|
||||
[if matcher != null then 'matcher']: matcher,
|
||||
[if properties != null then 'properties']: properties,
|
||||
},
|
||||
] } },
|
||||
|
||||
addThresholdStep(
|
||||
color=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { fieldConfig+: { defaults+: { thresholds+: { steps+: [
|
||||
{
|
||||
[if color != null then 'color']: color,
|
||||
[if value != null then 'value']: value,
|
||||
},
|
||||
] } } } },
|
||||
|
||||
addTarget(
|
||||
target
|
||||
):: self {}
|
||||
+ { targets+: [
|
||||
target,
|
||||
] },
|
||||
|
||||
},
|
||||
}
|
58
ops/monitoring/lib/grafonnet/panel/text.libsonnet
Normal file
58
ops/monitoring/lib/grafonnet/panel/text.libsonnet
Normal file
|
@ -0,0 +1,58 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
content=null,
|
||||
datasource='default',
|
||||
description=null,
|
||||
mode='markdown',
|
||||
repeat=null,
|
||||
repeatDirection=null,
|
||||
title=null,
|
||||
transparent=false,
|
||||
):: {
|
||||
[if content != null then 'content']: content,
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if description != null then 'description']: description,
|
||||
[if mode != null then 'mode']: mode,
|
||||
[if repeat != null then 'repeat']: repeat,
|
||||
[if repeatDirection != null then 'repeatDirection']: repeatDirection,
|
||||
[if title != null then 'title']: title,
|
||||
[if transparent != null then 'transparent']: transparent,
|
||||
type: 'text',
|
||||
|
||||
setGridPos(
|
||||
h=8,
|
||||
w=12,
|
||||
x=null,
|
||||
y=null,
|
||||
):: self {}
|
||||
+ { gridPos+: { [if h != null then 'h']: h } }
|
||||
+ { gridPos+: { [if w != null then 'w']: w } }
|
||||
+ { gridPos+: { [if x != null then 'x']: x } }
|
||||
+ { gridPos+: { [if y != null then 'y']: y } }
|
||||
,
|
||||
|
||||
|
||||
addPanelLink(
|
||||
targetBlank=true,
|
||||
title=null,
|
||||
url=null,
|
||||
):: self {}
|
||||
+ { links+: [
|
||||
{
|
||||
[if targetBlank != null then 'targetBlank']: targetBlank,
|
||||
[if title != null then 'title']: title,
|
||||
[if url != null then 'url']: url,
|
||||
},
|
||||
] },
|
||||
|
||||
addTarget(
|
||||
target
|
||||
):: self {}
|
||||
+ { targets+: [
|
||||
target,
|
||||
] },
|
||||
|
||||
},
|
||||
}
|
19
ops/monitoring/lib/grafonnet/target/prometheus.libsonnet
Normal file
19
ops/monitoring/lib/grafonnet/target/prometheus.libsonnet
Normal file
|
@ -0,0 +1,19 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
datasource='default',
|
||||
expr=null,
|
||||
format='time_series',
|
||||
interval=null,
|
||||
intervalFactor=null,
|
||||
legendFormat=null,
|
||||
):: {
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if expr != null then 'expr']: expr,
|
||||
[if format != null then 'format']: format,
|
||||
[if interval != null then 'interval']: interval,
|
||||
[if intervalFactor != null then 'intervalFactor']: intervalFactor,
|
||||
[if legendFormat != null then 'legendFormat']: legendFormat,
|
||||
},
|
||||
}
|
36
ops/monitoring/lib/grafonnet/template/datasource.libsonnet
Normal file
36
ops/monitoring/lib/grafonnet/template/datasource.libsonnet
Normal file
|
@ -0,0 +1,36 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
hide=0,
|
||||
includeAll=false,
|
||||
label=null,
|
||||
multi=false,
|
||||
name=null,
|
||||
query=null,
|
||||
refresh=1,
|
||||
regex=null,
|
||||
skipUrlSync=false,
|
||||
):: {
|
||||
[if hide != null then 'hide']: hide,
|
||||
[if includeAll != null then 'includeAll']: includeAll,
|
||||
[if label != null then 'label']: label,
|
||||
[if multi != null then 'multi']: multi,
|
||||
[if name != null then 'name']: name,
|
||||
[if query != null then 'query']: query,
|
||||
[if refresh != null then 'refresh']: refresh,
|
||||
[if regex != null then 'regex']: regex,
|
||||
[if skipUrlSync != null then 'skipUrlSync']: skipUrlSync,
|
||||
type: 'datasource',
|
||||
|
||||
setCurrent(
|
||||
selected=false,
|
||||
text=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { current+: { [if selected != null then 'selected']: selected } }
|
||||
+ { current+: { [if text != null then 'text']: text } }
|
||||
+ { current+: { [if value != null then 'value']: value } },
|
||||
|
||||
},
|
||||
}
|
52
ops/monitoring/lib/grafonnet/template/query.libsonnet
Normal file
52
ops/monitoring/lib/grafonnet/template/query.libsonnet
Normal file
|
@ -0,0 +1,52 @@
|
|||
// This file was generated by https://github.com/grafana/dashboard-spec
|
||||
|
||||
{
|
||||
new(
|
||||
allValue=null,
|
||||
datasource=null,
|
||||
definition=null,
|
||||
hide=0,
|
||||
includeAll=false,
|
||||
label=null,
|
||||
multi=false,
|
||||
name=null,
|
||||
query=null,
|
||||
refresh=0,
|
||||
regex=null,
|
||||
skipUrlSync=false,
|
||||
sort=0,
|
||||
tagValuesQuery=null,
|
||||
tags=null,
|
||||
tagsQuery=null,
|
||||
useTags=false,
|
||||
):: {
|
||||
[if allValue != null then 'allValue']: allValue,
|
||||
[if datasource != null then 'datasource']: datasource,
|
||||
[if definition != null then 'definition']: definition,
|
||||
[if hide != null then 'hide']: hide,
|
||||
[if includeAll != null then 'includeAll']: includeAll,
|
||||
[if label != null then 'label']: label,
|
||||
[if multi != null then 'multi']: multi,
|
||||
[if name != null then 'name']: name,
|
||||
[if query != null then 'query']: query,
|
||||
[if refresh != null then 'refresh']: refresh,
|
||||
[if regex != null then 'regex']: regex,
|
||||
[if skipUrlSync != null then 'skipUrlSync']: skipUrlSync,
|
||||
[if sort != null then 'sort']: sort,
|
||||
[if tagValuesQuery != null then 'tagValuesQuery']: tagValuesQuery,
|
||||
[if tags != null then 'tags']: tags,
|
||||
[if tagsQuery != null then 'tagsQuery']: tagsQuery,
|
||||
[if useTags != null then 'useTags']: useTags,
|
||||
type: 'query',
|
||||
|
||||
setCurrent(
|
||||
selected=null,
|
||||
text=null,
|
||||
value=null,
|
||||
):: self {}
|
||||
+ { current+: { [if selected != null then 'selected']: selected } }
|
||||
+ { current+: { [if text != null then 'text']: text } }
|
||||
+ { current+: { [if value != null then 'value']: value } },
|
||||
|
||||
},
|
||||
}
|
Loading…
Reference in a new issue