forked from grafana/jsonnet-libs
-
Notifications
You must be signed in to change notification settings - Fork 1
/
dashboards.libsonnet
93 lines (92 loc) · 3.98 KB
/
dashboards.libsonnet
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
local g = (import 'grafana-builder/grafana.libsonnet');
{
grafanaDashboards+: {
'memcached-overview.json':
(
g.dashboard('Memcached Overview') +
{ uid: '124d5222454213f748dbfaf69b77ec48' }
)
.addMultiTemplate('cluster', 'memcached_commands_total', 'cluster')
.addMultiTemplate('job', 'memcached_commands_total{cluster=~"$cluster"}', 'job')
.addMultiTemplate('instance', 'memcached_commands_total{cluster=~"$cluster",job=~"$job"}', 'instance')
.addRow(
g.row('Hits')
.addPanel(
g.panel('Hit Rate') +
g.queryPanel('sum(rate(memcached_commands_total{cluster=~"$cluster", job=~"$job", instance=~"$instance", command="get", status="hit"}[1m])) / sum(rate(memcached_commands_total{cluster=~"$cluster", job=~"$job", command="get"}[1m]))', 'Hit Rate') +
{ yaxes: g.yaxes('percentunit') },
)
)
.addRow(
g.row('Ops')
.addPanel(
g.panel('Commands') +
g.queryPanel('sum without (job, instance) (rate(memcached_commands_total{cluster=~"$cluster", job=~"$job", instance=~"$instance"}[1m]))', '{{command}} {{status}}')
)
.addPanel(
g.panel('Evictions') +
g.queryPanel('sum without (job) (rate(memcached_items_evicted_total{cluster=~"$cluster", job=~"$job", instance=~"$instance"}[1m]))', '{{instance}}')
)
.addPanel(
g.panel('Stored') +
g.queryPanel('sum without (job) (rate(memcached_items_total{cluster=~"$cluster", job=~"$job", instance=~"$instance"}[1m]))', '{{instance}}')
)
)
.addRow(
g.row('Memory')
.addPanel(
g.panel('Memory') +
g.queryPanel('sum without (job) (memcached_current_bytes{cluster=~"$cluster", job=~"$job", instance=~"$instance"})', '{{instance}}') +
g.stack +
{ yaxes: g.yaxes('bytes') },
// TODO add memcached_limit_bytes
)
.addPanel(
g.panel('Items') +
g.queryPanel('sum without (job) (memcached_current_items{cluster=~"$cluster", job=~"$job", instance=~"$instance"})', '{{instance}}') +
g.stack,
)
)
.addRow(
g.row('Network')
.addPanel(
g.panel('Connections') +
g.queryPanel([
'sum without (job) (rate(memcached_connections_total{cluster=~"$cluster", job=~"$job", instance=~"$instance"}[1m]))',
'sum without (job) (memcached_current_connections{cluster=~"$cluster", job=~"$job", instance=~"$instance"})',
'sum without (job) (memcached_max_connections{cluster=~"$cluster", job=~"$job", instance=~"$instance"})',
], [
'{{instance}} - Connection Rate',
'{{instance}} - Current Connrections',
'{{instance}} - Max Connections',
])
)
.addPanel(
g.panel('Reads') +
g.queryPanel('sum without (job) (rate(memcached_read_bytes_total{cluster=~"$cluster", job=~"$job", instance=~"$instance"}[1m]))', '{{instance}}') +
{ yaxes: g.yaxes('bps') },
)
.addPanel(
g.panel('Writes') +
g.queryPanel('sum without (job) (rate(memcached_written_bytes_total{cluster=~"$cluster", job=~"$job", instance=~"$instance"}[1m]))', '{{instance}}') +
{ yaxes: g.yaxes('bps') },
)
)
.addRow(
g.row('Memcached Info')
.addPanel(
g.panel('Memcached Info') +
g.tablePanel([
'count by (job, instance, version) (memcached_version{cluster=~"$cluster", job=~"$job", instance=~"$instance"})',
'max by (job, instance) (memcached_uptime_seconds{cluster=~"$cluster", job=~"$job", instance=~"$instance"})',
], {
job: { alias: 'Job' },
instance: { alias: 'Instance' },
version: { alias: 'Version' },
'Value #A': { alias: 'Count', type: 'hidden' },
'Value #B': { alias: 'Uptime', type: 'number', unit: 'dtdurations' },
})
)
),
},
}