Skip to content

Commit c8bfd23

Browse files
committed
Add remaining queries and panels from old dashboard
Signed-off-by: Joe Adams <[email protected]>
1 parent b625110 commit c8bfd23

9 files changed

+286
-112
lines changed

elasticsearch_mixin/dashboards/cluster.libsonnet

+20-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,26 @@ local variables = import './variables.libsonnet';
3939
row.new('Documents')
4040
+ row.withPanels([
4141
panels.timeSeries.base('Indexed Documents', queries.indexedDocuments),
42-
42+
panels.timeSeries.bytes('Index Size', queries.indexSize),
43+
panels.timeSeries.base('Index Rate', queries.indexRate),
44+
panels.timeSeries.base('Query Rate', queries.queryRate),
45+
panels.timeSeries.base('Queue Count', queries.queueCount),
46+
]),
47+
row.new('Memory')
48+
+ row.withPanels([
49+
panels.timeSeries.bytes('Memory Usage', queries.memoryUsage),
50+
panels.timeSeries.ratioMax1('Memory 15m Avg', queries.memoryUsageAverage15),
51+
panels.timeSeries.bytes('Memory Max', queries.memoryMax),
52+
panels.timeSeries.seconds('GC Rate', queries.gcSeconds),
53+
]),
54+
row.new('Threads')
55+
+ row.withPanels([
56+
panels.timeSeries.base('Thread Pools', queries.threadPoolActive),
57+
panels.timeSeries.base('Thread Pool Rejections', queries.threadPoolRejections),
58+
]),
59+
row.new('Network')
60+
+ row.withPanels([
61+
panels.timeSeries.bytes('Transport Rate', [queries.transportTXRate, queries.transportRXRate]),
4362
]),
4463
], panelWidth=4, panelHeight=3),
4564
),

elasticsearch_mixin/dashboards/panels.libsonnet

+10-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ local g = import 'g.libsonnet';
2424

2525
ratioMax1(title, targets):
2626
self.ratio(title, targets)
27-
+ timeSeries.standardOptions.withMax(1),
27+
+ timeSeries.standardOptions.withMax(1)
28+
+ timeSeries.standardOptions.withMin(0),
29+
30+
bytes(title, targets):
31+
self.base(title, targets)
32+
+ timeSeries.standardOptions.withUnit('bytes'),
33+
34+
seconds(title, targets):
35+
self.base(title, targets)
36+
+ timeSeries.standardOptions.withUnit('s'),
2837
},
2938
}

elasticsearch_mixin/dashboards/queries.libsonnet

+6-110
Original file line numberDiff line numberDiff line change
@@ -3,113 +3,9 @@ local prometheusQuery = g.query.prometheus;
33

44
local variables = import './variables.libsonnet';
55

6-
{
7-
/*
8-
General overview queries
9-
*/
10-
11-
runningNodes:
12-
prometheusQuery.new(
13-
'$' + variables.datasource.name,
14-
|||
15-
sum(
16-
elasticsearch_cluster_health_number_of_nodes{cluster=~"$cluster"}
17-
)
18-
|||
19-
),
20-
dataNodes:
21-
prometheusQuery.new(
22-
'$' + variables.datasource.name,
23-
|||
24-
sum(
25-
elasticsearch_cluster_health_number_of_data_nodes{cluster=~"$cluster"}
26-
)
27-
|||
28-
),
29-
30-
pendingTasks:
31-
prometheusQuery.new(
32-
'$' + variables.datasource.name,
33-
|||
34-
sum(
35-
elasticsearch_cluster_health_number_of_pending_tasks{cluster=~"$cluster"}
36-
)
37-
|||
38-
),
39-
40-
/*
41-
Shard queries
42-
*/
43-
44-
activeShards:
45-
prometheusQuery.new(
46-
'$' + variables.datasource.name,
47-
|||
48-
sum(
49-
elasticsearch_cluster_health_active_shards{cluster=~"$cluster"}
50-
)
51-
|||
52-
),
53-
54-
activePrimaryShards:
55-
prometheusQuery.new(
56-
'$' + variables.datasource.name,
57-
|||
58-
sum(
59-
elasticsearch_cluster_health_active_primary_shards{cluster=~"$cluster"}
60-
)
61-
|||
62-
),
63-
64-
initializingShards:
65-
prometheusQuery.new(
66-
'$' + variables.datasource.name,
67-
|||
68-
sum(
69-
elasticsearch_cluster_health_initializing_shards{cluster=~"$cluster"}
70-
)
71-
|||
72-
),
73-
74-
reloactingShards:
75-
prometheusQuery.new(
76-
'$' + variables.datasource.name,
77-
|||
78-
sum(
79-
elasticsearch_cluster_health_reloacting_shards{cluster=~"$cluster"}
80-
)
81-
|||
82-
),
83-
84-
unassignedShards:
85-
prometheusQuery.new(
86-
'$' + variables.datasource.name,
87-
|||
88-
sum(
89-
elasticsearch_cluster_health_unassigned_shards{cluster=~"$cluster"}
90-
)
91-
|||
92-
),
93-
94-
delayedUnassignedShards:
95-
prometheusQuery.new(
96-
'$' + variables.datasource.name,
97-
|||
98-
sum(
99-
elasticsearch_cluster_health_delayed_unassigned_shards{cluster=~"$cluster"}
100-
)
101-
|||
102-
),
103-
104-
/*
105-
Documents queries
106-
*/
107-
108-
indexedDocuments:
109-
prometheusQuery.new(
110-
'$' + variables.datasource.name,
111-
|||
112-
elasticsearch_indices_docs{cluster=~"$cluster"}
113-
|||
114-
),
115-
}
6+
(import './queries/general.libsonnet') +
7+
(import './queries/shard.libsonnet') +
8+
(import './queries/document.libsonnet') +
9+
(import './queries/memory.libsonnet') +
10+
(import './queries/threads.libsonnet') +
11+
(import './queries/network.libsonnet')
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
local g = import '../g.libsonnet';
2+
local prometheusQuery = g.query.prometheus;
3+
4+
local variables = import '../variables.libsonnet';
5+
6+
{
7+
indexedDocuments:
8+
prometheusQuery.new(
9+
'$' + variables.datasource.name,
10+
|||
11+
elasticsearch_indices_docs{cluster=~"$cluster"}
12+
|||
13+
),
14+
15+
indexSize:
16+
prometheusQuery.new(
17+
'$' + variables.datasource.name,
18+
|||
19+
elasticsearch_indices_store_size_bytes{cluster=~"$cluster"}
20+
|||
21+
),
22+
23+
indexRate:
24+
prometheusQuery.new(
25+
'$' + variables.datasource.name,
26+
|||
27+
rate(elasticsearch_indices_indexing_index_total{cluster=~"$cluster"}[$__rate_interval])
28+
|||
29+
)
30+
+ prometheusQuery.withLegendFormat('{{name}}'),
31+
32+
queryRate:
33+
prometheusQuery.new(
34+
'$' + variables.datasource.name,
35+
|||
36+
rate(elasticsearch_indices_search_query_total{cluster=~"$cluster"}[$__rate_interval])
37+
|||
38+
)
39+
+ prometheusQuery.withLegendFormat('{{name}}'),
40+
41+
queueCount:
42+
prometheusQuery.new(
43+
'$' + variables.datasource.name,
44+
|||
45+
sum(elasticsearch_thread_pool_queue_count{cluster=~"$cluster",type!="management"}) by (type)
46+
|||
47+
)
48+
+ prometheusQuery.withLegendFormat('{{type}}'),
49+
50+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
local g = import '../g.libsonnet';
2+
local prometheusQuery = g.query.prometheus;
3+
4+
local variables = import '../variables.libsonnet';
5+
6+
{
7+
runningNodes:
8+
prometheusQuery.new(
9+
'$' + variables.datasource.name,
10+
|||
11+
sum(
12+
elasticsearch_cluster_health_number_of_nodes{cluster=~"$cluster"}
13+
)
14+
|||
15+
),
16+
dataNodes:
17+
prometheusQuery.new(
18+
'$' + variables.datasource.name,
19+
|||
20+
sum(
21+
elasticsearch_cluster_health_number_of_data_nodes{cluster=~"$cluster"}
22+
)
23+
|||
24+
),
25+
26+
pendingTasks:
27+
prometheusQuery.new(
28+
'$' + variables.datasource.name,
29+
|||
30+
sum(
31+
elasticsearch_cluster_health_number_of_pending_tasks{cluster=~"$cluster"}
32+
)
33+
|||
34+
),
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
local g = import '../g.libsonnet';
2+
local prometheusQuery = g.query.prometheus;
3+
4+
local variables = import '../variables.libsonnet';
5+
6+
{
7+
memoryUsage:
8+
prometheusQuery.new(
9+
'$' + variables.datasource.name,
10+
|||
11+
elasticsearch_jvm_memory_used_bytes{cluster=~"$cluster"}
12+
|||
13+
)
14+
+ prometheusQuery.withLegendFormat('{{name}} {{area}}'),
15+
16+
memoryUsageAverage15:
17+
prometheusQuery.new(
18+
'$' + variables.datasource.name,
19+
|||
20+
avg_over_time(
21+
elasticsearch_jvm_memory_used_bytes{cluster=~"$cluster"}[15m]
22+
) /
23+
elasticsearch_jvm_memory_max_bytes{cluster=~"$cluster"}
24+
|||
25+
)
26+
+ prometheusQuery.withLegendFormat('{{name}} {{area}}'),
27+
28+
memoryMax:
29+
prometheusQuery.new(
30+
'$' + variables.datasource.name,
31+
|||
32+
elasticsearch_jvm_memory_max_bytes{cluster=~"$cluster"}
33+
|||
34+
)
35+
+ prometheusQuery.withLegendFormat('{{name}} {{area}}'),
36+
37+
gcSeconds:
38+
prometheusQuery.new(
39+
'$' + variables.datasource.name,
40+
|||
41+
rate(
42+
elasticsearch_jvm_gc_collection_seconds_sum{cluster=~"$cluster"}[$__rate_interval]
43+
)
44+
|||
45+
)
46+
+ prometheusQuery.withLegendFormat('{{name}} {{gc}}'),
47+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
local g = import '../g.libsonnet';
2+
local prometheusQuery = g.query.prometheus;
3+
4+
local variables = import '../variables.libsonnet';
5+
6+
{
7+
transportTXRate:
8+
prometheusQuery.new(
9+
'$' + variables.datasource.name,
10+
|||
11+
rate(
12+
elasticsearch_transport_rx_size_bytes_total{cluster=~"$cluster"}[$__rate_interval]
13+
)
14+
|||
15+
)
16+
+ prometheusQuery.withLegendFormat('{{name}} TX'),
17+
18+
transportRXRate:
19+
prometheusQuery.new(
20+
'$' + variables.datasource.name,
21+
|||
22+
rate(
23+
elasticsearch_transport_tx_size_bytes_total{cluster=~"$cluster"}[$__rate_interval]
24+
)
25+
|||
26+
)
27+
+ prometheusQuery.withLegendFormat('{{name}} RX'),
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
local g = import '../g.libsonnet';
2+
local prometheusQuery = g.query.prometheus;
3+
4+
local variables = import '../variables.libsonnet';
5+
6+
{
7+
activeShards:
8+
prometheusQuery.new(
9+
'$' + variables.datasource.name,
10+
|||
11+
sum(
12+
elasticsearch_cluster_health_active_shards{cluster=~"$cluster"}
13+
)
14+
|||
15+
),
16+
17+
activePrimaryShards:
18+
prometheusQuery.new(
19+
'$' + variables.datasource.name,
20+
|||
21+
sum(
22+
elasticsearch_cluster_health_active_primary_shards{cluster=~"$cluster"}
23+
)
24+
|||
25+
),
26+
27+
initializingShards:
28+
prometheusQuery.new(
29+
'$' + variables.datasource.name,
30+
|||
31+
sum(
32+
elasticsearch_cluster_health_initializing_shards{cluster=~"$cluster"}
33+
)
34+
|||
35+
),
36+
37+
reloactingShards:
38+
prometheusQuery.new(
39+
'$' + variables.datasource.name,
40+
|||
41+
sum(
42+
elasticsearch_cluster_health_reloacting_shards{cluster=~"$cluster"}
43+
)
44+
|||
45+
),
46+
47+
unassignedShards:
48+
prometheusQuery.new(
49+
'$' + variables.datasource.name,
50+
|||
51+
sum(
52+
elasticsearch_cluster_health_unassigned_shards{cluster=~"$cluster"}
53+
)
54+
|||
55+
),
56+
57+
delayedUnassignedShards:
58+
prometheusQuery.new(
59+
'$' + variables.datasource.name,
60+
|||
61+
sum(
62+
elasticsearch_cluster_health_delayed_unassigned_shards{cluster=~"$cluster"}
63+
)
64+
|||
65+
),
66+
}

0 commit comments

Comments
 (0)