3a6df3b544
This removes the default dashboards from the Grafana chart and instead places them in the values_overrides directory, similar to what was done for the Prometheus rules. As Grafana dashboards will likely be heavily dependent upon end-user needs, the old default dashboard configs should only be used as a reference instead of opinionated defaults that are difficult to override. The previous defaults made using specialized labels for dashboard variables difficult, as they were making dangerous assumptions about deployed namespaces and host fqdns. By removing the defaults entirely, end users can define their own dashboards to meet their specialized needs Change-Id: I7def8df68371deda0b75a685363c8a73b818dd45 Signed-off-by: Steve Wilkerson <sw5822@att.com>
620 lines
15 KiB
YAML
620 lines
15 KiB
YAML
# NOTE(srwilkers): This overrides file provides a reference for a dashboard for
|
|
# nginx
|
|
conf:
|
|
dashboards:
|
|
nginx_stats:
|
|
__inputs:
|
|
- name: prometheus
|
|
label: prometheus
|
|
description: ''
|
|
type: datasource
|
|
pluginId: prometheus
|
|
pluginName: Prometheus
|
|
__requires:
|
|
- type: grafana
|
|
id: grafana
|
|
name: Grafana
|
|
version: 4.5.2
|
|
- type: panel
|
|
id: graph
|
|
name: Graph
|
|
version: ''
|
|
- type: datasource
|
|
id: prometheus
|
|
name: Prometheus
|
|
version: 1.0.0
|
|
annotations:
|
|
list: []
|
|
description: Show stats from the hnlq715/nginx-vts-exporter.
|
|
editable: true
|
|
gnetId: 2949
|
|
graphTooltip: 0
|
|
hideControls: false
|
|
id:
|
|
links: []
|
|
refresh: 5m
|
|
rows:
|
|
- collapse: false
|
|
height: 250
|
|
panels:
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 7
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 12
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(nginx_upstream_responses_total{upstream=~"^$Upstream$"}) by (status_code,
|
|
upstream)
|
|
format: time_series
|
|
interval: ''
|
|
intervalFactor: 2
|
|
legendFormat: "{{ status_code }}.{{ upstream }}"
|
|
metric: nginx_upstream_response
|
|
refId: A
|
|
step: 4
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: HTTP Response Codes by Upstream
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
repeat:
|
|
repeatIteration:
|
|
repeatRowId:
|
|
showTitle: false
|
|
title: Dashboard Row
|
|
titleSize: h6
|
|
- collapse: false
|
|
height: 250
|
|
panels:
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 6
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 6
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(irate(nginx_upstream_requests_total{upstream=~"^$Upstream$"}[5m]))
|
|
by (upstream)
|
|
format: time_series
|
|
interval: ''
|
|
intervalFactor: 2
|
|
legendFormat: "{{ upstream }}"
|
|
metric: nginx_upstream_requests
|
|
refId: A
|
|
step: 10
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: Upstream Requests rate
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 5
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 6
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(irate(nginx_upstream_bytes_total{upstream=~"^$Upstream$"}[5m])) by
|
|
(direction, upstream)
|
|
format: time_series
|
|
interval: ''
|
|
intervalFactor: 2
|
|
legendFormat: "{{ direction }}.{{ upstream }}"
|
|
metric: nginx_upstream_bytes
|
|
refId: A
|
|
step: 10
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: Upstream Bytes Transfer rate
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
repeat:
|
|
repeatIteration:
|
|
repeatRowId:
|
|
showTitle: false
|
|
title: Dashboard Row
|
|
titleSize: h6
|
|
- collapse: false
|
|
height: 250px
|
|
panels:
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 1
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 6
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(irate(nginx_connections_total[5m])) by (type)
|
|
format: time_series
|
|
intervalFactor: 2
|
|
legendFormat: "{{ type }}"
|
|
metric: nginx_server_connections
|
|
refId: A
|
|
step: 10
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: Overall Connections rate
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 4
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 6
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(irate(nginx_cache_total{ server_zone=~"$ingress"}[5m])) by (server_zone,
|
|
type)
|
|
format: time_series
|
|
interval: ''
|
|
intervalFactor: 2
|
|
legendFormat: "{{ type }}.{{ server_zone }}"
|
|
metric: nginx_server_cache
|
|
refId: A
|
|
step: 10
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: Cache Action rate
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min: '0'
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
repeat:
|
|
repeatIteration:
|
|
repeatRowId:
|
|
showTitle: false
|
|
title: Dashboard Row
|
|
titleSize: h6
|
|
- collapse: false
|
|
height: 250
|
|
panels:
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 3
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 6
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(irate(nginx_requests_total{ server_zone=~"$ingress" }[5m])) by (server_zone)
|
|
format: time_series
|
|
interval: ''
|
|
intervalFactor: 2
|
|
legendFormat: "{{ server_zone }}"
|
|
metric: nginx_server_requests
|
|
refId: A
|
|
step: 10
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: Overall Requests rate
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
- aliasColors: {}
|
|
bars: false
|
|
dashLength: 10
|
|
dashes: false
|
|
datasource: "${DS_PROMETHEUS}"
|
|
fill: 1
|
|
id: 2
|
|
legend:
|
|
avg: false
|
|
current: false
|
|
max: false
|
|
min: false
|
|
show: true
|
|
total: false
|
|
values: false
|
|
lines: true
|
|
linewidth: 1
|
|
links: []
|
|
nullPointMode: 'null'
|
|
percentage: false
|
|
pointradius: 5
|
|
points: false
|
|
renderer: flot
|
|
seriesOverrides: []
|
|
spaceLength: 10
|
|
span: 6
|
|
stack: false
|
|
steppedLine: false
|
|
targets:
|
|
- expr: sum(irate(nginx_bytes_total{ server_zone=~"$ingress" }[5m])) by (direction,
|
|
server_zone)
|
|
format: time_series
|
|
intervalFactor: 2
|
|
legendFormat: "{{ direction }}.{{ server_zone }}"
|
|
metric: nginx_server_bytes
|
|
refId: A
|
|
step: 10
|
|
thresholds: []
|
|
timeFrom:
|
|
timeShift:
|
|
title: Overall Bytes Transferred rate
|
|
tooltip:
|
|
msResolution: false
|
|
shared: true
|
|
sort: 0
|
|
value_type: individual
|
|
type: graph
|
|
xaxis:
|
|
buckets:
|
|
mode: time
|
|
name:
|
|
show: true
|
|
values: []
|
|
yaxes:
|
|
- format: bytes
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min: '0'
|
|
show: true
|
|
- format: short
|
|
label:
|
|
logBase: 1
|
|
max:
|
|
min:
|
|
show: true
|
|
repeat:
|
|
repeatIteration:
|
|
repeatRowId:
|
|
showTitle: false
|
|
title: Dashboard Row
|
|
titleSize: h6
|
|
schemaVersion: 14
|
|
style: dark
|
|
tags:
|
|
- prometheus
|
|
- nginx
|
|
templating:
|
|
list:
|
|
- current:
|
|
text: Prometheus
|
|
value: Prometheus
|
|
hide: 0
|
|
label: Prometheus datasource
|
|
name: DS_PROMETHEUS
|
|
options: []
|
|
query: prometheus
|
|
refresh: 1
|
|
regex: ''
|
|
type: datasource
|
|
- allValue: ".*"
|
|
current: {}
|
|
datasource: "${DS_PROMETHEUS}"
|
|
hide: 0
|
|
includeAll: false
|
|
label:
|
|
multi: true
|
|
name: Upstream
|
|
options: []
|
|
query: label_values(nginx_upstream_bytes_total, upstream)
|
|
refresh: 1
|
|
regex: ''
|
|
sort: 1
|
|
tagValuesQuery: ''
|
|
tags: []
|
|
tagsQuery: ''
|
|
type: query
|
|
useTags: false
|
|
- allValue:
|
|
current: {}
|
|
datasource: "${DS_PROMETHEUS}"
|
|
hide: 0
|
|
includeAll: false
|
|
label:
|
|
multi: true
|
|
name: ingress
|
|
options: []
|
|
query: label_values(nginx_bytes_total, server_zone)
|
|
refresh: 1
|
|
regex: "/^[^\\*_]+$/"
|
|
sort: 1
|
|
tagValuesQuery: ''
|
|
tags: []
|
|
tagsQuery: ''
|
|
type: query
|
|
useTags: false
|
|
time:
|
|
from: now-1h
|
|
to: now
|
|
timepicker:
|
|
refresh_intervals:
|
|
- 5s
|
|
- 10s
|
|
- 30s
|
|
- 1m
|
|
- 5m
|
|
- 15m
|
|
- 30m
|
|
- 1h
|
|
- 2h
|
|
- 1d
|
|
time_options:
|
|
- 5m
|
|
- 15m
|
|
- 1h
|
|
- 6h
|
|
- 12h
|
|
- 24h
|
|
- 2d
|
|
- 7d
|
|
- 30d
|
|
timezone: browser
|
|
title: Nginx Stats
|
|
version: 13
|