mirror of
https://github.com/prometheus/node_exporter.git
synced 2024-12-24 11:19:59 +01:00
61 lines
1.2 KiB
Plaintext
61 lines
1.2 KiB
Plaintext
|
local grafana = import 'grafonnet/grafana.libsonnet';
|
||
|
local singlestat = grafana.singlestat;
|
||
|
local prometheus = grafana.prometheus;
|
||
|
|
||
|
{
|
||
|
new(title, query)::
|
||
|
singlestat.new(
|
||
|
title,
|
||
|
datasource='prometheus',
|
||
|
span=3,
|
||
|
format='percent',
|
||
|
valueName='current',
|
||
|
colors=[
|
||
|
'rgba(245, 54, 54, 0.9)',
|
||
|
'rgba(237, 129, 40, 0.89)',
|
||
|
'rgba(50, 172, 45, 0.97)',
|
||
|
],
|
||
|
thresholds='50, 80',
|
||
|
valueMaps=[
|
||
|
{
|
||
|
op: '=',
|
||
|
text: 'N/A',
|
||
|
value: 'null',
|
||
|
},
|
||
|
],
|
||
|
)
|
||
|
.addTarget(
|
||
|
prometheus.target(
|
||
|
query
|
||
|
)
|
||
|
) + {
|
||
|
gauge: {
|
||
|
maxValue: 100,
|
||
|
minValue: 0,
|
||
|
show: true,
|
||
|
thresholdLabels: false,
|
||
|
thresholdMarkers: true,
|
||
|
},
|
||
|
withTextNullValue(text):: self {
|
||
|
valueMaps: [
|
||
|
{
|
||
|
op: '=',
|
||
|
text: text,
|
||
|
value: 'null',
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
withSpanSize(size):: self {
|
||
|
span: size,
|
||
|
},
|
||
|
withLowerBeingBetter():: self {
|
||
|
colors: [
|
||
|
'rgba(50, 172, 45, 0.97)',
|
||
|
'rgba(237, 129, 40, 0.89)',
|
||
|
'rgba(245, 54, 54, 0.9)',
|
||
|
],
|
||
|
thresholds: '80, 90',
|
||
|
},
|
||
|
},
|
||
|
}
|