/
http.jsonnet
84 lines (82 loc) · 1.96 KB
/
http.jsonnet
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
local grafana = import 'grafonnet/grafana.libsonnet';
local dashboard = grafana.dashboard;
local timeseries_panel = import 'github.com/rhowe/grafonnet-lib/grafonnet/timeseries_panel.libsonnet';
local prometheus = grafana.prometheus;
// Logarithmic currently not working, so using std.mergePatch to modify type field.
local log_override = {
fieldConfig: {
defaults: {
custom: {
scaleDistribution: {
type: 'log',
},
},
},
},
};
dashboard.new(
'HTTP',
tags=['http'],
time_from='now-2h',
)
.addPanel(
std.mergePatch(timeseries_panel.new(
'Response Times',
graphStyle='points',
axisLogBase=2,
).addTarget(
prometheus.target(
'sum(increase(nginx_ingress_controller_response_duration_seconds_sum{status!~"1.."}[30s])) by (service) / sum(increase(nginx_ingress_controller_response_duration_seconds_count{status!~"1.."}[30s])) by (service)',
datasource='prometheus',
intervalFactor=1,
interval='30s',
legendFormat='{{service}}',
)
), log_override), gridPos={
x: 0,
y: 0,
w: 24,
h: 8,
}
)
.addPanel(
std.mergePatch(timeseries_panel.new(
'Status 200 Requests',
graphStyle='points',
axisLogBase=2,
).addTarget(
prometheus.target(
'sum(increase(nginx_ingress_controller_requests{status="200"}[30s])) by (service)',
datasource='prometheus',
intervalFactor=1,
interval='30s',
legendFormat='{{service}}',
)
), log_override), gridPos={
x: 0,
y: 1,
w: 24,
h: 8,
}
)
.addPanel(
std.mergePatch(timeseries_panel.new(
title='Status 5xx Requests',
graphStyle='points',
max=16,
axisLogBase=2,
).addTarget(
prometheus.target(
'increase(nginx_ingress_controller_requests{status=~"5.."}[30s])',
datasource='prometheus',
intervalFactor=1,
interval='10s',
legendFormat='{{service}} - {{status}}',
)
), log_override), gridPos={
x: 0,
y: 2,
w: 24,
h: 8,
}
)